Neil Hopcroft

A digital misfit

Adding project of-sparsersb

The sparsersb package has no dependencies on other octave packages but does have a build dependency upon librsb. It contains a src/ directory which has an script.
Its build fails:

In file included from
/usr/local/include/octave-4.1.0+/octave/../octave/oct-alloc.h:30:34: error: expected unqualified-id before numeric constant
^ note: in expansion of macro ‘DECLARE_OCTAVE_ALLOCATOR’

…earlier in the log is a warning “the octave_allocator class has been deprecated and will be removed in a future release of Octave”.
Looking at this a bit more, I found a bit of discussion on the mailing list which suggests that the custom allocator was removed because it added complexity without giving the speed improvement it was hoped for. It also says that the allocator declaration and definition can be removed from Octave Forge packages at any time.
Removing the allocator declaration allows the build to continue but the installation fails with

/usr/share/tomcat7/octave/sparsersb-1.0.0/x86_64-unknown-linux-gnu-api-v50+/sparsersb.oct: failed to load: /usr/share/tomcat7/octave/sparsersb-1.0.0/x86_64-unknown-linux-gnu-api-v50+/sparsersb.oct: undefined symbol: _ZNK17octave_base_value11all_stringsEb
error: unhandled execution exception — eval failed

The missing symbol demangles to octave_base_value::all_strings(bool) const
This error has resolved itself, which I don’t really understand but it could be something to do with the allocator change.
Fixed in build #18.

Leave a Reply

Your email address will not be published.