Description of problem: It's failed to install numpy on python-3.3 Version-Release number of selected component (if applicable): devenv_4192 How reproducible: always Steps to Reproduce: 1. Create a python-3.3 app 2. Modify the setup.py file as below: cat setup.py from setuptools import setup setup(name='YourAppName', version='1.0', description='OpenShift Python-3.3 Community Cartridge based application', author='Your Name', author_email='ramr', url='http://www.python.org/sigs/distutils-sig/', # Uncomment one or more lines below in the install_requires section # for the specific client drivers/modules your application needs. install_requires=[ 'numpy', ], ) 3. Git push the changes git add .; git commit -amp; git push Actual results: <---------snip----------> remote: Building git ref 'master', commit e8d8be3 remote: - Created/Updated virtenv and activated it. remote: - Found setup.py. Processing it ... remote: running develop remote: running egg_info remote: creating YourAppName.egg-info remote: writing dependency_links to YourAppName.egg-info/dependency_links.txt remote: writing requirements to YourAppName.egg-info/requires.txt remote: writing top-level names to YourAppName.egg-info/top_level.txt remote: writing YourAppName.egg-info/PKG-INFO remote: writing manifest file 'YourAppName.egg-info/SOURCES.txt' remote: reading manifest file 'YourAppName.egg-info/SOURCES.txt' remote: writing manifest file 'YourAppName.egg-info/SOURCES.txt' remote: running build_ext remote: Creating /var/lib/openshift/527c909734343c3753000002/app-root/runtime/dependencies/python/virtenv/venv/lib/python3.3/site-packages/YourAppName.egg-link (link to .) remote: YourAppName 1.0 is already the active version in easy-install.pth remote: remote: Installed /var/lib/openshift/527c909734343c3753000002/app-root/runtime/repo remote: Processing dependencies for YourAppName==1.0 remote: Searching for numpy remote: Reading http://mirror1.ops.rhcloud.com/mirror/python/web/simple/numpy/ remote: Best match: numpy 1.8.0 remote: Downloading http://mirror1.ops.rhcloud.com/mirror/python/web/packages/source/n/numpy/numpy-1.8.0.zip#md5=6c918bb91c0cfa055b16b13850cfcd6e remote: Processing numpy-1.8.0.zip remote: Writing /tmp/easy_install-l8dp2j/numpy-1.8.0/setup.cfg remote: Running numpy-1.8.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-l8dp2j/numpy-1.8.0/egg-dist-tmp-qtw23d remote: /bin/sh: svnversion: command not found remote: non-existing path in 'numpy/distutils': 'site.cfg' remote: Found executable /usr/bin/gfortran remote: ATLAS version 3.8.4 built by mockbuild on Thu Feb 9 08:22:21 EST 2012: remote: UNAME : Linux x86-010.build.bos.redhat.com 2.6.18-274.17.1.el5 #1 SMP Wed Jan 4 22:45:44 EST 2012 x86_64 x86_64 x86_64 GNU/Linux remote: INSTFLG : -1 0 -a 1 remote: ARCHDEFS : -DATL_OS_Linux -DATL_ARCH_P4E -DATL_CPUMHZ=3600 -DATL_SSE2 -DATL_SSE1 -DATL_USE64BITS -DATL_GAS_x8664 remote: F2CDEFS : -DAdd_ -DF77_INTEGER=int -DStringSunStyle remote: CACHEEDGE: 524288 remote: F77 : gfortran, version GNU Fortran (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) remote: F77FLAGS : -fomit-frame-pointer -mfpmath=387 -O2 -falign-loops=4 -g -Wa,--noexecstack -fPIC -m64 remote: SMC : gcc, version gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) remote: SMCFLAGS : -fomit-frame-pointer -mfpmath=387 -O2 -falign-loops=4 -g -Wa,--noexecstack -fPIC -m64 remote: SKC : gcc, version gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) remote: SKCFLAGS : -fomit-frame-pointer -mfpmath=387 -O2 -falign-loops=4 -g -Wa,--noexecstack -fPIC -m64 remote: /bin/sh: svnversion: command not found remote: non-existing path in 'numpy/lib': 'benchmarks' remote: _configtest.c:1: warning: conflicting types for built-in function 'exp' remote: _configtest.o: In function `main': remote: /tmp/easy_install-l8dp2j/numpy-1.8.0/_configtest.c:6: undefined reference to `exp' remote: collect2: ld returned 1 exit status remote: _configtest.c:1: warning: conflicting types for built-in function 'exp' remote: _configtest.c:1:20: error: Python.h: No such file or directory remote: Running from numpy source directory. remote: Warning: distutils distribution has been initialized, it may be too late to add a subpackage commandWarning: distutils distribution has been initialized, it may be too late to add a subpackage fcompilerWarning: distutils distribution has been initialized, it may be too late to add a subpackage distutilsWarning: distutils distribution has been initialized, it may be too late to add a subpackage testingWarning: distutils distribution has been initialized, it may be too late to add a subpackage f2pyWarning: distutils distribution has been initialized, it may be too late to add an extension _dummyWarning: distutils distribution has been initialized, it may be too late to add a library npysortWarning: distutils distribution has been initialized, it may be too late to add an extension multiarrayWarning: distutils distribution has been initialized, it may be too late to add an extension umathWarning: distutils distribution has been initialized, it may be too late to add an extension scalarmathWarning: distutils distribution has been initialized, it may be too late to add an extension _dotblasWarning: distutils distribution has been initialized, it may be too late to add an extension umath_testsWarning: distutils distribution has been initialized, it may be too late to add an extension test_rationalWarning: distutils distribution has been initialized, it may be too late to add an extension struct_ufunc_testWarning: distutils distribution has been initialized, it may be too late to add an extension multiarray_testsWarning: distutils distribution has been initialized, it may be too late to add an extension operand_flag_testsWarning: distutils distribution has been initialized, it may be too late to add a subpackage coreWarning: distutils distribution has been initialized, it may be too late to add an extension _compiled_baseWarning: distutils distribution has been initialized, it may be too late to add a subpackage libWarning: distutils distribution has been initialized, it may be too late to add a subpackage oldnumericWarning: distutils distribution has been initialized, it may be too late to add an extension _capiWarning: distutils distribution has been initialized, it may be too late to add a subpackage numarrayWarning: distutils distribution has been initialized, it may be too late to add an extension fftpack_liteWarning: distutils distribution has been initialized, it may be too late to add a subpackage fftWarning: distutils distribution has been initialized, it may be too late to add an extension lapack_liteWarning: distutils distribution has been initialized, it may be too late to add an extension _umath_linalgWarning: distutils distribution has been initialized, it may be too late to add a subpackage linalgWarning: distutils distribution has been initialized, it may be too late to add an extension mtrandWarning: distutils distribution has been initialized, it may be too late to add a subpackage randomWarning: distutils distribution has been initialized, it may be too late to add a subpackage maWarning: distutils distribution has been initialized, it may be too late to add a subpackage matrixlibWarning: distutils distribution has been initialized, it may be too late to add a subpackage compatWarning: distutils distribution has been initialized, it may be too late to add a subpackage polynomialWarning: distutils distribution has been initialized, it may be too late to add a subpackage docWarning: distutils distribution has been initialized, it may be too late to add a subpackage numpy_configtest.o: In function `main': remote: /tmp/easy_install-l8dp2j/numpy-1.8.0/_configtest.c:6: undefined reference to `exp' remote: collect2: ld returned 1 exit status remote: _configtest.c:1:20: error: Python.h: No such file or directory remote: Traceback (most recent call last): remote: File "/var/lib/openshift/527c909734343c3753000002/app-root/runtime/repo/setup.py", line 13, in <module> remote: 'numpy', remote: File "/var/lib/openshift/527c909734343c3753000002/python/opt/lib/python3.3/distutils/core.py", line 148, in setup remote: dist.run_commands() remote: File "/var/lib/openshift/527c909734343c3753000002/python/opt/lib/python3.3/distutils/dist.py", line 917, in run_commands remote: self.run_command(cmd) remote: File "/var/lib/openshift/527c909734343c3753000002/python/opt/lib/python3.3/distutils/dist.py", line 936, in run_command remote: cmd_obj.run() remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/command/develop.py", line 27, in run remote: self.install_for_development() remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/command/develop.py", line 129, in install_for_development remote: self.process_distribution(None, self.dist, not self.no_deps) remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/command/easy_install.py", line 688, in process_distribution remote: [requirement], self.local_index, self.easy_install remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/pkg_resources.py", line 588, in resolve remote: dist = best[req.key] = env.best_match(req, self, installer) remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/pkg_resources.py", line 834, in best_match remote: return self.obtain(req, installer) # try and download/install remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/pkg_resources.py", line 846, in obtain remote: return installer(requirement) remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/command/easy_install.py", line 604, in easy_install remote: return self.install_item(spec, dist.location, tmpdir, deps) remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/command/easy_install.py", line 634, in install_item remote: dists = self.install_eggs(spec, download, tmpdir) remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/command/easy_install.py", line 829, in install_eggs remote: return self.build_and_install(setup_script, setup_base) remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/command/easy_install.py", line 1109, in build_and_install remote: self.run_setup(setup_script, setup_base, args) remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/command/easy_install.py", line 1095, in run_setup remote: run_setup(setup_script, args) remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/sandbox.py", line 34, in run_setup remote: lambda: exec(compile(open( remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/sandbox.py", line 82, in run remote: return func() remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/sandbox.py", line 37, in <lambda> remote: {'__file__':setup_script, '__name__':'__main__'}) remote: File "setup.py", line 192, in <module> remote: File "setup.py", line 185, in setup_package remote: File "/tmp/easy_install-l8dp2j/numpy-1.8.0/numpy/distutils/core.py", line 169, in setup remote: File "/var/lib/openshift/527c909734343c3753000002/python/opt/lib/python3.3/distutils/core.py", line 148, in setup remote: dist.run_commands() remote: File "/var/lib/openshift/527c909734343c3753000002/python/opt/lib/python3.3/distutils/dist.py", line 917, in run_commands remote: self.run_command(cmd) remote: File "/var/lib/openshift/527c909734343c3753000002/python/opt/lib/python3.3/distutils/dist.py", line 936, in run_command remote: cmd_obj.run() remote: File "/var/lib/openshift/527c909734343c3753000002/python/virtenv/venv/lib/python3.3/site-packages/distribute-0.6.49-py3.3.egg/setuptools/command/bdist_egg.py", line 172, in run remote: self.run_command("egg_info") remote: File "/var/lib/openshift/527c909734343c3753000002/python/opt/lib/python3.3/distutils/cmd.py", line 313, in run_command remote: self.distribution.run_command(command) remote: File "/var/lib/openshift/527c909734343c3753000002/python/opt/lib/python3.3/distutils/dist.py", line 936, in run_command remote: cmd_obj.run() remote: File "/tmp/easy_install-l8dp2j/numpy-1.8.0/numpy/distutils/command/egg_info.py", line 10, in run remote: File "/var/lib/openshift/527c909734343c3753000002/python/opt/lib/python3.3/distutils/cmd.py", line 313, in run_command remote: self.distribution.run_command(command) remote: File "/var/lib/openshift/527c909734343c3753000002/python/opt/lib/python3.3/distutils/dist.py", line 936, in run_command remote: cmd_obj.run() remote: File "/tmp/easy_install-l8dp2j/numpy-1.8.0/numpy/distutils/command/build_src.py", line 153, in run remote: File "/tmp/easy_install-l8dp2j/numpy-1.8.0/numpy/distutils/command/build_src.py", line 170, in build_sources remote: File "/tmp/easy_install-l8dp2j/numpy-1.8.0/numpy/distutils/command/build_src.py", line 329, in build_extension_sources remote: File "/tmp/easy_install-l8dp2j/numpy-1.8.0/numpy/distutils/command/build_src.py", line 386, in generate_sources remote: File "numpy/core/setup.py", line 427, in generate_config_h remote: File "numpy/core/setup.py", line 42, in check_types remote: File "numpy/core/setup.py", line 288, in check_types remote: SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel. <-----------snip------------> Expected results: Should install numpy on python-3.3 successfully. Additional info:
Should be working with SCL Python 3.3 in the latest devenvs.
numpy 1.7 is already installed for python-3.3, so to reproduce this issue you'll need to specify another version of numpy so that it triggers a new build of that module. I set the following in my setup.py: install_requires=['numpy >= 1.8',], This triggered a build of numpy 1.8, which broke as described above. (devenv_4226)
This is a problem in numpy. See https://github.com/numpy/numpy/issues/2434 To work around this issue, you can install numpy on your gear through easy_install.