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.

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to