It appears, at runtime, MATLAB gives preference to shared libraries in the MATLAB installation. This leads to using different libraries than what igraph was compilled with. There have been a few unexpected crashes when running MEX files that may be caused by this. For example, running the dotproduct random game crashes with the stack trace:
Specifically, mkl's blas is used for the ddot command instead of using openblas (the blas used when compiling igraph).
Can either try to force MATLAB to link against values defined in rpath or try to compile igraph with the MATLAB's libraries, where possible. Given that MATLAB provides versions of libxml2, GMP, ARPACK, and BLAS and LAPACK, this may significantly simplify distribution of precompiled binaries. Particularly if MATLAB will automatically set the path to the libraries at link time so the location of the MATLAB installation on the machine the binaries were compiled on doesn't matter. However, I am not sure how to point CMake to the MATLAB's libraries when compiling igraph since CMake's find_package is failing to find MATLAB.
It appears, at runtime, MATLAB gives preference to shared libraries in the MATLAB installation. This leads to using different libraries than what igraph was compilled with. There have been a few unexpected crashes when running MEX files that may be caused by this. For example, running the
dotproduct
random game crashes with the stack trace:Despite
ldd
's output:Specifically, mkl's blas is used for the
ddot
command instead of using openblas (the blas used when compiling igraph).Can either try to force MATLAB to link against values defined in rpath or try to compile igraph with the MATLAB's libraries, where possible. Given that MATLAB provides versions of libxml2, GMP, ARPACK, and BLAS and LAPACK, this may significantly simplify distribution of precompiled binaries. Particularly if MATLAB will automatically set the path to the libraries at link time so the location of the MATLAB installation on the machine the binaries were compiled on doesn't matter. However, I am not sure how to point CMake to the MATLAB's libraries when compiling igraph since CMake's
find_package
is failing to find MATLAB.