osqp / osqp-matlab

Matlab interface for OSQP
https://osqp.org/
Apache License 2.0
42 stars 25 forks source link

Incomplete QDLDL installed headers prevent manual compilation of mex #27

Open goulart-paul opened 4 years ago

goulart-paul commented 4 years ago

This issue only relates to manual building of the OSQP mex interface. It does not affect the recommended build method using make_osqp.m. See #26 for the origin of this issue.

When installing OSQP from source, the QDLDL build does not export <includedir>/qdldl/qdldl_interface.h. This causes manual compilation of the OSQP mex interface to fail when using only the standard OSQP installed binaries and include paths.

Solution : we should either export this header as part of a standard install, or (preferably) make a better build option for Octave so that this is not necessary.

imciner2 commented 4 years ago

Hmm, according to the comment that header is only needed for the codegen component. I was wanting to move the code generation into the C library itself for v1 (so that more interfaces could do codegen), so that might eventually solve the issue.

traversaro commented 3 years ago

If anyone is interested in the "compilation of just the matlab mex against an externally provided osqp", we added a CMakeLists for that use case in https://github.com/dic-iit/osqp-matlab-cmake-buildsystem/pull/1 , even if at the moment it does not support codegen as we are not using it. If there is interest I would be happy to contribute it in this repo, otherwise we can continue to mantain it in that repo.