Skip to content

Instantly share code, notes, and snippets.

@matthewfeickert
Last active May 6, 2019 18:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save matthewfeickert/284cbddc4a60aca2dcda29c354189b35 to your computer and use it in GitHub Desktop.
Save matthewfeickert/284cbddc4a60aca2dcda29c354189b35 to your computer and use it in GitHub Desktop.
Error Report on iminuit install failure on Ubuntu 18.04

I have a Docker image with Python 3.6.8 installed from source on Ubuntu 18.04 and two install scripts that given the stated requirements in the current docs should be able to install iminiuit but fail instead.

install_from_PyPI.sh attempts to install iminuit from PyPI

docker run --rm -it matthewfeickert/docker-python3-ubuntu:3.6.8
git clone https://gist.github.com/matthewfeickert/284cbddc4a60aca2dcda29c354189b35 && cd 284cbddc4a60aca2dcda29c354189b35
source install_from_PyPI.sh

install_from_GitHub.sh attempts to install iminuit from the master branch on GitHub to avoid the tests_require error that was fixed in iminuit PR 324 after the last PyPI release

docker run --rm -it matthewfeickert/docker-python3-ubuntu:3.6.8
git clone https://gist.github.com/matthewfeickert/284cbddc4a60aca2dcda29c354189b35 && cd 284cbddc4a60aca2dcda29c354189b35
source install_from_GitHub.sh

These both fail with this Ubuntu Docker image which meets the install requirements. However, if the Python 3.6.8 Debian container is used the installation will succeed.

docker run --rm -it python:3.6.8 /bin/bash
git clone https://gist.github.com/matthewfeickert/284cbddc4a60aca2dcda29c354189b35 && cd 284cbddc4a60aca2dcda29c354189b35
source install_from_GitHub.sh

This seems strange to me, as the Docker image I have meets all the requirements and is able to install additional libraires with no issues. Can you comment on why you think iminuit is failing? Obviously the error is coming from

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/docker/.local/lib/python3.6/site-packages/iminuit/__init__.py", line 27, in <module>
    from ._libiminuit import Minuit
ImportError: /home/docker/.local/lib/python3.6/site-packages/iminuit/_libiminuit.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZTVN10__cxxabiv117__class_type_infoE

but this seems like it shouldn't be happening.

#!/usr/bin/env bash
cat /etc/os-release
gcc --version
pip3 install --user --upgrade pip setuptools wheel
pip3 install --user cython
pip3 install --user "git+https://github.com/scikit-hep/iminuit.git#egg=iminuit"
pip3 install --user pytest
python3 -c "import iminuit; iminuit.test()"
#!/usr/bin/env bash
cat /etc/os-release
gcc --version
pip3 install --user --upgrade pip setuptools wheel
pip3 install --user cython
pip3 install --user iminuit
pip3 install --user pytest
python3 -c "import iminuit; iminuit.test()"
@matthewfeickert
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment