Hello! I am trying to run some code that requires both matlab.engine and opencv2, but loading both modules at once (in either order) causes errors in the script. Importing either separately works.
Looking around, some people seemed to have had similar problems, and this seems related to library versions, but I couldn't find anything specific to my error messages that indicates which library is causing my problem, or a good workaround. Any help is appreciated.
My system is Ubuntu 16.10, by the way.
Below are the relevant error messages:
Loading opencv2 first, then matlab.engine:
Python 3.5.2+ (default, Sep 22 2016, 12:18:14) [GCC 6.2.0 20160927] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import cv2>>> import matlab.engineTraceback (most recent call last): File "/usr/local/lib/python3.5/dist-packages/matlab/engine/__init__.py", line 42, in <module> pythonengine = importlib.import_module("matlabengineforpython"+_PYTHONVERSION) File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 986, in _gcd_import File "<frozen importlib._bootstrap>", line 969, in _find_and_load File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlockedImportError: No module named 'matlabengineforpython3_5'During handling of the above exception, another exception occurred:Traceback (most recent call last): File "/usr/local/lib/python3.5/dist-packages/matlab/engine/__init__.py", line 58, in <module> pythonengine = importlib.import_module("matlabengineforpython"+_PYTHONVERSION) File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 986, in _gcd_import File "<frozen importlib._bootstrap>", line 969, in _find_and_load File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 666, in _load_unlocked File "<frozen importlib._bootstrap>", line 577, in module_from_spec File "<frozen importlib._bootstrap_external>", line 914, in create_module File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removedImportError: /usr/local/MATLAB/R2016b/extern/engines/python/dist/matlab/engine/glnxa64/../../../../../../../bin/glnxa64/libssl.so.1.0.0: undefined symbol: EVP_idea_cbcDuring handling of the above exception, another exception occurred:Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.5/dist-packages/matlab/engine/__init__.py", line 61, in <module> 'MathWorks Technical Support for assistance: %s' % e)
OSError: Please reinstall MATLAB Engine for Python or contact MathWorks Technical Support for assistance: /usr/local/MATLAB/R2016b/extern/engines/python/dist/matlab/engine/glnxa64/../../../../../../../bin/glnxa64/libssl.so.1.0.0: undefined symbol: EVP_idea_cbc
Loading matlab.engine first, then opencv2:
Python 3.5.2+ (default, Sep 22 2016, 12:18:14) [GCC 6.2.0 20160927] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import matlab.engine>>> import cv2Traceback (most recent call last): File "<stdin>", line 1, in <module>ImportError: /usr/local/MATLAB/R2016b/extern/engines/python/dist/matlab/engine/glnxa64/../../../../../../../sys/os/glnxa64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-x86_64-linux-gnu.so)Error in sys.excepthook:Traceback (most recent call last): File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook from apport.fileutils import likely_packaged, get_recent_crashes File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module> from apport.report import Report File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module> import apport.fileutils File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module> from apport.packaging_impl import impl as packaging File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module> import apt File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module> import apt_pkgImportError: /usr/local/MATLAB/R2016b/extern/engines/python/dist/matlab/engine/glnxa64/../../../../../../../sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/python3/dist-packages/apt_pkg.cpython-35m-x86_64-linux-gnu.so)Original exception was:Traceback (most recent call last): File "<stdin>", line 1, in <module>ImportError: /usr/local/MATLAB/R2016b/extern/engines/python/dist/matlab/engine/glnxa64/../../../../../../../sys/os/glnxa64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/local/lib/python3.5/dist-packages/cv2.cpython-35m-x86_64-linux-gnu.so)>>>
Best Answer