You are not logged in.
For an OpenCV installation, I want to use atlas as BLAS implementation. There is not atlas package for BLAS on the official repositories, so I installed it from AUR (atlas-lapack).
I also installed python-numpy from the official repositories. I could have installed it with pip or anaconda but the archwiki recomends otherwise.
With this setup, I installed opencv from source, with Atlas for BLAS implementation and python3.8 bindings. However, `import cv2` failed with this error:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "cv2/__init__.py", line 8, in <module>
import numpy
File "/usr/lib/python2.7/site-packages/numpy/__init__.py", line 145, in <module>
from . import lib
File "/usr/lib/python2.7/site-packages/numpy/lib/__init__.py", line 9, in <module>
from .index_tricks import *
File "/usr/lib/python2.7/site-packages/numpy/lib/index_tricks.py", line 13, in <module>
import numpy.matrixlib as matrixlib
File "/usr/lib/python2.7/site-packages/numpy/matrixlib/__init__.py", line 6, in <module>
from .defmatrix import *
File "/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.py", line 13, in <module>
from numpy.linalg import matrix_power
File "/usr/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 51, in <module>
from .linalg import *
File "/usr/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 35, in <module>
from numpy.linalg import lapack_lite, _umath_linalg
ImportError: libopenblas.so.3: cannot open shared object file: No such file or directory
From this log I infer that numpy requires openblas. This requirement is not possible to fulfil because it would conflict with atlas. So I am forced either to remove atlas and use openblas or install numpy with anaconda, which is discouraged by the wiki.
IMHO one of these things should be done:
- Allow python-numpy package to link against atlas library if it is available
- Create a python-numpy package that links agains atlas library
- Change the text in the python packaging guideline so that it encourages pip or anaconda as python packages managers.
Maybe the three of them :)
Perhaps I'm missing something, could anyone give me a hand?
Last edited by capstayn (2019-12-22 09:42:14)
Offline
No, numpy doesn't depend on openblas. In fact, there is nothing in our repos that links to libopenblas.so.3, so this dependency comes from something you have installed from outside the official repos. Running 'lddtree /usr/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so' may give you some hint.
Offline
Yep, you are right. The error seems to come from atlas-lapack. Thanks for the tip.
Offline