On Sun, May 6, 2012 at 1:35 PM, Tom Aldcroft
<[email protected]>wrote:

> I ran into a problem trying to build and import the numpy_quaternion
> extension on CentOS-5 x86_64:
>
> $ python setup.py build
> <SNIP>
> C compiler: gcc -pthread -fno-strict-aliasing -fPIC -g -O2 -DNDEBUG -g
> -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC
>
> compile options:
>
> '-I/data/cosmos2/ska/arch/x86_64-linux_CentOS-5/lib/python2.7/site-packages/numpy/core/include
> -I/data/cosmos2/ska/arch/x86_64-linux_CentOS-5/include/python2.7 -c'
> gcc: quaternion.c
> quaternion.c: In function \u2018quaternion_isfinite\u2019:
> quaternion.c:55: warning: implicit declaration of function
> \u2018isfinite\u2019
> gcc: numpy_quaternion.c
> gcc -pthread -shared build/temp.linux-x86_64-2.7/quaternion.o
> build/temp.linux-x86_64-2.7/numpy_quaternion.o -o
> build/lib.linux-x86_64-2.7/quaternion/numpy_quaternion.so
> running scons
>
> There was a subsequent import error with "numpy_quaternion.so:
> undefined symbol: isfinite".  This problem does not occur for Ubuntu
> 11.10 and I presume it is due to CentOS-5 gcc (4.1.2) defaulting to
> -c89.
>
> I fixed this in setup.py by adding "extra_compile_args['-std=c99']" to
> the add_extension() call.  Is there a more general way in numpy to
> deal with issues like this?
>
>
You might take a look at core/include/numpy/npy_math.h, which I suspect
goes with core/lib/libnpymath.a. Running nm on the latter, it looks like
there are some extra symbols exported, but that is a bit to the side.

Chuck
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to