[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