1. Problem Description:
* WrapXS/APR/Lock/Lock.c fails to compile. See the cut and paste at the
end (3).
* CC seems to be looking for libperl.(so|a).5.6.1 in
/usr/lib/perl/5.6.1/CORE/, but Debian seems to put libperl.so.5.6.1 in
/usr/lib. This doesn't seem like a mod_perl installer bug, but never
having fiddled with the libraries, more people should encounter this,
erm, feature :)
A simple symlink from /usr/lib/bla to the CORE directory seems to fix
this one. -L/usr/lib doesn't (unsurprisingly) work.
2. Used Components and their Configuration:
*** using lib/Apache/BuildConfig.pm
*** Makefile.PL options:
MP_APXS => /usr/local/apache2/bin/apxs
MP_CCOPTS => -L/usr/lib
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.0.36
Server built: May 30 2002 16:16:31
Server's Module Magic Number: 20020329:1
Architecture: 32-bit
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-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_ERRORLOG="logs/error_log"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
*** /usr/bin/perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
Platform:
osname=linux, osvers=2.4.13, archname=i386-linux
uname='linux duende 2.4.13 #1 wed oct 31 19:18:07 est 2001 i686 unknown '
config_args='-Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i386-linux
-Dprefix=/usr -Dprivlib=/usr/share/perl/5.6.1 -Darchlib=/usr/lib/perl/5.6.1
-Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5
-Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.6.1
-Dsitearch=/usr/local/lib/perl/5.6.1 -Dman1dir=/usr/share/man/man1
-Dman3dir=/usr/share/man/man3 -Dman1ext=1 -Dman3ext=3perl
-Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Uusesfio -Duseshrplib
-Dlibperl=libperl.so.5.6.1 -Dd_dosuid -des'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
Compiler:
cc='cc', ccflags ='-DDEBIAN -fno-strict-aliasing -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-DDEBIAN -fno-strict-aliasing -I/usr/local/include'
ccversion='', gccversion='2.95.4 (Debian prerelease)', 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, usemymalloc=n, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lgdbm -ldb -ldl -lm -lc -lcrypt
perllibs=-ldl -lm -lc -lcrypt
libc=/lib/libc-2.2.4.so, so=so, useshrplib=true, libperl=libperl.so.5.6.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: USE_LARGE_FILES
Built under linux
Compiled at Jan 11 2002 04:09:18
%ENV:
PERL_LWP_USE_HTTP_10="1"
@INC:
/usr/local/lib/perl/5.6.1
/usr/local/share/perl/5.6.1
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.6.1
/usr/share/perl/5.6.1
/usr/local/lib/site_perl
.
3. This is the core dump trace: (if you get a core dump):
Compile error instead:
cc -c -I/usr/src/apache/apache-2.0/mod_perl-1.99_01/src/modules/perl
-I/usr/src/apache/apache-2.0/mod_perl-1.99_01/xs
-I/usr/local/apache2/include -DDEBIAN -fno-strict-aliasing
-I/usr/local/include -DMOD_PERL -L/usr/lib -O2 -DVERSION=\"0.01\"
-DXS_VERSION=\"0.01\" -fPIC "-I/usr/lib/perl/5.6.1/CORE" Lock.c
In file included from Lock.xs:26:
/usr/src/apache/apache-2.0/mod_perl-1.99_01/xs/APR/Lock/APR__Lock.h: In
function `mpxs_apr_lock_create':
/usr/src/apache/apache-2.0/mod_perl-1.99_01/xs/APR/Lock/APR__Lock.h:11:
incompatible type for argument 4 of `apr_lock_create'
/usr/src/apache/apache-2.0/mod_perl-1.99_01/xs/APR/Lock/APR__Lock.h:11:
warning: passing arg 5 of `apr_lock_create' from incompatible pointer
type
/usr/src/apache/apache-2.0/mod_perl-1.99_01/xs/APR/Lock/APR__Lock.h:11:
too many arguments to function `apr_lock_create'
Lock.c: In function `XS_APR__Lock_acquire_rw':
Lock.c:68: `apr_readerwriter_e' undeclared (first use in this function)
Lock.c:68: (Each undeclared identifier is reported only once
Lock.c:68: for each function it appears in.)
Lock.c:68: parse error before `type'
Lock.c:79: `type' undeclared (first use in this function)
make[3]: *** [Lock.o] Error 1
make[3]: Leaving directory
`/usr/src/apache/apache-2.0/mod_perl-1.99_01/WrapXS/APR/Lock'
make[2]: *** [subdirs] Error 2
make[2]: Leaving directory
`/usr/src/apache/apache-2.0/mod_perl-1.99_01/WrapXS/APR'
make[1]: *** [subdirs] Error 2
make[1]: Leaving directory
`/usr/src/apache/apache-2.0/mod_perl-1.99_01/WrapXS'
make: *** [subdirs] Error 2
allard@server:/usr/src/apache/apache-2.0/mod_perl-1.99_01$