I’m trying to set up a clean conda environment in which I can run reproducible benchmarks in Julia. I’m using Fedora 43, which uses glibc 2.42. When I set up and activate an environment, using conda-forge, I can run conda install julia and the installation runs without a problem. But when I try to actually run Julia, it won’t start, and gives an error message:
ERROR: Unable to load dependent library /home/garrett/.conda/envs/Jessamine-2026-03/bin/../lib/julia/libopenlibm.so
Message:/home/garrett/.conda/envs/Jessamine-2026-03/bin/../lib/julia/libopenlibm.so: cannot enable executable stack as shared object requires: Invalid argument
The underlying problem is that libopenlibm.so in conda-forge is built with the execstack flag, and glibc 2.41 and later won’t load such .so files. It’s not a problem with Julia itself, as their updated installation program juliaup installs a correctly compiled libopenlibm.so. It has something to do with how the package libopenlibm4 0.8.1 on conda-forge was built. I’m guessing it’s built separately, and it looks like the process for a standalone build of openlibm does not have the update that’s in the Julia build process. I’ve created a github issue for openlibm asking them to fix that. Once that’s fixed, how do I get the maintainers of the packages on conda-forge to update their files?
There is a way to fix the flag on the .so file after installing it, but fixing the conda-forge package would be ideal.