[mlpack-svn] [MLPACK] #253: MATLAB bindings, when installed, do not work
MLPACK Trac
trac at coffeetalk-1.cc.gatech.edu
Wed Oct 17 02:41:36 EDT 2012
#253: MATLAB bindings, when installed, do not work
-------------------------------+--------------------------------------------
Reporter: rcurtin | Owner: rcurtin
Type: defect | Status: new
Priority: major | Milestone: mlpack 1.1.0
Component: mlpack | Resolution:
Keywords: matlab, bindings | Blocking: 252
Blocked By: |
-------------------------------+--------------------------------------------
Description changed by rcurtin:
Old description:
> As it stands now, when MATLAB bindings are installed into
> ${MATLAB_ROOT}/toolbox/mlpack and the MATLAB path is updated correctly,
> we still have a failure that has to do with LD_LIBRARY_PATH not being set
> right.
>
> {{{
> >> emst(x)
> Invalid MEX-file '/opt/matlab/toolbox/mlpack/mex_emst.mexa64':
> /opt/matlab/bin/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.15' not
> found
> (required by /usr/lib/libmlpack.so.1)
>
> Error in emst (line 36)
> result = mex_emst(dataPoints', 1, parsed.leafSize);
> }}}
>
> There are several potential existing solutions that all require user work
> (i.e. removing the MATLAB-provided system libraries because they are
> unnecessary; manually modifying LD_LIBRARY_PATH). But there should be a
> way to do this without the user needing to bother with it. Maybe
> manually setting an RPATH to /usr/lib/x86_64-linux-gnu (or whatever
> directories are necessary)?
New description:
As it stands now, when MATLAB bindings are installed into
${MATLAB_ROOT}/toolbox/mlpack and the MATLAB path is updated correctly, we
still have a failure that has to do with the dynamic loader loading the
wrong version of libstdc++.so.6.
{{{
>> emst(x)
Invalid MEX-file '/opt/matlab/toolbox/mlpack/mex_emst.mexa64':
/opt/matlab/bin/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
(required by /usr/lib/libmlpack.so.1)
Error in emst (line 36)
result = mex_emst(dataPoints', 1, parsed.leafSize);
}}}
Essentially, the problem is that the mex is compiled against the system's
libstdc++.so.6, which is a newer version than the version that MATLAB
irritatingly ships (${MATLAB_ROOT}/bin/glnxa64/libstdc++.so.6).
There are several potential existing solutions that all require user work
(i.e. removing the MATLAB-provided system libraries because they are
unnecessary; manually modifying LD_LIBRARY_PATH). But there should be a
way to do this without the user needing to bother with it. Maybe manually
setting an RPATH to /usr/lib/x86_64-linux-gnu (or whatever directories are
necessary)?
--
--
Ticket URL: <http://trac.research.cc.gatech.edu/fastlab/ticket/253#comment:2>
MLPACK <www.fast-lab.org>
MLPACK is an intuitive, fast, and scalable C++ machine learning library developed by the FASTLAB at Georgia Tech under Dr. Alex Gray.
More information about the mlpack-svn
mailing list