[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