GNU Octave support

Has anyone attempted, successfully or unsuccessfully, to build the MEX interface to OSQP under GNU Octave? If not, consider this a feature request.

I tried following the instructions for building the MATLAB interface under Octave and initially got an error about verlessThan not being supported in Octave. After manually eliminating those calls in make_osqp.m, I get …

CMake Error at CMakeLists.txt:201 (message):
  You need Matlab libraries to build the Matlab interface



-- The C compiler identification is AppleClang 11.0.3.11030032
-- The CXX compiler identification is AppleClang 11.0.3.11030032
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- We are on a Darwin system
-- Embedded is OFF
-- Printing is ON
-- Profiling is ON
-- User interrupt is ON
-- Floats are OFF
-- Long integers (64bit) are ON
-- Code coverage is OFF
-- MKL Pardiso: ON
-- Could NOT find Matlab (missing: Matlab_INCLUDE_DIRS Matlab_MEX_LIBRARY Matlab_MEX_EXTENSION Matlab_MX_LIBRARY) (found version "NOTFOUND")
-- Configuring incomplete, errors occurred!

That was on macOS. I got essentially the same error when I tried it on Linux.

I have very little experience with Octave and MEX, but I do know that it is close enough to the MATLAB MEX interface that IPOPT’s Matlab interface builds under both MATLAB and Octave.

I suspect that someone with experience could get the build scripts to work in Octave with little effort.

Reply under the github issue here.

Thanks, I was able to get it working on both Linux and macOS with that help.