Hello, I am trying to call a bash script on Ubuntu from Matlab. The script is itself a call to some python code in the form of mpiexec -n 4 python $PY_SCRIPT_PATH $1 $2 $3 $4 The python code uses opencv, cuda, ...: from sys import argv import numpy as np import time import colorsys import matplotlib.image as img import matplotlib.pyplot as plt import scipy.misc as scipy import cv2 from Cheetah.Template import Template import pycuda.compiler as nvcc import pycuda.gpuarray as gpu import pycuda.driver as cu import pycuda.autoinit from mpi4py import MPI import math The matlab terminal outputs ImportError: /usr/lib/python2.7/dist-packages/cv2.so: undefined symbol: _ZTIN2cv5BRISKE when I try to run the command. I tried reloading the .bashrc from the script to reset the environment variables with no luck. Does anyone know how to fix it?
John Williams answered .
2025-11-20
i ran into a possible explanation from this SO question that references trying to import opencv:
dlopen(/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cv2.so, 2): Library not loaded: /opt/local/lib/libtiff.5.dylib
Referenced from: /opt/local/lib/libopencv_highgui.2.4.dylib
Reason: Incompatible library version: libopencv_highgui.2.4.dylib requires version 8.0.0 or later, but libtiff.5.dylib provides version 6.0.0