In easybuilders/easybuild-easyconfigs#25259 there is an example where a runtime dependency slipped through as a build dependency only for libarchive. The RPATH linking meant that the library is always found, but with our RPATH wrappers this can lead to link time problems later when libarchive itself is used as a dependency (since the build dep libary is not available via LIBRARY_PATH linking will fail).
The RPATH checking we do should probably be quite strict, and if it finds a library which matches the EBROOTXXX of a build dependency it should complain. We need a switch to disable this though, we use this loophole in EESSI to make CUDA a build time dep, and only rely on the runtime libraries for executables that we ship directly.
In easybuilders/easybuild-easyconfigs#25259 there is an example where a runtime dependency slipped through as a build dependency only for
libarchive. The RPATH linking meant that the library is always found, but with our RPATH wrappers this can lead to link time problems later whenlibarchiveitself is used as a dependency (since the build dep libary is not available viaLIBRARY_PATHlinking will fail).The RPATH checking we do should probably be quite strict, and if it finds a library which matches the
EBROOTXXXof a build dependency it should complain. We need a switch to disable this though, we use this loophole in EESSI to make CUDA a build time dep, and only rely on the runtime libraries for executables that we ship directly.