help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Octave 3.8.1 on Linux; updating mex files for LIBSVM


From: Colin Beckingham
Subject: Re: Octave 3.8.1 on Linux; updating mex files for LIBSVM
Date: Fri, 28 Mar 2014 11:44:15 -0400

On Fri, 2014-03-28 at 10:29 -0400, Colin Beckingham wrote:
> On Fri, 2014-03-28 at 09:46 -0400, Colin Beckingham wrote:
> > > On 28/03/14 13:51, Colin Beckingham wrote: 
> > > > I'm running Octave 3.8.1 installed from openSUSE (12.3) science 
> > > > repository 64 bit version. 
> > > > 
> > > > In Octave 3.8.0 I successfully compiled the package LIBSVM 
> > > > (www.csie.ntu.edu.tw/~cjlin/libsvm) into Octave which produced the 
> > > > required mex files in the ~/octave directory under my /home
> > > structure. 
> > > > 
> > > > Since then my Octave has been updated to 3.8.1. Libsvm no longer
> > > works: 
> > > 
> > > Just a suggestion to start with (others more experienced can comment 
> > > further). 
> > > 
> > > When you update Octave to a newer version, re-compile your mex files 
> > > making sure that you use the compiler (mkoctfile) and headers that
> > > come 
> > > with the octave version that you are going to use the mex files with. 
> > > 
> > > So try recompiling LIBSVM using the tools from your new Octave 3.8.1. 
> > > 
> > > Regards 
> > > J.
> > 
> > Thanks for this. I have confirmed from Yast (the openSUSE package
> > manager) that the versions for the Octave and the development package
> > match. So the development headers should be good when the "pkg install
> > xxx" is invoked. I am assuming that when I call pkg install that this
> > will call mkoctfile at that time.
> > 
> > I have also tried removing the current .mex files from the ~/octave
> > directory but this has no effect, still the same message about bundles
> > not allowed.
> 
> Following on from J's suggestion, I went down into the libsvm structure
> to the matlab section and forced a recompile with mkoctfile. This
> compiled without error but failed with the following response on
> execute:
> 
> >> mkoctfile --mex svmtrain.c
> ... copy new .mex file to octave directory ...
> >> svmtrain
> error: /home/colin/octave/svmtrain.mex: failed to
> load: /home/colin/octave/svmtrain.mex: undefined symbol:
> svm_free_and_destroy_model
> 

Resolved. If all else fails, follow the instructions. I performed a make
in the matlab directory of libsvm, copied the resulting .mex files into
the octave directory and now the components are responding sensibly.
Must have forgotten how to install this somewhat non-standard package.

Thanks.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]