Should tool-cache shared libraries work in containers? #5185
-
Some of the tool-cache tools use shared libraries - eg Ruby, which relies on libruby.so.3.0 in If I try and use that from inside a container, I get the following: $ $RUNNER_TOOL_CACHE/Ruby/3.0.3/x64/bin/ruby --version
/__t/Ruby/3.0.3/x64/bin/ruby: error while loading shared libraries: libruby.so.3.0: cannot open shared object file: No such file or directory The file is present in /__t/Ruby/3.0.3/x64/lib, but the linker isn't managing to find it. (TBH I'm a bit confused how the linker does manage to find it when running normally (outside of a container) - it's not been added as a path to, eg, /etc/ld.so.conf.) I've created a sample repo to demonstrate the problem - https://github.com/jdelStrother/ldd-container-test/blob/main/.github/workflows/main.yml, with a sample run at https://github.com/jdelStrother/ldd-container-test/runs/5451146272?check_suite_focus=true Should this work, or am I just deeply confused? Anything I can do to persuade it to work, short of manually symlinking .so files into /usr/lib ? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi @jdelStrother! |
Beta Was this translation helpful? Give feedback.
Hi @jdelStrother!
We do not build ruby binaries ourselves, just take them from the https://github.com/ruby/ruby-builder repo so I believe it's better to ask for help in the https://github.com/ruby/setup-ruby repository