You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by st...@rogers.com on 2003/01/20 17:29:01 UTC
[mp2]make test fails
Hi,
I'm trying to build mod_perl2 with threads enabled. I recompiled apache with the worker mpm, built mod_perl which seemd to build fine.. however, when I go to 'make test' it gives me the following error:
Cannot load /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so into server: /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so: undefined symbol: Perl_Ipatchlevel_ptr!!!
Does anyone know if it's something I'm doing wrong, or if this is just a temporary thing(I got the source for both apache and mod_perl from cvs) I don't really need the threads, so I'm going to try to build it with the prefork mpm. I just thought someone would like to know..
Thx.
Here's a copy of REPORT's output:
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:
make test fails with:
Cannot load /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so into
server: /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so: undefined
symbol: Perl_Ipatchlevel_ptr!!!
2. Used Components and their Configuration:
*** using /root/cvs/modperl-2.0/t/../lib/Apache/BuildConfig.pm
*** Makefile.PL options:
MP_AP_PREFIX => /usr/local/apache2/
MP_GENERATE_XS => 1
MP_INST_APACHE2 => 1
MP_LIBNAME => mod_perl
MP_USE_DSO => 1
*** /usr/local/apache2//bin/httpd -V
Server version: Apache/2.1.0-dev
Server built: Jan 20 2003 08:55:08
Server's Module Magic Number: 20020903:0
Architecture: 32-bit
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/worker"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D HTTPD_ROOT="/usr/local/apache2"
-D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
*** /usr/bin/perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
Platform:
osname=linux, osvers=2.4.20, archname=i686-linux-thread-multi
uname='linux buddha.colorfulhell.com 2.4.20 #2 thu jan 16 09:32:42 est 2003 i686 penti
config_args='-des -Darchname=i686-linux-thread -Dcc=gcc -Dprefix=/usr -Dvendorprefix=/
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-DPERL5 -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -D_LARGEFI
optimize='-march=i686 -O3 -pipe',
cppflags='-DPERL5 -DPERL5 -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing'
ccversion='', gccversion='3.2.1 20021207 (Gentoo Linux 3.2.1-20021207)', 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='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
perllibs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil
libc=/lib/libc-2.3.1.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.3.1'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
Built under linux
Compiled at Jan 20 2003 07:04:19
%ENV:
PERL_LWP_USE_HTTP_10="1"
@INC:
/usr/lib/perl5/5.8.0/i686-linux-thread-multi
/usr/lib/perl5/5.8.0
/usr/lib/perl5/site_perl/5.8.0/i686-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i686-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl
.
3. This is the core dump trace: (if you get a core dump):
[CORE TRACE COMES HERE]
This report was generated by ./REPORT on Mon Jan 20 16:04:58 2003 GMT.
-------------8<---------- End Bug Report --------------8<----------
Re: [mp2]make test fails
Posted by Stas Bekman <st...@stason.org>.
Steve Glaus wrote:
[...]
> Ok, I know we're probably going of topic here, but I'll ask anyways..
You can't run mod_perl, so it's pretty ontopic.
> I did what you said...the symbol wasn't there in lipperl.so. So. I rebuilt
> my perl, rebuilt the library, rebuilt my perl again.. I only have one perl
> library on my system.. It still fails. This is a pretty new version of the
> perl library, so is it possible that I need an older one? (libperl-5.8.0).
> I'm at a bit of a loss as to where to go from here.
That means one thing: you use the perl include files from the new build,
however you link against another library. Does your newly rebuilt library has
this symbol defined?
__________________________________________________________________
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: [mp2]make test fails
Posted by Steve Glaus <st...@rogers.com>.
On Tue, 21 Jan 2003 16:05:05 +1100
Stas Bekman <st...@stason.org> wrote:
> Steve Glaus wrote:
> > On Mon, 20 Jan 2003 11:29:01 -0500
> > stevenglaus@rogers.com wrote:
> >
> >
> >>Hi,
> >> I'm trying to build mod_perl2 with threads enabled. I recompiled apache with the worker mpm, built mod_perl which seemd to build fine.. however, when I go to 'make test' it gives me the following error:
> >>
> >>Cannot load /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so into server: /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so: undefined symbol: Perl_Ipatchlevel_ptr!!!
>
> what's the output of:
>
> nm /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so
>
> should be something like:
>
> U Perl_Ipatchlevel_ptr
>
> which is an unresolved symbol, which gets resolved when libperl.so is loaded.
>
> To find out which perl library you have linked against, do:
>
> ldd modules/mod_perl.so |grep perl
> libperl.so =>
> /home/stas/perl/blead-ithread/lib/5.9.0/i686-linux-thread-multi/CORE/libperl.so
> (0x4002e000)
>
> Now you can check whether the symbol is there. in my case:
>
> nm
> /home/stas/perl/blead-ithread/lib/5.9.0/i686-linux-thread-multi/CORE/libperl.so
> |grep Perl_Ipatch
> 0011fa41 T Perl_Ipatchlevel_ptr
>
> Chances are that you are linking against the wrong perl library, which will
> explain the resolving problem.
>
Ok, I know we're probably going of topic here, but I'll ask anyways..
I did what you said...the symbol wasn't there in lipperl.so. So. I rebuilt my perl, rebuilt the library, rebuilt my perl again.. I only have one perl library on my system.. It still fails. This is a pretty new version of the perl library, so is it possible that I need an older one? (libperl-5.8.0). I'm at a bit of a loss as to where to go from here.
Thx.
Steve
Re: [mp2]make test fails
Posted by Stas Bekman <st...@stason.org>.
Steve Glaus wrote:
> On Mon, 20 Jan 2003 11:29:01 -0500
> stevenglaus@rogers.com wrote:
>
>
>>Hi,
>> I'm trying to build mod_perl2 with threads enabled. I recompiled apache with the worker mpm, built mod_perl which seemd to build fine.. however, when I go to 'make test' it gives me the following error:
>>
>>Cannot load /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so into server: /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so: undefined symbol: Perl_Ipatchlevel_ptr!!!
what's the output of:
nm /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so
should be something like:
U Perl_Ipatchlevel_ptr
which is an unresolved symbol, which gets resolved when libperl.so is loaded.
To find out which perl library you have linked against, do:
ldd modules/mod_perl.so |grep perl
libperl.so =>
/home/stas/perl/blead-ithread/lib/5.9.0/i686-linux-thread-multi/CORE/libperl.so
(0x4002e000)
Now you can check whether the symbol is there. in my case:
nm
/home/stas/perl/blead-ithread/lib/5.9.0/i686-linux-thread-multi/CORE/libperl.so
|grep Perl_Ipatch
0011fa41 T Perl_Ipatchlevel_ptr
Chances are that you are linking against the wrong perl library, which will
explain the resolving problem.
__________________________________________________________________
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: [mp2]make test fails
Posted by Steve Glaus <st...@rogers.com>.
On Mon, 20 Jan 2003 11:29:01 -0500
stevenglaus@rogers.com wrote:
> Hi,
> I'm trying to build mod_perl2 with threads enabled. I recompiled apache with the worker mpm, built mod_perl which seemd to build fine.. however, when I go to 'make test' it gives me the following error:
>
> Cannot load /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so into server: /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so: undefined symbol: Perl_Ipatchlevel_ptr!!!
>
>
> Does anyone know if it's something I'm doing wrong, or if this is just a temporary thing(I got the source for both apache and mod_perl from cvs) I don't really need the threads, so I'm going to try to build it with the prefork mpm. I just thought someone would like to know..
>
> Thx.
I got the exact same error when I compiled against the prefork model.. Any thoughts?
Re: [mp2]make test fails
Posted by Steve Glaus <st...@rogers.com>.
On Mon, 20 Jan 2003 11:29:01 -0500
stevenglaus@rogers.com wrote:
> Hi,
> I'm trying to build mod_perl2 with threads enabled. I recompiled apache with the worker mpm, built mod_perl which seemd to build fine.. however, when I go to 'make test' it gives me the following error:
>
> Cannot load /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so into server: /root/cvs/modperl-2.0/src/modules/perl/mod_perl.so: undefined symbol: Perl_Ipatchlevel_ptr!!!
>
>
I got the exact same error when I used the prefork model... any thoughts?