1. Problem Description:
I cannot compile mod_perl for Apache2. There seem to be two issues with the
Configure.PL/make-process. Configure runs through without an error but with a
warning that header files have been found in an unexpected directory (see
warning message below) although I have supplied the MP_AP_PREFIX specifying the
correct path (see 2.) ):
************* WARNING *************
Apache headers found in unexpected location: ``/usr/local/include'',
suggestions:
*) Remove via ``rpm -e apache''
*) Remove by hand
*) Complain to your os vendor about their poor layout choice
*) Complain to your sysadmin about their poor layout choice
************* WARNING *************
Furthermore, make stops with the following error:
------------- MAKE TRACE ----------
-c modperl_xsinit.c && mv modperl_xsinit.o modperl_xsinit.lo
cc -I/opt/mod_perl-2.0.4/src/modules/perl -I/opt/mod_perl-2.0.4/xs
-I/usr/local/apache2/include -I/usr/local/apache2/include
-I/usr/local/apache2/include -fno-strict-aliasing -pipe -I/usr/local/include
-I/opt/perl/lib/5.10.0/x86_64-linux/CORE -DMOD_PERL -DLINUX=2 -D_REENTRANT
-D_GNU_SOURCE -DAP_HAVE_DESIGNATED_INITIALIZER -O2 -fPIC \
-c modperl_exports.c && mv modperl_exports.o modperl_exports.lo
rm -f mod_perl.so
cc -shared -O2 -L/usr/local/lib \
\
mod_perl.lo modperl_interp.lo modperl_tipool.lo modperl_log.lo
modperl_config.lo modperl_cmd.lo modperl_options.lo modperl_callback.lo
modperl_handler.lo modperl_gtop.lo modperl_util.lo modperl_io.lo
modperl_io_apache.lo modperl_filter.lo modperl_bucket.lo modperl_mgv.lo
modperl_pcw.lo modperl_global.lo modperl_env.lo modperl_cgi.lo modperl_perl.lo
modperl_perl_global.lo modperl_perl_pp.lo modperl_sys.lo modperl_module.lo
modperl_svptr_table.lo modperl_const.lo modperl_constants.lo
modperl_apache_compat.lo modperl_error.lo modperl_debug.lo
modperl_common_util.lo modperl_common_log.lo modperl_hooks.lo
modperl_directives.lo modperl_flags.lo modperl_xsinit.lo modperl_exports.lo
-Wl,-E -L/usr/local/lib -L/opt/perl/lib/5.10.0/x86_64-linux/CORE -lperl -lnsl
-ldl -lm -lcrypt -lutil -lc \
-o mod_perl.so
/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld:
/opt/perl/lib/5.10.0/x86_64-linux/CORE/libperl.a(gv.o): relocation R_X86_64_32
against `a local symbol' can not be used when making a shared object; recompile
with -fPIC
/opt/perl/lib/5.10.0/x86_64-linux/CORE/libperl.a: could not read symbols: Bad
value
collect2: ld returned 1 exit status
make[1]: *** [mod_perl.so] Error 1
make[1]: Leaving directory `/opt/mod_perl-2.0.4/src/modules/perl'
make: *** [modperl_lib] Error 2
------------- /MAKE TRACE ----------
As you can see, I have used Perl 5.10.0, but the error is the same when using
Perl 5.8.8
What is also very confusing: the COnfigure.PL program is unable to find the
httpd binary. Again, I have specified MP_AP_PREFIX.
Thak you very much in advance!
2. Used Components and their Configuration:
*** mod_perl version 2.000004
*** using /opt/mod_perl-2.0.4/lib/Apache2/BuildConfig.pm
*** Makefile.PL options:
MP_APR_LIB => aprext
MP_AP_PREFIX => /usr/local/apache2
MP_COMPAT_1X => 0
MP_GENERATE_XS => 1
MP_LIBNAME => mod_perl
MP_USE_DSO => 1
*** The httpd binary was not found
*** (apr|apu)-config linking info
-L/usr/local/apache2/lib -laprutil-0 -lexpat
-L/usr/local/apache2/lib -lapr-0 -lrt -lm -lcrypt -lnsl -lpthread -ldl
*** /opt/perl/bin/perl -V
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
Platform:
osname=linux, osvers=2.6.16.54-0.2.5-smp, archname=x86_64-linux
uname='linux ccintrav1 2.6.16.54-0.2.5-smp #1 smp mon jan 21 13:29:51 utc
2008 x86_64 x86_64 x86_64 gnulinux '
config_args='-ds -e -Dprefix=/opt/perl'
hint=recommended, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, 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',
optimize='-O2',
cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
ccversion='', gccversion='4.1.0 (SUSE Linux)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.4.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.4'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_ALL
USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO
Built under linux
Compiled at Aug 26 2008 19:53:03
%ENV:
PERL_LWP_USE_HTTP_10="1"
@INC:
/opt/perl/lib/5.10.0/x86_64-linux
/opt/perl/lib/5.10.0
/opt/perl/lib/site_perl/5.10.0/x86_64-linux
/opt/perl/lib/site_perl/5.10.0
.
*** Packages of interest status:
Apache2 : -
Apache2::Request : -
CGI : 3.29
ExtUtils::MakeMaker: 6.42
LWP : -
mod_perl : -
mod_perl2 : -
3. This is the core dump trace: (if you get a core dump):
[CORE TRACE COMES HERE]
This report was generated by ./REPORT on Wed Aug 27 07:42:38 2008 GMT.
---------------------------------------------------
Johannes Ebner
Junior System Engineer
Computacenter AG & Co oHG für FZ-442
Programmentwicklung NAS-SoD Betrieb
Tel: 089/45712-989
Mobile: 0172/8462335
mailto: [EMAIL PROTECTED]
---------------------------------------------------