perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philip M. Gollucci" <pgollu...@p6m7g8.com>
Subject Re: mod_perl2 bug report
Date Tue, 16 Aug 2005 22:43:46 GMT
> During the tests i've an error:
> 
> /home/asm/apache2054/bin/bin/httpd  -d /usr/home/asm/soft/Apache/mod_perl-2.0.1/t -f
/usr/home/asm/soft/Apache/mod_perl-2.0.1/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS
> using Apache/2.0.54 (prefork MPM)
> 
> waiting 120 seconds for server to start: .Syntax error on line 12 of /usr/home/asm/soft/Apache/mod_perl-2.0.1/t/conf/httpd.conf:
> Cannot load /usr/home/asm/soft/Apache/mod_perl-2.0.1/src/modules/perl/mod_perl.so into
server: /usr/home/asm/soft/Apache/mod_perl-2.0.1/src/modules/perl/mod_perl.so: Undefined symbol
"apr_os_thread_current"
> *** /usr/local/bin/perl -V
> Summary of my perl5 (revision 5.0 version 8 subversion 2) configuration:
>   Platform:
>     osname=freebsd, osvers=4.7-release, archname=i386-freebsd-thread-multi-64int
>     uname='freebsd sspserver.dev 4.7-release freebsd 4.7-release #3: mon jun 2 17:20:39
msd 2003 root@sspserver.dev:usrsrcsyscompilesmp i386 '
>     config_args=''
>     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=define use64bitall=undef uselongdouble=undef
>     usemymalloc=n, bincompat5005=undef

Whats happened here is that your PERL is ithread enabled and thus 
mod_perl thinks it should be too. Unfortunately, the APR library you are 
linking against is not thread enabled (-lpthread or -llibc_r). BTW you 
don't want the latter,  use -lpthread on FreeBSD.  You might need to 
edit your /etc/libmap.conf file (see my previous posts on this)

A _VERY_ likely reason as I am a freebsd guy myself, is that you've 
installed Subversion or some other port that installs apr.  That apr is 
not threaded.  The apr-1-config and apu-1-config binaries are in your 
path (/usr/local/bin). This causes the HTTPD build to link against the 
WRONG apr/apr util libraries.  Later when mod_perl2 calls apxs to get 
the path for things, its given the wrong ones causing the error you see.

The easiest solution for me is to temporarily move them out of your PATH 
during compilation or rename them temporarily.

I'm surprised, that you didn't get this during the mod_perl2 compile as 
thats where I usually get it and smack myself.

I'm tempted to add a note to the mp2 build page about this, but don't 
know exactly how to word it.



-- 
END
------------------------------------------------------------
     What doesn't kill us can only make us stronger.
                 Nothing is impossible.
				
Philip M. Gollucci (pgollucci@p6m7g8.com) 301.254.5198
Consultant / http://p6m7g8.net/Resume/
Senior Developer / Liquidity Services, Inc.
   http://www.liquidityservicesinc.com
        http://www.liquidation.com
        http://www.uksurplus.com
        http://www.govliquidation.com
        http://www.gowholesale.com


Mime
View raw message