glibc 2.41 compatibility of VCV Spectra, Valley, and docB

Just a heads up, there’s a snag with glibc 2.41 and executable compatibility that, by default, prevents certain executables from running that have been built with the executable bit in the GNU_STACK program header enabled. As glibc 2.41 is about to become much more common in the near future (with Debian Trixie et al), I figured I’d mention this now.

In VCV Rack, this results in VCV Spectra and the Valley and docB dbRackModules plugins failing to load, with a “cannot enable executable stack as shared object requires” error. So for example on Debian, clearing the flag by using an exec patcher, going:

patchelf --clear-execstack /path/to/plugin.so

effectively fixes the issue, and said plugin(s) load again. There might be some other plugins with this issue, but I have most of the library installed over here, and the ones I mentioned are the only ones that show this behavior.

See here for discussion on the matter, in the context of unrelated software but very informative on the issue (also containing said fix) : Crash under glibc 2.41 due to libopenlibm having an executable stack · Issue #57250 · JuliaLang/julia · GitHub

It’s probably a good idea to rebuild these for the VCV library so that they load okay right out of the box also when the system is running glibc 2.41.

4 Likes