usnistgov / pyMCR

pyMCR: Multivariate Curve Resolution for Python
https://pages.nist.gov/pyMCR
Other
80 stars 27 forks source link

Error related to missing libifport.so.5 required in scipy.linalg #37

Closed ankit7540 closed 3 years ago

ankit7540 commented 3 years ago

Hello,

This is an issue related to scipy ( specifically recent versions of intel optimized scipy ). Upon importing pymcr , an error related to missing libifport.so.5 file is encountered.

Build information

# Name                    Version                   Build  Channel
numpy                     1.17.0          py36ha68da19_13    intel
numpy-base                1.17.0                  py36_13    intel
scipy                     1.3.1            py36ha68da19_2    intel

Error observed

>>> import pymcr
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/ankit/miniconda3/envs/jupy56_new/lib/python3.6/site-packages/pymcr/__init__.py", line 2, in <module>
    from . import mcr
  File "/home/ankit/miniconda3/envs/jupy56_new/lib/python3.6/site-packages/pymcr/mcr.py", line 7, in <module>
    from pymcr.regressors import OLS, NNLS
  File "/home/ankit/miniconda3/envs/jupy56_new/lib/python3.6/site-packages/pymcr/regressors.py", line 14, in <module>
    from scipy.linalg import lstsq as _lstsq
  File "/home/ankit/miniconda3/envs/jupy56_new/lib/python3.6/site-packages/scipy/linalg/__init__.py", line 195, in <module>
    from .misc import *
  File "/home/ankit/miniconda3/envs/jupy56_new/lib/python3.6/site-packages/scipy/linalg/misc.py", line 5, in <module>
    from .blas import get_blas_funcs
  File "/home/ankit/miniconda3/envs/jupy56_new/lib/python3.6/site-packages/scipy/linalg/blas.py", line 214, in <module>
    from scipy.linalg import _fblas
ImportError: libifport.so.5: cannot open shared object file: No such file or directory

Solution Install specific version of scipy which has been tested with pymcr. From the documentation :

    Python (3.4, 3.5, 3.6, 3.7)
    numpy (1.9.3, 1.11.1, 1.11.3+mkl, 1.14.6, 1.16.2)
    scipy (1.0.0, 1.0.1, 1.1.0)
    sklearn, optional (0.20)
    Sphinx, optional (1.4.5, 1.5.2, 1.6.4, 1.8.4) – only for documentation building
ankit7540 commented 3 years ago

Additionally pymcr was tested and found to work with following dependencies :

scipy      1.2.0
numpy  1.18.5
python  3.7.9