From: Guido Kanschat Date: Tue, 3 Sep 2013 16:38:49 +0000 (+0000) Subject: Comment on shadowed libraries X-Git-Tag: v8.1.0~901 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9cb595caef6e002ec0e0ddab04df5e2c7ab7b809;p=dealii.git Comment on shadowed libraries git-svn-id: https://svn.dealii.org/trunk@30570 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/doc/development/cmake.html b/deal.II/doc/development/cmake.html index 2683cc1d7e..86c663bfb9 100644 --- a/deal.II/doc/development/cmake.html +++ b/deal.II/doc/development/cmake.html @@ -411,6 +411,33 @@ -NOTFOUND and may be set by hand.

+

Library conflicts

+

Caveat: if you have a set of standard libraries in the default + location, say /usr/lib and a set of + private versions of the same libraries, for instance because you + need different revisions sometimes, in your own library directory, + you may receive an error message of the form:

+ +
+CMake Warning at source/CMakeLists.txt:65 (ADD_LIBRARY):
+  Cannot generate a safe runtime search path for target deal_II.g because
+  files in some directories may conflict with libraries in implicit
+  directories:
+
+    runtime library [libtbb.so.2] in /usr/lib may be hidden by files in:
+      /my/private/lib
+
+  Some of these libraries may not be found correctly.
+
+ +

This is not a problem of CMake or deal.II, but rather a general + Linux problem. In order to fix this, you have two options:

+
    +
  1. Choose all libraries either from your private directory or from + the standard one.
  2. +
  3. Install all your private library versions in different directories.
  4. +
+

Manual override

Warning: Do not do this unless absolutely necessary!