Bug #19615
closedruby psych.so always dynamic links libyaml.so, breaking build when libyaml.so is not in host lib paths
Description
Hello,
Before 3.2, libyaml was build statically into psych.so while now it will try to link the one provided during build. When you specify a different path for libraries during build, psych config does work as it tests creating conftest executables, with the linker pointing to the library at the specified path. However, when it links psych.so, it does not mentions the specified path, leaving the library resolution to the runtime linker. If the host system does not have a compatible libyaml.so.x, the build will fail when it tries to load psych.so.
I don't know what would be the cleanest solution but it would be nice if we could configure ruby to statically link libyaml into psych.so (and maybe any other ext dependencies).
As a workaround, you can add the different path to LD_LIBRARY_PATH during build and ruby calls or build with --with-static-linked-ext.