First let me thank you for providing such a valuable open-source product, and for providing binary releases for it.
I'm using the Linux static release package
highs-1.15.1-x86_64-linux-gnu-static-apache.tar.gz
to try to build a MATLAB MEX interface (HiGHSMEX).
The MEX builds successfully, but fails to load within MATLAB because the HiGHS static library introduces a dependency on GLIBCXX_3.4.32.
Specifically, the resulting MEX contains:
objdump -T highsmex.mexa64 | grep GLIBCXX_3.4.32
(GLIBCXX_3.4.32) std::ios_base_library_init()
MATLAB R2026a ships its own libstdc++.so.6, which exports symbols only up to GLIBCXX_3.4.30.
As a result, loading the MEX produces:
libstdc++.so.6: version `GLIBCXX_3.4.32' not found
After investigation, the dependency appears to originate from the distributed libhighs.a rather than from the MEX wrapper itself.
Would it be possible to build the Linux release binaries using an older GCC/libstdc++ toolchain (for example GCC 12 or an equivalent Linux-compatible build environment)? I believe doing so would improve compatibility with environments that intentionally ship older libstdc++ runtimes, such as MATLAB and some enterprise Linux distributions.
I can work around the issue by building HiGHS from source locally, but I wanted to ask whether broader binary compatibility for the official Linux release artifacts might be considered. Thanks.
First let me thank you for providing such a valuable open-source product, and for providing binary releases for it.
I'm using the Linux static release package
to try to build a MATLAB MEX interface (HiGHSMEX).
The MEX builds successfully, but fails to load within MATLAB because the HiGHS static library introduces a dependency on
GLIBCXX_3.4.32.Specifically, the resulting MEX contains:
MATLAB R2026a ships its own libstdc++.so.6, which exports symbols only up to
GLIBCXX_3.4.30.As a result, loading the MEX produces:
After investigation, the dependency appears to originate from the distributed
libhighs.arather than from the MEX wrapper itself.Would it be possible to build the Linux release binaries using an older GCC/libstdc++ toolchain (for example GCC 12 or an equivalent Linux-compatible build environment)? I believe doing so would improve compatibility with environments that intentionally ship older libstdc++ runtimes, such as MATLAB and some enterprise Linux distributions.
I can work around the issue by building HiGHS from source locally, but I wanted to ask whether broader binary compatibility for the official Linux release artifacts might be considered. Thanks.