Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the PDL CPAN distribution.

Report information
The Basics
Id: 12094
Status: resolved
Priority: 0/
Queue: PDL

People
Owner: Nobody in particular
Requestors: christj [...] sussex.ac.uk
Cc: chm [...] cpan.org
AdminCc:

Bug Information
Severity: Important
Broken in: 2.4.2
Fixed in: 2.4.3



Subject: Won't compile on 64bit arch.
perl -v: This is perl, v5.8.5 built for x86_64-linux-thread-multi uname -a: Linux bugle.rn.informatics.scitech.susx.ac.uk 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:29:47 EST 2005 x86_64 x86_64 x86_64 GNU/Linux Make fails with the below output. When I add -fPIC, which is suggested, nothing different happens. This error does not occur on 32bit architecture using the same software environment. g77 -c -o slatec/xerbla.o -O slatec/xerbla.f g77 -c -o slatec/xercnt.o -O slatec/xercnt.f g77 -c -o slatec/xerhlt.o -O slatec/xerhlt.f g77 -c -o slatec/xermsg.o -O slatec/xermsg.f g77 -c -o slatec/xerprn.o -O slatec/xerprn.f g77 -c -o slatec/xersve.o -O slatec/xersve.f g77 -c -o slatec/xgetua.o -O slatec/xgetua.f Running Mkbootstrap for PDL::Slatec () chmod 644 Slatec.bs rm -f ../../blib/arch/auto/PDL/Slatec/Slatec.so gcc -shared Slatec.o slatec/chfcm.o slatec/chfdv.o slatec/chfev.o slatec/chf ie.o slatec/d1mach.o slatec/dasum.o slatec/daxpy.o slatec/dchfcm.o slatec/d chfdv.o slatec/dchfev.o slatec/dchfie.o slatec/ddot.o slatec/dgeco.o slatec /dgedi.o slatec/dgefa.o slatec/dgesl.o slatec/dp1vlu.o slatec/dpchbs.o slat ec/dpchce.o slatec/dpchci.o slatec/dpchcm.o slatec/dpchcs.o slatec/dpchdf.o slatec/dpchfd.o slatec/dpchfe.o slatec/dpchia.o slatec/dpchic.o slatec/dpch id.o slatec/dpchim.o slatec/dpchkt.o slatec/dpchsp.o slatec/dpchst.o slatec /dpchsw.o slatec/dpcoef.o slatec/dpoco.o slatec/dpodi.o slatec/dpofa.o slat ec/dpolft.o slatec/dscal.o slatec/dswap.o slatec/ezfft1.o slatec/ezfftb.o s latec/ezfftf.o slatec/ezffti.o slatec/fdump.o slatec/i1mach.o slatec/idamax. o slatec/isamax.o slatec/j4save.o slatec/pchbs.o slatec/pchce.o slatec/pchc i.o slatec/pchcm.o slatec/pchcs.o slatec/pchdf.o slatec/pchfd.o slatec/pchf e.o slatec/pchia.o slatec/pchic.o slatec/pchid.o slatec/pchim.o slatec/pchk t.o slatec/pchsp.o slatec/pchst.o slatec/pchsw.o slatec/pcoef.o slatec/polf it.o slatec/pvalue.o slatec/pythag.o slatec/r1mach.o slatec/radb2.o slatec/ radb3.o slatec/radb4.o slatec/radb5.o slatec/radbg.o slatec/radf2.o slatec/ radf3.o slatec/radf4.o slatec/radf5.o slatec/radfg.o slatec/rfftb.o slatec/ rfftb1.o slatec/rfftf.o slatec/rfftf1.o slatec/rs.o slatec/sasum.o slatec/s axpy.o slatec/sdot.o slatec/sgeco.o slatec/sgedi.o slatec/sgefa.o slatec/sg esl.o slatec/snrm2.o slatec/spoco.o slatec/spodi.o slatec/spofa.o slatec/sr ot.o slatec/srotg.o slatec/sscal.o slatec/ssvdc.o slatec/sswap.o slatec/tql 2.o slatec/tqlrat.o slatec/tred1.o slatec/tred2.o slatec/xerbla.o slatec/xe rcnt.o slatec/xerhlt.o slatec/xermsg.o slatec/xerprn.o slatec/xersve.o slat ec/xgetua.o -o ../../blib/arch/auto/PDL/Slatec/Slatec.so -L/usr/lib/gcc/x86_ 64-redhat-linux/3.4.3 -L/usr/lib -lg2c -lm -L/usr/lib/gcc/x86_64-redhat-linux/3. 4.3 -lgcc /usr/bin/ld: slatec/chfcm.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC slatec/chfcm.o: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: Leaving directory `/root/.cpan/build/PDL-2.4.2/Lib/Slatec' make[2]: *** [../../blib/arch/auto/PDL/Slatec/Slatec.so] Error 1 make[1]: Leaving directory `/root/.cpan/build/PDL-2.4.2/Lib' make[1]: *** [subdirs] Error 2 make: *** [subdirs] Error 2 /usr/bin/make -- NOT OK Running make test Can't test without successful make Running make install make had returned bad status, install seems impossible
From: Bassem W Jamaleddine
On Thu Mar 31 11:46:19 2005, guest wrote: Show quoted text
> perl -v: > This is perl, v5.8.5 built for x86_64-linux-thread-multi > > uname -a: > Linux bugle.rn.informatics.scitech.susx.ac.uk 2.6.9-5.ELsmp #1 SMP
Wed Show quoted text
> Jan 5 19:29:47 EST 2005 x86_64 x86_64 x86_64 GNU/Linux > > Make fails with the below output. When I add -fPIC, which is > suggested, nothing different happens. This error does not occur on > 32bit architecture using the same software environment. > > g77 -c -o slatec/xerbla.o -O slatec/xerbla.f > g77 -c -o slatec/xercnt.o -O slatec/xercnt.f > g77 -c -o slatec/xerhlt.o -O slatec/xerhlt.f > g77 -c -o slatec/xermsg.o -O slatec/xermsg.f > g77 -c -o slatec/xerprn.o -O slatec/xerprn.f > g77 -c -o slatec/xersve.o -O slatec/xersve.f > g77 -c -o slatec/xgetua.o -O slatec/xgetua.f > Running Mkbootstrap for PDL::Slatec () > chmod 644 Slatec.bs > rm -f ../../blib/arch/auto/PDL/Slatec/Slatec.so > gcc -shared Slatec.o slatec/chfcm.o slatec/chfdv.o slatec/chfev.o > slatec/chf ie.o slatec/d1mach.o slatec/dasum.o slatec/daxpy.o > slatec/dchfcm.o slatec/d chfdv.o slatec/dchfev.o
slatec/dchfie.o Show quoted text
> slatec/ddot.o slatec/dgeco.o slatec /dgedi.o slatec/dgefa.o > slatec/dgesl.o slatec/dp1vlu.o slatec/dpchbs.o slat ec/dpchce.o > slatec/dpchci.o slatec/dpchcm.o slatec/dpchcs.o slatec/dpchdf.o > slatec/dpchfd.o slatec/dpchfe.o slatec/dpchia.o slatec/dpchic.o > slatec/dpch id.o slatec/dpchim.o slatec/dpchkt.o
slatec/dpchsp.o Show quoted text
> slatec/dpchst.o slatec /dpchsw.o slatec/dpcoef.o slatec/dpoco.o > slatec/dpodi.o slatec/dpofa.o slat ec/dpolft.o slatec/dscal.o > slatec/dswap.o slatec/ezfft1.o slatec/ezfftb.o s latec/ezfftf.o > slatec/ezffti.o slatec/fdump.o slatec/i1mach.o slatec/idamax. o > slatec/isamax.o slatec/j4save.o slatec/pchbs.o slatec/pchce.o > slatec/pchc i.o slatec/pchcm.o slatec/pchcs.o slatec/pchdf.o > slatec/pchfd.o slatec/pchf e.o slatec/pchia.o slatec/pchic.o > slatec/pchid.o slatec/pchim.o slatec/pchk t.o slatec/pchsp.o > slatec/pchst.o slatec/pchsw.o slatec/pcoef.o slatec/polf it.o > slatec/pvalue.o slatec/pythag.o slatec/r1mach.o slatec/radb2.o > slatec/ radb3.o slatec/radb4.o slatec/radb5.o slatec/radbg.o > slatec/radf2.o slatec/ radf3.o slatec/radf4.o slatec/radf5.o > slatec/radfg.o slatec/rfftb.o slatec/ rfftb1.o slatec/rfftf.o > slatec/rfftf1.o slatec/rs.o slatec/sasum.o slatec/s axpy.o > slatec/sdot.o slatec/sgeco.o slatec/sgedi.o slatec/sgefa.o > slatec/sg esl.o slatec/snrm2.o slatec/spoco.o slatec/spodi.o > slatec/spofa.o slatec/sr ot.o slatec/srotg.o slatec/sscal.o > slatec/ssvdc.o slatec/sswap.o slatec/tql 2.o slatec/tqlrat.o > slatec/tred1.o slatec/tred2.o slatec/xerbla.o slatec/xe rcnt.o > slatec/xerhlt.o slatec/xermsg.o slatec/xerprn.o slatec/xersve.o > slat ec/xgetua.o -o ../../blib/arch/auto/PDL/Slatec/Slatec.so > -L/usr/lib/gcc/x86_ 64-redhat-linux/3.4.3 -L/usr/lib -lg2c -lm > -L/usr/lib/gcc/x86_64-redhat-linux/3. 4.3 -lgcc > /usr/bin/ld: slatec/chfcm.o: relocation R_X86_64_32 against `a local > symbol' can not be used when making a shared object; recompile > with -fPIC > slatec/chfcm.o: could not read symbols: Bad value > collect2: ld returned 1 exit status > make[2]: Leaving directory `/root/.cpan/build/PDL-2.4.2/Lib/Slatec' > make[2]: *** [../../blib/arch/auto/PDL/Slatec/Slatec.so] Error 1 > make[1]: Leaving directory `/root/.cpan/build/PDL-2.4.2/Lib' > make[1]: *** [subdirs] Error 2 > make: *** [subdirs] Error 2 > /usr/bin/make -- NOT OK > Running make test > Can't test without successful make > Running make install > make had returned bad status, install seems impossible
On 64 bits architecture you need to add the option -fPIC following the g77 compiler. After running "perl Makefile.PL" in the base product directory, and before running "make", cd to Lib/Slatec/ and edit the Makefile. You need to replace each occurence of "g77 -c " with the following "g77 -fPIC -c " and save the changes. Running make after making the change will compile the object files properly. For more info on g77 and the -fPIC option, consult the documentation about how -fPIC acts on different 64 bits processors (e.g. AMD Intel ...)
PDL-2.4.3 has resolved many 64bit issues. Please update further if it does not build for your configuration. Thanks.
Many 64-bit issues were fixed in PDL-2.4.3