Problem building 1.3.0 on x86_64 platform
Hi, I am attempting (and failing...) to build numpy on a Scientific Linux 4.6 x86_64 (essentially RHEL I believe) with Python 2.4 (i386). The machine has the following Python RPM installed: python2.4-2.4-1pydotorg.i386 python2.4-tools-2.4-1pydotorg.i386 python2.4-devel-2.4-1pydotorg.i386 And also has gcc, g++ and f77 installed. Running python setup.py config appears to be successful, with lots of warnings abougt ATLAS, BLAS etc not being available (this is fine, I just want numpy for the array handling features used in matplotlib). However, the build fails (following doesn't show missing library warnings, as above): ------------------------------------------------------------------------------------------------------ running build running config_cc unifing config_cc, config, build_clib, build_ext, build commands -- compiler options running config_fc unifing config_fc, config, build_clib, build_ext, build commands -- fcompiler options running build_src building py_modules sources building library "npymath" sources building extension "numpy.core._sort" sources Generating build/src.linux-x86_64-2.4/numpy/core/include/numpy/config.h customize GnuFCompiler Found executable /usr/bin/g77 gnu: no Fortran 90 compiler found gnu: no Fortran 90 compiler found customize GnuFCompiler gnu: no Fortran 90 compiler found gnu: no Fortran 90 compiler found customize GnuFCompiler using config C compiler: gcc -pthread -fno-strict-aliasing -DNDEBUG -g -O3 -Wall - Wstrict-prototypes -fPIC compile options: '-Inumpy/core/src -Inumpy/core/include -I/usr/include/ python2.4 -c' gcc: _configtest.c In file included from /usr/include/python2.4/Python.h:55, from _configtest.c:1: /usr/include/python2.4/pyport.h:612:2: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)." In file included from /usr/include/python2.4/Python.h:55, from _configtest.c:1: /usr/include/python2.4/pyport.h:612:2: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)." failure. removing: _configtest.c _configtest.o Traceback (most recent call last): File "setup.py", line 172, in ? setup_package() File "setup.py", line 165, in setup_package configuration=configuration ) File "/home/castormonitor/PythonLibs/numpy-1.3.0/numpy/distutils/ core.py", line 184, in setup return old_setup(**new_attr) File "/var/tmp/python2.4-2.4-root/usr/lib/python2.4/distutils/ core.py", line 149, in setup File "/var/tmp/python2.4-2.4-root/usr/lib/python2.4/distutils/ dist.py", line 946, in run_commands File "/var/tmp/python2.4-2.4-root/usr/lib/python2.4/distutils/ dist.py", line 966, in run_command File "/home/castormonitor/PythonLibs/numpy-1.3.0/numpy/distutils/ command/build.py", line 37, in run old_build.run(self) File "/var/tmp/python2.4-2.4-root/usr/lib/python2.4/distutils/ command/build.py", line 112, in run File "/usr/lib/python2.4/cmd.py", line 333, in run_command del help[cmd] File "/var/tmp/python2.4-2.4-root/usr/lib/python2.4/distutils/ dist.py", line 966, in run_command File "/home/castormonitor/PythonLibs/numpy-1.3.0/numpy/distutils/ command/build_src.py", line 130, in run self.build_sources() File "/home/castormonitor/PythonLibs/numpy-1.3.0/numpy/distutils/ command/build_src.py", line 147, in build_sources self.build_extension_sources(ext) File "/home/castormonitor/PythonLibs/numpy-1.3.0/numpy/distutils/ command/build_src.py", line 250, in build_extension_sources sources = self.generate_sources(sources, ext) File "/home/castormonitor/PythonLibs/numpy-1.3.0/numpy/distutils/ command/build_src.py", line 307, in generate_sources source = func(extension, build_dir) File "numpy/core/setup.py", line 286, in generate_config_h moredefs, ignored = cocache.check_types(config_cmd, ext, build_dir) File "numpy/core/setup.py", line 30, in check_types out = check_types(*a, **kw) File "numpy/core/setup.py", line 185, in check_types raise SystemError( SystemError: Cannot compiler 'Python.h'. Perhaps you need to install python-dev|python-devel. ------------------------------------------------------------------------------------------------------ I note that the distribution directory being created is build/ src.linux-x86_64-2.4 - not i386. Can I force the architecture in the configure step, as it appears this would be the problem (hinted at by LONG_BIG wrong for platform error). Any hints gratefully received! Regards, James.
On Wed, May 13, 2009 at 6:14 AM, James Jackson
I note that the distribution directory being created is build/ src.linux-x86_64-2.4 - not i386. Can I force the architecture in the configure step, as it appears this would be the problem (hinted at by LONG_BIG wrong for platform error).
You should make sure you are using the 32 bits python, so that 32 bits headers will be used. You could use the following to check: python -c "import platform; print platform.architecture()" cheers, David
participants (2)
-
David Cournapeau
-
James Jackson