On Tue, Aug 05, 2003 at 09:24:14AM +0200, Stas Bekman wrote: > >apr-ext/uuid..../usr/bin/perl: relocation error: > >/usr/src/packages/BUILD/mod_perl-1.99_09_20030803/t/../blib/arch/auto/APR/UUID/UUID.so: > > undefined symbol: apr_uuid_parse > >1..3 > > That probably means that APR.so is not linked against libapr and > libaprutil. Can you please send the output of: > > ldd blib/arch/auto/APR/APR.so
# ldd blib/arch/auto/APR/APR.so
libc.so.6 => /lib/libc.so.6 (0x40005000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
> I suppose this doesn't work too:
>
> perl -Mblib -MAPR -MAPR::UUID -le 'print APR::UUID->new->format'
>
> (from the build dir)
Right, same error.
> Mine is:
>
> ldd blib/arch/Apache2/auto/APR/APR.so
> libapr-0.so.0 => /home/stas/httpd/prefork/lib/libapr-0.so.0
> (0x40003000)
> libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40021000)
> librt.so.1 => /lib/i686/librt.so.1 (0x40072000)
> libm.so.6 => /lib/i686/libm.so.6 (0x40084000)
> libcrypt.so.1 => /lib/libcrypt.so.1 (0x400a7000)
> libnsl.so.1 => /lib/libnsl.so.1 (0x400d4000)
> libdl.so.2 => /lib/libdl.so.2 (0x400e8000)
> libaprutil-0.so.0 => /home/stas/httpd/prefork/lib/libaprutil-0.so.0
> (0x400ec000)
> libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x40102000)
> libdb-4.0.so => /usr/lib/libdb-4.0.so (0x40108000)
> libexpat.so.0 => /home/stas/httpd/prefork/lib/libexpat.so.0
> (0x401b5000)
> libc.so.6 => /lib/i686/libc.so.6 (0x401d1000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
Looks better ;)
The relevant part of the build log is this:
make[3]: Entering directory
`/usr/src/packages/BUILD/mod_perl-1.99_09_20030803/xs/APR/APR'
cp APR.pm ../../../blib/lib/APR.pm
/usr/bin/perl /usr/lib/perl5/5.8.1/ExtUtils/xsubpp -typemap
/usr/lib/perl5/5.8.1/ExtUtils/typemap -typemap
/usr/src/packages/BUILD/mod_perl-1.99_09_20030803/xs/typemap APR.xs > APR.xsc && mv
APR.xsc APR.c
cc -c -I/usr/src/packages/BUILD/mod_perl-1.99_09_20030803/src/modules/perl
-I/usr/src/packages/BUILD/mod_perl-1.99_09_20030803/xs -I/usr/include/apache2
-I/usr/include/apache2 -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DMOD_PERL
-DMP_COMPAT_1X -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -fPIC -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC
"-I/usr/lib/perl5/5.8.1/i586-linux-thread-multi/CORE" APR.c
Running Mkbootstrap for APR ()
chmod 644 APR.bs
rm -f ../../../blib/arch/auto/APR/APR.so
LD_RUN_PATH="" cc -shared APR.o -o ../../../blib/arch/auto/APR/APR.so
chmod 755 ../../../blib/arch/auto/APR/APR.so
cp APR.bs ../../../blib/arch/auto/APR/APR.bs
chmod 644 ../../../blib/arch/auto/APR/APR.bs
make[3]: Leaving directory
`/usr/src/packages/BUILD/mod_perl-1.99_09_20030803/xs/APR/APR'
> Also what happens if you apply this patch:
>
> Index: t/apr-ext/uuid.t
> ===================================================================
> RCS file: /home/cvs/modperl-2.0/t/apr-ext/uuid.t,v
> retrieving revision 1.1
> diff -u -r1.1 uuid.t
> --- t/apr-ext/uuid.t 28 Jul 2003 17:33:30 -0000 1.1
> +++ t/apr-ext/uuid.t 5 Aug 2003 07:26:19 -0000
> @@ -2,7 +2,6 @@
> use Apache::Test;
>
> use blib;
> -use Apache2;
>
> use APR ();
> use APR::UUID ();
The patch does not change anything; neither does it change anything when
tried with the current CVS.
> if you have earlier installed into Apache2, but now you didn't it may have
> picked the old APR.so.
No, it is a fresh installation, so there can't be remnants of an older
mod_perl installation -- if you mean that.
Peter
--
Thought is limitation. Free your mind.
pgp00000.pgp
Description: PGP signature
