You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Ed Brown <eb...@arcompanies.net> on 2004/09/25 21:47:11 UTC
Dynaloader.a error making mod_perl-1.99_16 with Apache httpd-2.0.51 on Suse 9.0
I started with a standard Suse 9.0 on AMD Athlon. I built the current versions of Apache and PHP from source, then perl. I'm getting an error at dynaloader. I'm moderately knowledgeable in linux, but I don't know how to resolve this. Can anyone give me a suggestion?
Thanks
Ed Brown
I built Perl perl-5.8.5. perl -V says
Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
Platform:
osname=linux, osvers=2.4.21-102-default, archname=x86_64-linux
uname='linux http01 2.4.21-102-default #1 wed sep 24 13:57:05 utc 2003 x86_64 x86_64 x86_64 gnulinux '
config_args='-ds -e -Duse64bitint -Dusethreads -Duseshrplib'
hint=previous, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef 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 -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccversion='', gccversion='3.3.1 (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
libs=-lnsl -lgdbm -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.3.2'
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_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES
Built under linux
Compiled at Sep 25 2004 11:45:02
@INC:
/usr/local/lib/perl5/5.8.5/x86_64-linux
/usr/local/lib/perl5/5.8.5
/usr/local/lib/perl5/site_perl/5.8.5/x86_64-linux
/usr/local/lib/perl5/site_perl/5.8.5
/usr/local/lib/perl5/site_perl
make test says
<snip>
All tests successful.
u=1.65 s=0.32 cu=133.99 cs=10.52 scripts=821 tests=84931
make[2]: Leaving directory `/usr/src/perl-5.8.5'
make[1]: Leaving directory `/usr/src/perl-5.8.5'
I configure mod_perl with
perl Makefile.PL -Duse64bitint -Dusethreads -Duseshrplib MP_APXS=/usr/local/apache2/bin/apxs -MP_INST_APACHE2=1
and when I do make
I get
<snip>
DynaLoader.a -L/usr/local/lib/perl5/5.8.5/x86_64-linux/CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lc \
-o mod_perl.so
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.1/../../../../x86_64-suse-linux/bin/ld: /usr/local/lib/perl5/5.8.5/x86_64-linux/auto/DynaLoader/DynaLoader.a(DynaLoader.o): relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/perl5/5.8.5/x86_64-linux/auto/DynaLoader/DynaLoader.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [mod_perl.so] Error 1
make[1]: Leaving directory `/usr/src/mod_perl-1.99_16/src/modules/perl'
make: *** [modperl_lib] Error 2
Re: Dynaloader.a error making mod_perl-1.99_16 with Apache httpd-2.0.51
on Suse 9.0
Posted by Stas Bekman <st...@stason.org>.
Ed Brown wrote:
> I started with a standard Suse 9.0 on AMD Athlon. I built the current
> versions of Apache and PHP from source, then perl. I'm getting an error
> at dynaloader. I'm moderately knowledgeable in linux, but I don't know
> how to resolve this. Can anyone give me a suggestion?
Ed, please submit a proper bug report, as explained here:
http://perl.apache.org/bugs/
> I configure mod_perl with perl Makefile.PL -Duse64bitint -Dusethreads
> -Duseshrplib MP_APXS=/usr/local/apache2/bin/apxs -MP_INST_APACHE2=1 and
> when I do make I get <snip> DynaLoader.a
> -L/usr/local/lib/perl5/5.8.5/x86_64-linux/CORE -lperl -lnsl -ldl -lm
> -lcrypt -lutil -lc \ -o mod_perl.so
> /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.1/../../../../x86_64-suse-linux/bin/ld:
> /usr/local/lib/perl5/5.8.5/x86_64-linux/auto/DynaLoader/DynaLoader.a(DynaLoader.o):
> relocation R_X86_64_32 can not be used when making a shared object;
> recompile with -fPIC
> /usr/local/lib/perl5/5.8.5/x86_64-linux/auto/DynaLoader/DynaLoader.a:
> could not read symbols: Bad value collect2: ld returned 1 exit status
> make[1]: *** [mod_perl.so] Error 1 make[1]: Leaving directory
> `/usr/src/mod_perl-1.99_16/src/modules/perl' make: *** [modperl_lib]
> Error 2
In addition, please post the output of
% which perl
and whether you have more than one perl installed on your system (which is
most likely the cause of your problem).
But even before you do that I'd try to download any CPAN module which has
an XS extension, and try to build it first. For example:
http://search.cpan.org/~roode/Time-Format_XS-0.13/
--
__________________________________________________________________
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
--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html