I have a CMake project that does install(TARGETS foo bar baz) where foo is an executable, bar and baz are shared libraries. foo is linked to bar and baz, bar is linked to baz. The install manifest: /usr/local/bin/foo /usr/local/lib64/libbar.so.0.0.1 /usr/local/lib64/libbar.so.0 /usr/local/lib64/libbar.so /usr/local/lib64/libbaz.so However, when I run ldd on any of foo or bar, they both cannot resolve links to their just-installed dependencies (... => "not found"). This is despite /etc/ld.so.conf containing things like /usr/local/lib64. RPATH is not hardcoded for any of the library (and I want it to stay that way, since it should work that way). One thing that resolved the dependencies was running sudo ldconfig Although that helped, I am still curious 1) why running ldconfig was necessary (I thought shared libraries are resolved at runtime through loader) 2) do I need to rerun it every time I reinstall foo, bar and baz 3) do I need to rerun it every time I install new executables or libraries under /usr/local I don't know much about how shared libraries work. Maybe I don't understand something. If so, please include some relevant educational content. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org