Skip to content

Linux release binaries require GLIBCXX_3.4.32; request for older toolchain build #3154

Description

@rdzman

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions