You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by "Gokul P. Nair" <gp...@yahoo.com> on 2005/06/06 21:03:07 UTC
mod_perl2 make test errors - Apache2::Const
I'm tyring to compile and install mod_perl 2.0 as a
dso on Apache 2.0.52 but it complains about not being
able to load Apache2::Const module. This is the error
i get when i run make test:
Can't load
'/usr/local/src/mod_perl-2.0.0/blib/arch/auto/Apache2/Const/Const.so'
for module Apache2::Const:
/usr/local/src/mod_perl-2.0.0/blib/arch/auto/Apache2/Const/Const.so:
undefined symbol: PL_markstack_ptr at
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/DynaLoader.pm
line 230.\n at
/usr/local/src/mod_perl-2.0.0/t/conf/modperl_extra.pl
line 32\nCompilation failed in require at
/usr/local/src/mod_perl-2.0.0/t/conf/modperl_extra.pl
line 32.\nBEGIN failed--compilation aborted at
/usr/local/src/mod_perl-2.0.0/t/conf/modperl_extra.pl
line 32.\nCompilation failed in require at
/usr/local/src/mod_perl-2.0.0/t/conf/modperl_startup.pl
line 17.\n\t...propagated at
/usr/local/src/mod_perl-2.0.0/t/conf/modperl_startup.pl
line 18.\nBEGIN failed--compilation aborted at
/usr/local/src/mod_perl-2.0.0/t/conf/modperl_startup.pl
line 20.\nCompilation failed in require at (eval 2)
line 1.\n
I had mod_perl 1.999.20 running on it prior to this
and so obviously my next step was to try and remove it
as i thought it might be interfering with the new
installation in some way. I did so successfully using:
find /usr/lib/perl5 -name 'Apache2*' -exec rm -rf {}
\;
as specified in the mod_perl 2.0 rename document.
Tried make test and got the same errors again.
Anybody have any ideas as to what might be causing
this?
Thanks for all your help in advance.
Gokul
__________________________________
Discover Yahoo!
Get on-the-go sports scores, stock quotes, news and more. Check it out!
http://discover.yahoo.com/mobile.html
Re: mod_perl2 make test errors - Apache2::Const
Posted by Stas Bekman <st...@stason.org>.
Gokul P. Nair wrote:
> Thanks for the link Stas. I'm still stumped as what
> could be the problem though, because the version of
> perl i'm using i.e. v5.8.6 is statically linked as is
> evident from the output of this command:
>
> perl -V:useshrplib
> useshrplib='false';
In the future please always submit a proper bug report as explained here:
http://perl.apache.org/bugs/
so we won't need to guess things. Thanks.
> but then there is only one instance of libperl.a and
> there are no bogus instances of it which is evident
> from this 'find' command:
>
> find / | grep libperl*
> /usr/local/lib/perl5/5.8.6/i686-linux/CORE/libperl.a
> /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/libperl.so
> /usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so
> /usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/libperl.so
> /usr/lib/perl5/5.8.4/i386-linux-thread-multi/CORE/libperl.so
> /usr/lib/perl5/5.8.2/i386-linux-thread-multi/CORE/libperl.so
> /usr/lib/perl5/5.8.1/i386-linux-thread-multi/CORE/libperl.so
Here is your problem:
> ldd /usr/local/apache2/bin/httpd
> libperl.so =>
> /usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/libperl.so
> (0x02c87000)
You've apache linked against dynamically built perl.
Also check:
ldd /usr/local/src/mod_perl-2.0.0/blib/arch/auto/Apache2/Const/Const.so
> LD_PRELOAD=/usr/local/lib/perl5/5.8.6/i686-linux/CORE/libperl.a
> /usr/local/src/mod_perl-2.0.0/src/modules/perl/mod_perl.so
> Segmentation fault
You can't preload an archive as .so object, I'm not sure why does it even
let you do that.
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
Re: mod_perl2 make test errors - Apache2::Const
Posted by "Gokul P. Nair" <gp...@yahoo.com>.
Thanks for the link Stas. I'm still stumped as what
could be the problem though, because the version of
perl i'm using i.e. v5.8.6 is statically linked as is
evident from the output of this command:
perl -V:useshrplib
useshrplib='false';
but then there is only one instance of libperl.a and
there are no bogus instances of it which is evident
from this 'find' command:
find / | grep libperl*
/usr/local/lib/perl5/5.8.6/i686-linux/CORE/libperl.a
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/libperl.so
/usr/lib/perl5/5.8.3/i386-linux-thread-multi/CORE/libperl.so
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/libperl.so
/usr/lib/perl5/5.8.4/i386-linux-thread-multi/CORE/libperl.so
/usr/lib/perl5/5.8.2/i386-linux-thread-multi/CORE/libperl.so
/usr/lib/perl5/5.8.1/i386-linux-thread-multi/CORE/libperl.so
output from some other commands:
ldd
/usr/local/src/mod_perl-2.0.0/src/modules/perl/mod_perl.so
libnsl.so.1 => /lib/libnsl.so.1 (0xf6e94000)
libdl.so.2 => /lib/libdl.so.2 (0xf6e90000)
libm.so.6 => /lib/tls/libm.so.6 (0xf6e6c000)
libcrypt.so.1 => /lib/libcrypt.so.1
(0xf6e3e000)
libutil.so.1 => /lib/libutil.so.1 (0xf6e3a000)
libc.so.6 => /lib/tls/libc.so.6 (0xf6d13000)
/lib/ld-linux.so.2 (0x002e7000)
ldd /usr/local/apache2/bin/httpd
libperl.so =>
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE/libperl.so
(0x02c87000)
libutil.so.1 => /lib/libutil.so.1 (0x0099f000)
libc.so.6 => /lib/tls/libc.so.6 (0x00300000)
libaprutil-0.so.0 =>
/usr/local/apache2/lib/libaprutil-0.so.0 (0xf6fd6000)
libgdbm.so.2 => /usr/lib/libgdbm.so.2
(0x00429000)
libdb-4.2.so => /lib/tls/i686/libdb-4.2.so
(0xf6f08000)
libexpat.so.0 => /usr/lib/libexpat.so.0
(0x00608000)
libapr-0.so.0 =>
/usr/local/apache2/lib/libapr-0.so.0 (0xf6ee3000)
librt.so.1 => /lib/tls/librt.so.1 (0x00cdc000)
libm.so.6 => /lib/tls/libm.so.6 (0xf6ec0000)
libcrypt.so.1 => /lib/libcrypt.so.1
(0x00cac000)
libnsl.so.1 => /lib/libnsl.so.1 (0x0082a000)
libpthread.so.0 => /lib/tls/libpthread.so.0
(0x0053f000)
libdl.so.2 => /lib/libdl.so.2 (0x0044e000)
/lib/ld-linux.so.2 (0x002e7000)
LD_PRELOAD=/usr/local/lib/perl5/5.8.6/i686-linux/CORE/libperl.a
/usr/local/src/mod_perl-2.0.0/src/modules/perl/mod_perl.so
Segmentation fault
perl -V
Summary of my perl5 (revision 5 version 8 subversion
6) configuration:
Platform:
osname=linux, osvers=2.6.9-1.667,
archname=i686-linux
uname='linux socrates.localdomain 2.6.9-1.667 #1
tue nov 2 14:41:25 est 2004 i686 i686 i386 gnulinux '
config_args=''
hint=recommended, useposix=true,
d_sigaction=define
usethreads=undef use5005threads=undef
useithreads=undef usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define
usesocks=undef
use64bitint=undef use64bitall=undef
uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -pipe
-I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2',
cppflags='-fno-strict-aliasing -pipe
-I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.4.2 20041017 (Red Hat
3.4.2-6.fc3)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8,
byteorder=1234
d_longlong=define, longlongsize=8,
d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double',
nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.3.3.so, so=so, useshrplib=false,
libperl=libperl.a
gnulibc_version='2.3.3'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,
ccdlflags='-Wl,-E'
cccdlflags='-fpic', lddlflags='-shared
-L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under linux
Compiled at Mar 10 2005 13:29:19
@INC:
/usr/local/lib/perl5/5.8.6/i686-linux
/usr/local/lib/perl5/5.8.6
/usr/local/lib/perl5/site_perl/5.8.6/i686-linux
/usr/local/lib/perl5/site_perl/5.8.6
/usr/local/lib/perl5/site_perl
Any ideas as to what could be wrong here? i've hit a
dead end here!
Thanks in advance.
Gokul P. Nair
--- Stas Bekman <st...@stason.org> wrote:
> Gokul P. Nair wrote:
> > I'm tyring to compile and install mod_perl 2.0 as
> a
> > dso on Apache 2.0.52 but it complains about not
> being
> > able to load Apache2::Const module. This is the
> error
> > i get when i run make test:
> >
> > Can't load
> >
>
'/usr/local/src/mod_perl-2.0.0/blib/arch/auto/Apache2/Const/Const.so'
> > for module Apache2::Const:
> >
>
/usr/local/src/mod_perl-2.0.0/blib/arch/auto/Apache2/Const/Const.so:
> > undefined symbol: PL_markstack_ptr at
> [...]
>
> That means that you have more than one libperl.so
> installed and the wrong
> one gets loaded (not the one mod_perl was compiled
> with). Gokul, take a
> look at:
>
http://perl.apache.org/docs/1.0/guide/troubleshooting.html#_relocation_errors__or__undefined_symbol_
>
> --
>
__________________________________________________________________
> Stas Bekman JAm_pH ------> Just Another
> mod_perl Hacker
> http://stason.org/ mod_perl Guide --->
> http://perl.apache.org
> mailto:stas@stason.org http://use.perl.org
> http://apacheweek.com
> http://modperlbook.org http://apache.org
> http://ticketmaster.com
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Re: mod_perl2 make test errors - Apache2::Const
Posted by Stas Bekman <st...@stason.org>.
Gokul P. Nair wrote:
> I'm tyring to compile and install mod_perl 2.0 as a
> dso on Apache 2.0.52 but it complains about not being
> able to load Apache2::Const module. This is the error
> i get when i run make test:
>
> Can't load
> '/usr/local/src/mod_perl-2.0.0/blib/arch/auto/Apache2/Const/Const.so'
> for module Apache2::Const:
> /usr/local/src/mod_perl-2.0.0/blib/arch/auto/Apache2/Const/Const.so:
> undefined symbol: PL_markstack_ptr at
[...]
That means that you have more than one libperl.so installed and the wrong
one gets loaded (not the one mod_perl was compiled with). Gokul, take a
look at:
http://perl.apache.org/docs/1.0/guide/troubleshooting.html#_relocation_errors__or__undefined_symbol_
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com