Bug 1049199 - There is not possible to install numpy on python-3.3 cartridge
Summary: There is not possible to install numpy on python-3.3 cartridge
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: OpenShift Online
Classification: Red Hat
Component: Image
Version: 2.x
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: ---
: ---
Assignee: Alex Smith
QA Contact: libra bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-01-07 08:21 UTC by chunchen
Modified: 2016-09-30 02:15 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-01-17 21:20:08 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description chunchen 2014-01-07 08:21:06 UTC
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:

Comment 1 Dan Mace 2014-01-15 21:05:50 UTC
Should be working with SCL Python 3.3 in the latest devenvs.

Comment 2 Alex Smith 2014-01-15 21:16:04 UTC
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)

Comment 3 Alex Smith 2014-01-17 21:20:08 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.