Re: Linker errors while creating a PostgreSQL C extension function.

From: Dmitry Igrishin <dmitigr(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Tal Glozman <glozmantal(at)gmail(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Linker errors while creating a PostgreSQL C extension function.
Date: 2018-08-19 16:52:10
Message-ID: CAAfz9KN2QVzpDvq5renau2rEQoE6hFKscWRu+-5CCSe_0qiXsA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

вс, 19 авг. 2018 г. в 17:54, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
>
> Dmitry Igrishin <dmitigr(at)gmail(dot)com> writes:
> > вс, 19 авг. 2018 г. в 16:20, TalGloz <glozmantal(at)gmail(dot)com>:
> >> I'll try it later when I'm home. Is there a reason that you are linking like
> >> this
> >> $(CXX) -Wl,--no-undefined -shared -o seal_diff_cpp.so $(LDFLAGS) $(LDLIBS)
> >> seal_diff_cpp.o
> >> And not like this?
> >> $(CXX) -Wl,--no-undefined -shared -o seal_diff_cpp.so seal_diff_cpp.o
> >> $(LDFLAGS) $(LDLIBS)
>
> > If I recall correctly there were some problems with ordering arguments
> > of the linker that are specified upon calling g++.
>
> You're creating such problems, not solving them, if you put the library
> first. Particularly with .a-style libraries, you *must* list the
> referencing .o file first, or the linker will deem the library
> unreferenced and unnecessary.
Ah, I thought just the opposite :-) ! Since I use CMake I forget this
subtlety. Thank you for pointing this out!

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Daniel Verite 2018-08-19 16:59:14 Re: Linker errors while creating a PostgreSQL C extension function.
Previous Message TalGloz 2018-08-19 15:10:55 Re: Linker errors while creating a PostgreSQL C extension function.