Re: Bug in Makefile.shlib

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: ohp(at)pyrenet(dot)fr
Cc: Larry Rosenman <ler(at)lerctr(dot)org>, pgsql-hackers list <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Bug in Makefile.shlib
Date: 2002-09-04 21:14:13
Message-ID: 9192.1031174053@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Olivier PRENANT <ohp(at)pyrenet(dot)fr> writes:
> The problem is that at link time, ld complains about text segment beeing
> written to in Dynaloader.
> I agree this sounded stupid. But I can't think of something else.
> This is with perl-5.6.1 FWIW

Ah. This is a bug in Perl's build process: even if you request a shared
library, it builds DynaLoader as static code. My own notes about
installing perl 5.6.1 on HPUX read:

make
fix DynaLoader.o per below
make test
make install

At least in 5.6.1, even with "build shared" request, DynaLoader.o is not
made with +z, which will cause plperl to fail. To fix, simply go into
perl-5.6.1/ext/DynaLoader, rm DynaLoader.o, and "make". I wonder why
toplevel makefile thinks it's okay to build DynaLoader static??

I'm just now in the middle of installing Perl 5.8.0, and it seems that
the oversight has been fixed; DynaLoader is now built sharable:

cc -c -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -DDEBUGGING -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -DVERSION=\"1.04\" -DXS_VERSION=\"1.04\" +Z "-I../.." -DPERL_CORE -DLIBC="/lib/libc.sl" DynaLoader.c

There seem to be some other problems --- 7.2 plperl dumps core for me
even with the above fix. Still looking into that (I'm sorta hoping that
5.8.0 will fix it, but won't know for a little while...)

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephan Szabo 2002-09-04 21:51:30 Re: locking of referenced table during constraint construction
Previous Message Scott Shattuck 2002-09-04 21:11:42 locking of referenced table during constraint construction