On Sun, 27 Jan 2013 20:51:33 Stephen Montgomery-Smith wrote: > I am getting this error when building scipy-0.11.0.p0. > > > /usr/home/stephen/sage-devel/work/sage-5.7.beta1/local/bin/gfortran > -Wall -shared > -Wl,-rpath=/usr/home/stephen/sage-devel/work/sage-5.7.beta1/local/lib > -Wl,-rpath=/usr/local/lib/gcc46 > build/temp.freebsd-8.3-STABLE-amd64-2.7/build/src.freebsd-8.3-STABLE-amd64-2 > .7/scipy/fftpack/_fftpackmodule.o > build/temp.freebsd-8.3-STABLE-amd64-2.7/scipy/fftpack/src/zfft.o > build/temp.freebsd-8.3-STABLE-amd64-2.7/scipy/fftpack/src/drfft.o > build/temp.freebsd-8.3-STABLE-amd64-2.7/scipy/fftpack/src/zrfft.o > build/temp.freebsd-8.3-STABLE-amd64-2.7/scipy/fftpack/src/zfftnd.o > build/temp.freebsd-8.3-STABLE-amd64-2.7/build/src.freebsd-8.3-STABLE-amd64-2 > .7/scipy/fftpack/src/dct.o > build/temp.freebsd-8.3-STABLE-amd64-2.7/build/src.freebsd-8.3-STABLE-amd64- > 2.7/scipy/fftpack/src/dst.o > build/temp.freebsd-8.3-STABLE-amd64-2.7/build/src.freebsd-8.3-STABLE-amd64- > 2.7/fortranobject.o > -L/usr/local/lib/gcc46/gcc/x86_64-portbld-freebsd8.3/4.6.3 > -Lbuild/temp.freebsd-8.3-STABLE-amd64-2.7 -ldfftpack -lfftpack > -lpython2.7 -lgfortran -o > build/lib.freebsd-8.3-STABLE-amd64-2.7/scipy/fftpack/_fftpack.so > /usr/local/bin/ld: > build/temp.freebsd-8.3-STABLE-amd64-2.7/libdfftpack.a(dffti1.o): > relocation R_X86_64_32S against `.rodata' can not be used when making a > shared object; recompile with -fPIC > build/temp.freebsd-8.3-STABLE-amd64-2.7/libdfftpack.a: could not read > symbols: Bad value > collect2: ld returned 1 exit status > /usr/local/bin/ld: > build/temp.freebsd-8.3-STABLE-amd64-2.7/libdfftpack.a(dffti1.o): > relocation R_X86_64_32S against `.rodata' can not be used when making a > shared object; recompile with -fPIC > build/temp.freebsd-8.3-STABLE-amd64-2.7/libdfftpack.a: could not read > symbols: Bad value > collect2: ld returned 1 exit status > > > The reason seems to be because in scipy-0.11.0.p0/spkg-install the > definitions setting fortran to sage_fortran have been removed. But the > file $SAGE_LOCAL/bin/sage_fortran contains lines like: > exec $myFC -fPIC "$@" > > > This is on FreeBSD, and I use the gfortran that comes in the gcc46 port. > Does the gcc built inside of sage have the "-fPIC" flag set > automatically on its fortran? I can easily make the FreeBSD port do > this. But I would like to know exactly how you did it, so that I don't > unnecessarily "-fPIC" too many files. > My first thought was that it was a 32/64 bit mix up but I believe that is caused by #13985 and #13992 in combination. I positively reviewed both of them and I should have remembered that sage_fortran was adding -fPIC and the new stuff doesn't. So it may be that. Also if your install can do both 32 and 64 bit, default to 32 and you were building 64bit then there can be trouble that way too.
Apologies for letting this happen (I am quite convinced that it is something I should have picked up). So it is follow up ticket time. Francois -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.