letaureau / b-tk

Automatically exported from code.google.com/p/b-tk
0 stars 0 forks source link

Version `GLIBCXX_3.4.11` not found under Ubuntu 10.10 64-bit when using Matlab #8

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Compile BTK with Matlab support
2. Install BTK and set the path into Matlab
3. Try to launch a btk* function, like 'acq = btkNewAcquisition(5,100)'

The following message appears 
"/usr/local/MATLAB78/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version 
`GLIBCXX_3.4.11' not found (required by 
/usr/local/lib/btk-0.1/libBTKCommon.so.0.1)."

Original issue reported on code.google.com by arnaud.barre on 1 Feb 2011 at 5:57

GoogleCodeExporter commented 9 years ago

Original comment by arnaud.barre on 1 Feb 2011 at 6:14

GoogleCodeExporter commented 9 years ago
This problem is due to the embedded libstc++ dynamic library in Matlab. Instead 
of using the library in /usr/lib, Matlab forces to use its own, and then has an 
incompatibility with BTK libraries linked to /usr/lib/listdc++.so.6.

You can try to link MEX files to libstdc++ used by Matlab. But Matlab said you 
that a symbol is not defined (_ZNKSt5ctypeIcE13_M_widen_initEv) which is due to 
an incompatibility between the version of the compiler (GCC 4.5 for me vs GCC 
4.2.3 for Matlab r2009a). 

Another method is to remove the files libstdc++.* from the folder 
<MATLAB__ROOT>/sys/os/glnxa64. Even if I'm not really happy with that (Cannot 
create redistribuable package for Linux 64-bit), this solution is working. So, 
the user has to manually (re)move the files libstdc++.* or maybe it should be 
automatically moved from CMake during the installation step.

Original comment by arnaud.barre on 1 Feb 2011 at 9:24

GoogleCodeExporter commented 9 years ago

Original comment by arnaud.barre on 3 Feb 2011 at 9:28