> > > IBM is trying to find the answer to this but I thought I would throw ...
>
> > Tell me your link line, OS and compiler version.
> > And have you forgotten to include -bI:postgres.imp ?
>
> Bingo! I can't believe that IBM has been wrestling with this for a week.
> Part of the reason we are thinking of going with IBM is for the support.
Shared libs are obviously not their strong side :-)
Basically we are very happy with their RS6000's and AIX though.
> Here is my Makefile now. I'm not sure about that -lc there
> as I get duplicate symbol warnings but it appears to work fine.
they don't matter
> CFLAGS = -g -O0 -pipe -ansi -Wall -Wshadow -Wpointer-arith
gcc and not xlc :-) actually xlc produces faster code, but I don't think that makes a
noticeable difference.
> .o.so:
> ld -G -o $@ $< -L ${PGLIBDIR} -bI:/usr/local/pgsql/lib/postgres.imp \
> -bexpall -bnoentry -lc
Always use the compiler for linking instead of ld: gcc -Wl,-H512 -Wl,-bM:SRE -o $@ $< -L ${PGLIBDIR}
-bI:/usr/local/pgsql/lib/postgres.imp\-bexpall -bnoentry
You are not allowed to leave anything unresolved, thus do not use -G, or you won't notice
unresolved externals (-G includes -berok which you don't want at all).
Andreas