[Numpy-discussion] Compiling NumPy on 64 bit Solaris 10 sparc)

Dr. David Kirkby david.kirkby at onetel.net
Fri Jul 30 04:44:12 EDT 2010


On 06/17/10 02:53 PM, Ralf Gommers wrote:
> On Tue, Jun 15, 2010 at 11:06 AM, Chris LeBlanc<crleblanc at gmail.com>  wrote:
>
>> Hi,
>>
>> Firstly thanks to everyone that has helped bring NumPy to the point it
>> is today.  Its an excellent bit of software.
>>
>> I've recently managed to get NumPy to compile on a 64 bit Solaris 10
>> (sparc) machine.  We've embedded 64 bit Python in some of our C code
>> using the Python C-API, and therefore require a 64 bit version of
>> NumPy.
>>
>> I had to use a bit of a hack to get NumPy to compile in 64 bit mode,
>> and I'm just wondering if there's a more elegant way of doing it?
>>
>> If I set CFLAGS to "-m64 -xcode=pic32", and CC to "/usr/bin/cc", it
>> will raise the following error:
>>
>> ... snipped most of backtrace ...
>>   File "/home/leblanc/source/numpy/numpy/distutils/command/build_src.py",
>> line 385, in generate_sources
>>     source = func(extension, build_dir)
>>   File "numpy/core/setup.py", line 675, in get_mathlib_info
>>     raise RuntimeError("Broken toolchain: cannot link a simple C program")
>>
>> However, if I create a wrapper script and set CC to the path of the
>> wrapper, then it will build normally and create a NumPy module I can
>> use from the 64 bit version of Python installed on the system
>> (/usr/bin/sparcv9/python).  Here's the wrapper:
>>
>> #!/bin/sh
>> /usr/bin/cc -m64 -xcode=pic32 $*
>>
>> I did a bit of googling and couldn't find much information on this
>> issue (which is why I wanted to post this message, so others could
>> find it).  I'm satisfied with the results, but wondering if there's a
>> better way to do it.
>>
>> It's because CFLAGS does not append to but overrides flags. Your wrapper
> script manages to append flags.
>
> Does the patch in http://projects.scipy.org/numpy/ticket/1382 work for you?
> If so it can be applied I think.
>
> Cheers,
> Ralf

Ralf, looking at that patch, it is for the Sun compiler and will not work with gcc.

However, I did find a very simple solution to this.

CC="gcc -m64"
export CC

then Numpy builds fine. (I also had CFLAGS set too, though I'm not sure if 
that's really necessary if CC is set).

Dave



More information about the NumPy-Discussion mailing list