
On 12/13/13 11:24, Charles G. Waldman wrote:
this might work:
CC="gcc -m32" LDSHARED="gcc -m32" FF="gfortran -m32" linux32 python setup.py build
Compiler flags can't be added to CC, they should be in CFLAGS. (and ld flags go into LDFLAGS). Otherwise you are saying to use a program called "gcc -m32" (with a space in the name).
I had tried that. But it seems that distutils, or numpy.distutils, doesn't honor those flags consistently. Instead, I used the gcc wrappers, as suggested below.
As I said, a cleaner, universally applicable method is definitely needed.
On Fri, Dec 13, 2013 at 8:02 AM, David Jones david.jones74@gmail.com wrote:
On 12/12/13 16:35, Julian Taylor wrote:
On 12.12.2013 20:40, David Jones wrote:
On 12/12/13 15:54, Julian Taylor wrote:
On 12.12.2013 19:58, David Jones wrote:
I'm trying to compile 32-bit numpy on a 64 bit Centos 6 system, but fails with the message:
"Broken toolchain: cannot link a simple C program"
...
this might work:
CC="gcc -m32" LDSHARED="gcc -m32" FF="gfortran -m32" linux32 python setup.py build
That didn't work. It says it can't find executable "gcc -m32". I tried changing ccompiler.py, per the stackoverflow post. I got further that time, but it fails with the message:
So this is what ended of working:
CC=gcc-32 LDSHARED=ld-32 LDFLAGS="-m32 -shared -L$LD_LIBRARY_PATH" python2.7 setup.py build
Somehow the value of LD_LIBRARY_PATH gets lost along the way. Perhaps distutils re-exports it with a different value, prior to calling the linker.
I was getting a gfortran error at one point, but I guess it inherits -m32 from gcc-m32, so it doesn't have to be set explicitly.
I still want to look into the code, to see what's going on in there. I may just write a custom config module, that allows me to pass in the build flags more cleanly.
weird it works for me with libpython2.7-dev:i386 installed on amd64 Ubuntu 13.10 (multiarch is friggin great :D) But I had to add an additional LDFLAGS="-m32 -shared"
CC="gcc -m32" LDSHARED="gcc -m32 -shared" LDFLAGS="-m32 -shared" linux32 python setup.py build
you should be able to work around this error message by writing small wrapper scripts for the compiler:
cat << EOF > gcc-32 #!/bin/sh gcc -m32 "$@" EOF ... CC=gcc-32 ....
NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion
NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion