Hi, I have a shared C library I compiled myself. When trying to ccall
in Julia, it throws the following error:
julia> ccall((:test, "./<...>.so"), Cvoid, ())
ERROR: could not load library "./<...>.so"
/home/redacted/Applications/julia-1.8.0-beta3/bin/../lib/julia/libstdc++.so.6:
version `GLIBCXX_3.4.30' not found (required by /home/redact/Workspace/<...>/build/<...>.so)
Calling strings ~/Applications/julia-1.8.0-beta3/lib/julia/libstdc++.so | grep GLIBCXX_3.4.
indeed confirms that the highest GLIBCXX
available to julia is GLIBCCXX_3.4.29
, not 30
.
On my own system I can obviously just copy my systems libstdc++.so
into Julias folder, which fixes the error. However, most of my users willl be using a shipped-with-julia libstdc++.so
library that may be even older than 3.4.29.
What is the accepted way of addressing this without modifying the local Julia library folder? How can I tell Julia to use a newer one?