-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Matlab uses a different version of boost compared to SIRF #207
Comments
Can you use the Boost that MATLAB uses for SIRF, or is the version inappropriate? |
MATLAB renamed the shared libs to example error:
|
we're not 100% sure which CMake flag to use to pass this to the linker. |
Linking mstir.mex with the above doesn't help. I then get
Using
causes Matlab to crash immediatelly (as it has 1.56.0 internally) |
My current feeling is that it'd be best to build with the same boost version as matlab, even if we don't use the matlab boost distributed libraries (because of the renaming of the libraries, I'm not sure if we can do that anyway). That in itself isn't trivial. We can set Enforcing some kind of consistency seems only doable by using the Superbuild. |
The alternative might be to statically link with boost. Presumably |
I managed to compile with statically linked boost libraries. This wasn't trivial, but it didn't help. Crash is still
I'll document the steps I had to follow:
Notes:
whereboost=${where}/TL/boost_1_68_0_static_versioned
cmake . -UBoost_INCLUDE_DIR -DBoost_NO_SYSTEM_PATHS=ON \
-DBOOST_ROOT=${whereboost} \
-DBOOST_INCLUDEDIR=${whereboost}/include/ -DBOOST_LIBRARYDIR=${whereboost}/lib \
-DBoost_USE_STATIC_LIBS=ON \
-DBoost_ARCHITECTURE=-x64 -DCMAKE_CXX_COMPILER_ARCHITECTURE_ID=x64
make install Notes:
|
Crash is here but is simply due to anything calling |
Hallelujah! I finally managed to get this to work by
@rijobro, I believe you edited CMakeLists.txt in our CentOS system to put in a requirement for boost which was more recent than 1.56.0, although the original (on git) is just 1.36.0. Any idea why you did that? Notes:
|
They experience the same troubles. |
Info from MathWorks:
|
closing as only applies to old MATLAB |
I'm trying to get SIRF installed on the remote desktop to the university. This means that we don't have complete control over installed packages etc.
I installed SIRF using a version of boost that we installed ourselves (
/slms/inm/research/tools/TL/lib/libboost_[component].so.1.68.0
). However, Matlab is using its own version of boost (/cs/sys/software2/Matlab/matlab-R2016b/bin/glnxa64/libboost_[component].so.1.56.0
). This causes matlab to crash as I try to load the SIRF libraries and the ctests fail accordingly.I gave the following a go:
cmake --DCMAKE_MODULE_LINKER_FLAGS=-Wl,--exclude-libs,ALL
, which I got from here, but no luck.Anyone got any expierence or ideas?
The text was updated successfully, but these errors were encountered: