pip: pip 19.1.1 (get-pip.py) fails to installing egenix-mx-base with a gcc error (older version works fine)

Environment

  • pip version:19.1.1
  • Python version: 2.7.13
  • OS: debian:9

Reproduced in docker containers but I assume it is not specific to that.

Description A pip install of egenix-mx-base fails with a gcc error when using recent pip 19.1.1 from a get-pip.py install. Oddly, it works with the debian repo’s pip, an older version.

Expected behavior Weird, it works with debian stretch’s pip 9.0.1 from apt-get:

$ docker run -ti debian:9 bash
root@d35ede567f65:/# apt-get update &&  apt-get install -y curl python
root@d35ede567f65:/# apt-get install -y python-pip
root@d35ede567f65:/# pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)
root@d35ede567f65:/#  pip install egenix-mx-base==3.2.9
Collecting egenix-mx-base==3.2.9
  Downloading https://files.pythonhosted.org/packages/66/e6/e0709aedeb4a5c92a1aeb8c47ab50e9506eafc865806801bd3f01d72b671/egenix-mx-base-3.2.9.zip (74kB)
    100% |################################| 81kB 2.8MB/s 
Building wheels for collected packages: egenix-mx-base
  Running setup.py bdist_wheel for egenix-mx-base ... done
  Stored in directory: /root/.cache/pip/wheels/4f/65/d2/412735e56129b7dbcbc803c2250fb807936d7dab95a61e05fd
Successfully built egenix-mx-base
Installing collected packages: egenix-mx-base
Successfully installed egenix-mx-base-3.2.9

How to Reproduce

$ docker run -ti debian:9 bash
# apt-get update &&  apt-get install -y curl python
# curl https://bootstrap.pypa.io/get-pip.py | python # versus "apt-get install python-pip"
# pip install egenix-mx-base==3.2.9
ERROR

Output

$ docker run -ti debian:9 bash
root@55b6cd5675fa:/# apt-get update &&  apt-get install -y curl python
root@55b6cd5675fa:/# curl https://bootstrap.pypa.io/get-pip.py | python
root@55b6cd5675fa:/# pip --version
pip 19.1.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
root@55b6cd5675fa:/# pip install egenix-mx-base==3.2.9
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Collecting egenix-mx-base==3.2.9
  Downloading https://files.pythonhosted.org/packages/66/e6/e0709aedeb4a5c92a1aeb8c47ab50e9506eafc865806801bd3f01d72b671/egenix-mx-base-3.2.9.zip (74kB)
     |################################| 81kB 3.3MB/s 
Building wheels for collected packages: egenix-mx-base
  Building wheel for egenix-mx-base (setup.py) ... error
  ERROR: Complete output from command /usr/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-4VK36c/egenix-mx-base/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-fKh8Yd --python-tag cp27:
  ERROR: running bdist_wheel
  found usable build data file 'build/build-py2.7_ucs4.pck'
  prebuilt archive found: skipping the build process and loading the prebuilt archive
  setting platform to 'linux-x86_64'
  restoring build data from a previous build run
  loaded build data for platform 'linux-x86_64'
  installing to build/bdist.linux-x86_64-py2.7_ucs4/wheel
  running install
  running install_lib
  running build_ext
  
  building extension "mx.DateTime.mxDateTime.mxDateTime" (required)
  checking for optional libraries
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-2.7.13=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c _configtest.c -o _configtest.o
  unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
  failure.
  removing: _configtest.c _configtest.o
  could not find optional library 'm' -- omitting it
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-2.7.13=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c _configtest.c -o _configtest.o
  unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
  failure.
  removing: _configtest.c _configtest.o
  could not find optional library 'rt' -- omitting it
  building 'mx.DateTime.mxDateTime.mxDateTime' extension
  creating build/temp.linux-x86_64-2.7_ucs4
  creating build/temp.linux-x86_64-2.7_ucs4/mx-DateTime-mxDateTime-mxDateTime
  creating build/temp.linux-x86_64-2.7_ucs4/mx-DateTime-mxDateTime-mxDateTime/mx
  creating build/temp.linux-x86_64-2.7_ucs4/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime
  creating build/temp.linux-x86_64-2.7_ucs4/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-2.7.13=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DUSE_FAST_GETCURRENTTIME -Imx/DateTime/mxDateTime -I/usr/include/python2.7 -c mx/DateTime/mxDateTime/mxDateTime.c -o build/temp.linux-x86_64-2.7_ucs4/mx-DateTime-mxDateTime-mxDateTime/mx/DateTime/mxDateTime/mxDateTime.o
  unable to execute 'x86_64-linux-gnu-gcc': No such file or directory
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for egenix-mx-base
  Running setup.py clean for egenix-mx-base
Failed to build egenix-mx-base
Installing collected packages: egenix-mx-base
  Running setup.py install for egenix-mx-base ... error
    ERROR: Complete output from command /usr/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-4VK36c/egenix-mx-base/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-RdEYCg/install-record.txt --single-version-externally-managed --compile:
    ERROR: running install
    no build data file 'build/build-py2.7_ucs4.pck' found
    error: [Errno 2] No such file or directory: 'build/build-py2.7_ucs4.pck'
    ----------------------------------------
ERROR: Command "/usr/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-4VK36c/egenix-mx-base/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-RdEYCg/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-4VK36c/egenix-mx-base/

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 15 (7 by maintainers)

Most upvoted comments

Alrighty! Thanks for checking @cthart! ^.^

Can someone check if this is reproducible with pip 20.0.2?

I was able to install egenix-mx-base using pip 18.1 as available in debian buster. See:

docker run -it debian:buster bash
$ apt update
$ apt install python python-pip python-virtualenv
$ sed -i 's/TLSv1.2/TLSv1.0/g' /etc/ssl/openssl.cnf
$ pip install egenix-mx-base

Additionally, running in a virtual environment (since upgrading the global dist-installed pip with pip is unsupported), I was able to install it with 19.0.1, but it fails with 19.1 and 19.1.1, with the same output as in your most recent error.