[CMake] find_library not finding libraries - why?

CHEVRIER, Marc marc.chevrier at sap.com
Thu Nov 9 04:30:23 EST 2017


The problem is on NAMES argument. You have to specify library names without prefix. So Clp must be used rather than libClp.
FIND_LIBRARY(CLP_LIBRARY       NAMES Clp       PATHS ${CLP_LIB} NO_DEFAULT_PATH)


From: CMake <cmake-bounces at cmake.org> on behalf of "cornelis at bockemuehl.ch" <cornelis at bockemuehl.ch>
Date: Thursday 9 November 2017 at 00:09
To: "cmake at cmake.org" <cmake at cmake.org>
Subject: [CMake] find_library not finding libraries - why?


In a CMakeLists.txt I have the following lines of code:

# with this the user will be asked for a path that has then
# lib64 other subdirectories that are specified below
FIND_PATH(CLP_DIR libClp)

SET(CLP_LIB ${CLP_DIR}/lib64)

# after the user specified CLP_DIR this shows what is expected:
# the full path to the libraries, but...
message(AUTHOR_WARNING ${CLP_LIB})

# with the following I think I cannot indicate more clearly where the libraries actually are:
FIND_LIBRARY(CLP_LIBRARY       NAMES libClp       PATHS ${CLP_LIB} NO_DEFAULT_PATH)
FIND_LIBRARY(COINUTILS_LIBRARY NAMES libCoinUtils PATHS ${CLP_LIB} NO_DEFAULT_PATH)
FIND_LIBRARY(OSI_LIBRARY       NAMES libOsi       PATHS ${CLP_LIB} NO_DEFAULT_PATH)
FIND_LIBRARY(OSICLP_LIBRARY    NAMES libOsiClp    PATHS ${CLP_LIB} NO_DEFAULT_PATH)

# ...here everything comes as -NOTFOUND
message(AUTHOR_WARNING ${CLP_LIBRARY})
message(AUTHOR_WARNING ${COINUTILS_LIBRARY})
message(AUTHOR_WARNING ${OSI_LIBRARY})
message(AUTHOR_WARNING ${OSICLP_LIBRARY})

A dir for the indicated directory shows the following files:

-rwxrwxrwx 1 cornelis users     907  8. Nov 18:37 libClp.la
lrwxrwxrwx 1 cornelis users      42  8. Nov 18:37 libClp.so -> libClp.so.1.13.11
lrwxrwxrwx 1 cornelis users      42  8. Nov 18:37 libClp.so.1 -> libClp.so.1.13.11
-rwxrwxrwx 1 cornelis users 1887336  8. Nov 18:37 libClp.so.1.13.11
-rwxrwxrwx 1 cornelis users    1010  8. Nov 18:37 libClpSolver.la
lrwxrwxrwx 1 cornelis users      54  8. Nov 18:37 libClpSolver.so -> libClpSolver.so.1.13.11
lrwxrwxrwx 1 cornelis users      54  8. Nov 18:37 libClpSolver.so.1 -> libClpSolver.so.1.13.11
-rwxrwxrwx 1 cornelis users  415224  8. Nov 18:37 libClpSolver.so.1.13.11
-rwxrwxrwx 1 cornelis users     870  8. Nov 18:37 libCoinUtils.la
lrwxrwxrwx 1 cornelis users      54  8. Nov 18:37 libCoinUtils.so -> libCoinUtils.so.3.10.14
lrwxrwxrwx 1 cornelis users      54  8. Nov 18:37 libCoinUtils.so.3 -> libCoinUtils.so.3.10.14
-rwxrwxrwx 1 cornelis users 1416632  8. Nov 18:37 libCoinUtils.so.3.10.14
-rwxrwxrwx 1 cornelis users    1059  8. Nov 18:37 libOsiClp.la
lrwxrwxrwx 1 cornelis users      48  8. Nov 18:37 libOsiClp.so -> libOsiClp.so.1.13.11
lrwxrwxrwx 1 cornelis users      48  8. Nov 18:37 libOsiClp.so.1 -> libOsiClp.so.1.13.11
-rwxrwxrwx 1 cornelis users  350080  8. Nov 18:37 libOsiClp.so.1.13.11
-rwxrwxrwx 1 cornelis users    1038  8. Nov 18:37 libOsiCommonTests.la
lrwxrwxrwx 1 cornelis users      62  8. Nov 18:37 libOsiCommonTests.so -> libOsiCommonTests.so.1.12.9
lrwxrwxrwx 1 cornelis users      62  8. Nov 18:37 libOsiCommonTests.so.1 -> libOsiCommonTests.so.1.12.9
-rwxrwxrwx 1 cornelis users  619392  8. Nov 18:37 libOsiCommonTests.so.1.12.9
-rwxrwxrwx 1 cornelis users     905  8. Nov 18:37 libOsi.la
lrwxrwxrwx 1 cornelis users      40  8. Nov 18:37 libOsi.so -> libOsi.so.1.12.9
lrwxrwxrwx 1 cornelis users      40  8. Nov 18:37 libOsi.so.1 -> libOsi.so.1.12.9
-rwxrwxrwx 1 cornelis users  400776  8. Nov 18:37 libOsi.so.1.12.9
drwxrwxrwx 1 cornelis users    4096  8. Nov 18:37 pkgconfig

so the libraries are obviously there!

Questions:
What am I doing wrong?
What did I possibly misunderstand regarding the find_library command?

Thanks for any helpful hints!
Cornelis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20171109/3288d490/attachment.html>


More information about the CMake mailing list