I’m trying to install ROOT 5.20
Here is an error when I’m using ‘make’ and I don’t know who to fix it .
g++ -shared -Wl,-soname,libFFTW.so -m64 -O2 -o lib/libFFTW.so math/fftw/src/TFFTComplex.o math/fftw/src/TFFTComplexReal.o math/fftw/src/TFFTRealComplex.o math/fftw/src/TFFTReal.o math/fftw/src/G__FFTW.o -L/usr/local/lib -lfftw3
/usr/bin/ld: /usr/local/lib/libfftw3.a(plan-dft.o): relocation R_X86_64_32 against `a local symbol’ can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libfftw3.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [lib/libFFTW.so] Error 1
my system is Ubuntu 2008 x86_64 GNU/Linux
configure was successful, and I was using ‘./configure linuxx8664gcc’
[quote]I’ve searched this problem and it may because of 32 bits software and 64 bits computer. [/quote]This is indeed the problem. You need to either disable the fftw3 (add --disable-fftw3) or install a 64 bit version of the fftw3 library (and make sure it is compiled with -fPIC).
[quote=“pcanal”][quote]I’ve searched this problem and it may because of 32 bits software and 64 bits computer. [/quote]This is indeed the problem. You need to either disable the fftw3 (add --disable-fftw3) or install a 64 bit version of the fftw3 library (and make sure it is compiled with -fPIC).
Cheers,
Philippe.[/quote]
the version I installed is a 64 version fftw3 library.
I’m using Ubuntu and use apt-get install libfftw3-dev to install this library.
the package I download is libfftw3-dev_3.1.2-3ubuntu1_amd64.deb
I get the same error when trying to compile my ROOTv5.25.04 from source
/usr/bin/ld: /usr/local/lib/libfftw3.a(mapflags.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libfftw3.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [lib/libFFTW.so] Error 1
make: *** Waiting for unfinished jobs....
==> lib/libRLDAP.so done
/usr/bin/ld: /usr/local/lib/libgslcblas.a(sgemm.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libgslcblas.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [lib/libMathMore.so] Error 1
I compiled fftw-3.2.2 and gsl-1.13 from source and I checked that -fPIC was on.
My system is a x86_64 running Fedora Core 11 with gcc 4.4.1 .
So it appears you do have the new files … but apparently ld does not think that have been build with -fPIC (I have no clue why unless this is true for either the mentioned .o files itself or the .a itself).