[PATCH] D25304: cmake: Set the proper rpath in add_llvm_executable and llvm_add_library

Chris Bieneman via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 7 19:57:36 PDT 2016


beanz added inline comments.


================
Comment at: cmake/modules/AddLLVM.cmake:494
+    else()
+      set_target_properties( ${name} PROPERTIES BUILD_WITH_INSTALL_RPATH OFF )
+      set_property(TARGET ${name} APPEND_STRING PROPERTY INSTALL_RPATH ":${LLVM_LIBRARY_DIR}")
----------------
plevine wrote:
> beanz wrote:
> > Why are you setting this off? This doesn't seem right to me.
> Whenever building clang with BUILD_WITH_INSTALL_RPATH set to ON, it fails with 
> > warning: libclangLex.so.4.0, needed by lib32/libclangFormat.so.4.0.0, not found (try using -rpath or -rpath-link)
> > /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: warning: libclangAST.so.4.0, needed by lib32/libclangToolingCore.so.4.0.0, not found (try using -rpath or -rpath-link)
> 
> along with undefined reference errors pertaining to clang library symbols.  The libraries do include in their rpath "$ORIGIN/../lib32" which does correctly point back to the library directory even at build time so I admit I'm at a loss.  Regardless, clang does build correctly with BUILD_WITH_INSTALL_RPATH set to OFF and the correct and necessary  rpath exists at runtime.  I'm open to any insight you can offer and any changes you would suggest.
Unfortunately I'm not sure I'm the right person to help with the Linux issue here. What I can say is that I did not see this issue on Darwin, and if you turn BUILD_WITH_INSTALL_RPATH off on Darwin the binaries get the wrong rpath in the build tree.


https://reviews.llvm.org/D25304





More information about the llvm-commits mailing list