Re: Explicit LOAD and dynamic library loading

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Explicit LOAD and dynamic library loading
Дата
Msg-id 22065.1371134290@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Explicit LOAD and dynamic library loading  (Stephen Scheck <singularsyntax@gmail.com>)
Ответы Re: Explicit LOAD and dynamic library loading  (Stephen Scheck <singularsyntax@gmail.com>)
Список pgsql-general
Stephen Scheck <singularsyntax@gmail.com> writes:
> [postgres@dev1 lib]$ ldd bar.so
>         linux-vdso.so.1 =>  (0x00007fff1c7ff000)
>         libc.so.6 => /lib64/libc.so.6 (0x00007fa4c96ac000)
>         /lib64/ld-linux-x86-64.so.2 (0x00007fa4c9c5d000)

So you're missing any reference to foo.so; not surprising it fails.
You need to make sure that "-lfoo" or something similar gets into the
link command for bar.so.  You might still have some rpath issues after
that, but right now the runtime linker doesn't even know it should be
loading foo.so.

> After digging into the PGXS docs a bit more, I think if I change the
> Makefile a bit this may work:

> MODULES = foo bar
> MODULE_big = bar
> OBJS = bar.o
> SHLIB_LINK = foo.o

Oh, you're trying to build two separate shlibs in one Makefile?  I don't
think that our Makefile infrastructure is smart enough to handle that,
at least not if cross-references are required.  You'd probably be well
advised to split them into two separate source-code directories.

Another question worth asking yourself, if you are building like this,
is why you're bothering with two .so's at all.  Is there a strong reason
not to just make them into one library?

            regards, tom lane


В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Why hash join cost calculation need reduction
Следующее
От: Stephen Scheck
Дата:
Сообщение: Re: Explicit LOAD and dynamic library loading