[Numpy-discussion] build failure with macosx-10.5-fat64-2.6
David Warde-Farley
dwf at cs.toronto.edu
Tue May 19 20:26:02 EDT 2009
I've just tried a "fat 64" build (with a Python 2.6.2 that had been
built similarly), and I'm getting this weird behaviour. The command I
used was:
CFLAGS="-O3 -Wall -DNDEBUG -g -fwrapv -Wstrict-prototypes -arch x86_64
-arch ppc64" python setup.py build
It looks as though for some reason, numpy distutils is executing gcc
without any -arch flags, and falling back to the guessed architecture
ppc (which in my cases is not even partially correct, as I was
building x86_64 and ppc64 only).
Building with CC="gcc -arch x86_64 -arch ppc64" fixes things, but I
guess this is a bug in numpy distutils if it's not respecting CFLAGS
during these config tests. Output is below.
Cheers,
David
------------
C compiler: gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -O3 -
Wall -DNDEBUG -g -fwrapv -Wstrict-prototypes -arch x86_64 -arch ppc64
compile options: '-Inumpy/core/src -Inumpy/core/src/multiarray -Inumpy/
core/src/umath -Inumpy/core/include -I/Library/Frameworks/
Python64.framework/Versions/2.6/include/python2.6 -c'
gcc: _configtest.c
_configtest.c:1: warning: conflicting types for built-in function ‘exp’
_configtest.c:1: warning: conflicting types for built-in function ‘exp’
gcc _configtest.o -o _configtest
ld warning: in _configtest.o, missing required architecture ppc in file
Undefined symbols:
"_main", referenced from:
start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
ld warning: in _configtest.o, missing required architecture ppc in file
Undefined symbols:
"_main", referenced from:
start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
failure.
removing: _configtest.c _configtest.o
C compiler: gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -O3 -
Wall -DNDEBUG -g -fwrapv -Wstrict-prototypes -arch x86_64 -arch ppc64
compile options: '-Inumpy/core/src -Inumpy/core/src/multiarray -Inumpy/
core/src/umath -Inumpy/core/include -I/Library/Frameworks/
Python64.framework/Versions/2.6/include/python2.6 -c'
gcc: _configtest.c
_configtest.c:1: warning: conflicting types for built-in function ‘exp’
_configtest.c:1: warning: conflicting types for built-in function ‘exp’
gcc _configtest.o -lm -o _configtest
ld warning: in _configtest.o, missing required architecture ppc in file
Undefined symbols:
"_main", referenced from:
start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
ld warning: in _configtest.o, missing required architecture ppc in file
Undefined symbols:
"_main", referenced from:
start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
failure.
removing: _configtest.c _configtest.o
C compiler: gcc -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -O3 -
Wall -DNDEBUG -g -fwrapv -Wstrict-prototypes -arch x86_64 -arch ppc64
compile options: '-Inumpy/core/src -Inumpy/core/src/multiarray -Inumpy/
core/src/umath -Inumpy/core/include -I/Library/Frameworks/
Python64.framework/Versions/2.6/include/python2.6 -c'
gcc: _configtest.c
_configtest.c:1: warning: conflicting types for built-in function ‘exp’
_configtest.c:1: warning: conflicting types for built-in function ‘exp’
gcc _configtest.o -lcpml -o _configtest
ld: library not found for -lcpml
collect2: ld returned 1 exit status
ld: library not found for -lcpml
collect2: ld returned 1 exit status
failure.
removing: _configtest.c _configtest.o
Traceback (most recent call last):
File "setup.py", line 172, in <module>
setup_package()
File "setup.py", line 165, in setup_package
configuration=configuration )
File "/Users/dwf/src/numpy-svn/numpy/distutils/core.py", line 184,
in setup
return old_setup(**new_attr)
File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
python2.6/distutils/core.py", line 152, in setup
dist.run_commands()
File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
python2.6/distutils/dist.py", line 975, in run_commands
self.run_command(cmd)
File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
python2.6/distutils/dist.py", line 995, in run_command
cmd_obj.run()
File "/Users/dwf/src/numpy-svn/numpy/distutils/command/build.py",
line 37, in run
old_build.run(self)
File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
python2.6/distutils/command/build.py", line 134, in run
self.run_command(cmd_name)
File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
python2.6/distutils/cmd.py", line 333, in run_command
self.distribution.run_command(command)
File "/Library/Frameworks/Python64.framework/Versions/2.6/lib/
python2.6/distutils/dist.py", line 995, in run_command
cmd_obj.run()
File "/Users/dwf/src/numpy-svn/numpy/distutils/command/
build_src.py", line 130, in run
self.build_sources()
File "/Users/dwf/src/numpy-svn/numpy/distutils/command/
build_src.py", line 147, in build_sources
self.build_extension_sources(ext)
File "/Users/dwf/src/numpy-svn/numpy/distutils/command/
build_src.py", line 250, in build_extension_sources
sources = self.generate_sources(sources, ext)
File "/Users/dwf/src/numpy-svn/numpy/distutils/command/
build_src.py", line 307, in generate_sources
source = func(extension, build_dir)
File "numpy/core/setup.py", line 337, in generate_config_h
mathlibs = check_mathlib(config_cmd)
File "numpy/core/setup.py", line 281, in check_mathlib
raise EnvironmentError("math library missing; rerun "
EnvironmentError: math library missing; rerun setup.py after setting
the MATHLIB env variable
More information about the NumPy-Discussion
mailing list