numba: numba 0.40.0 installed via pip from PyPI: _dl_check_map_versions: Assertion `needed != NULL' failed!
Minimal reproduction case
import numba
# let's try to use openmp
numba.config.THREADING_LAYER = 'omp'
@numba.njit(parallel=True)
def do_stuff(a):
for i in numba.prange(100):
a += i
return a
print(do_stuff(0))
When I execute that script with numba 0.40.0 I get:
Inconsistency detected by ld.so: dl-version.c: 224: _dl_check_map_versions: Assertion `needed != NULL' failed!
Environment
Linux with Python 3.7 and a virtualenv with the following lib versions:
$ pip show numba llvmlite tbb
Name: numba
Version: 0.40.0
Summary: compiling Python code using LLVM
Home-page: http://numba.github.com
Author: Anaconda, Inc.
Author-email: numba-users@continuum.io
License: BSD
Location: /opt/venvs/py37/lib/python3.7/site-packages
Requires: llvmlite, numpy
Required-by: pygbm
---
Name: llvmlite
Version: 0.25.0
Summary: lightweight wrapper around basic LLVM functionality
Home-page: http://llvmlite.pydata.org
Author: Continuum Analytics, Inc.
Author-email: numba-users@continuum.io
License: BSD
Location: /opt/venvs/py37/lib/python3.7/site-packages
Requires:
Required-by: numba
---
Name: tbb
Version: 2019.0
Summary: High level abstract threading library
Home-page: https://software.intel.com/en-us/
Author: Intel Corporation
Author-email: scripting@intel.com
License: Proprietary - Intel
Location: /opt/venvs/py37/lib/python3.7/site-packages
Requires:
Required-by:
Note that tbb is installed but cannot be imported:
$ python -m tbb --help
/opt/venvs/py37/bin/python: No module named tbb
This is why I forced the use of openmp in the previous example.
Note that I cannot reproduce the problem when running from a conda env with numba and llvmlite installed from the numba channel.
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 22 (13 by maintainers)
FYI, you can reproduce with:
This workaround works for me (for those of us on Python 2.7 😃
Numba doesn’t depend on the tbb python module, just the shared library installed by the wheel to
lib/.