View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0010287 | CMake | Modules | public | 2010-02-13 23:36 | 2016-06-10 14:31 | ||||
Reporter | Ben Boeckel (mathstuf) | ||||||||
Assigned To | Philip Lowman | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | moved | ||||||
Platform | x86_64 | OS | Fedora | OS Version | 13 | ||||
Product Version | CMake-2-8 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0010287: FindBoost.cmake does not search with ${LIB_SUFFIX} | ||||||||
Description | Searching for Boost libraries fails on systems that use a suffix to the lib directory (Fedora uses /usr/lib64 on x86_64). Patch attached. | ||||||||
Tags | boost | ||||||||
Attached Files | ![]() ![]() ![]() ![]() ![]() ![]() | ||||||||
Relationships | |
Relationships |
Notes | |
(0019547) Droscy (reporter) 2010-02-18 03:12 |
Hi, in your patch, at line 30, you have probably forgotten an underscore: you have put ${LIBSUFFIX} while in the other changes the variable is ${LIB_SUFFIX}. |
(0019552) Ben Boeckel (mathstuf) (reporter) 2010-02-18 23:32 |
Oops. Updated. |
(0022204) Philip Lowman (developer) 2010-09-12 22:38 |
Could someone explain what LIB_SUFFIX is and why it's necessary? None of the other find modules in CMake have it so I'd just like some more information about what it is and why you think it's necessary in FindBoost. From what little I gathered searching on it online, it appears to be a variable that is set at build time. |
(0022214) Ben Boeckel (mathstuf) (reporter) 2010-09-13 13:13 |
Fedora uses /usr/lib64 for its libraries on a 64bit install. Debian uses /usr/lib32 for 32bit libraries on a 64bit install. If the FindModule doesn't know to search these, the libraries for the target system can fail to be found. The find_library CMake function works with these non-/usr/lib paths, but Boost uses the HINTS which seems to hide them for some reason. I'm trying it with a plain CMakeLists.txt which just does find_package but it's working where a project I've been a part of is failing without it. find_package(Boost 1.35.0 REQUIRED COMPONENTS system program_options) This works, but if there's a project() call before it, it fails without LIB_SUFFIX being set and the patch. Maybe FindBoost should use find_library without HINTS? I'm attaching a terminal session demonstrating the failure with project(). If I should open another bug for that, I can. |
(0022263) Philip Lowman (developer) 2010-09-18 13:23 |
I'm having a problem replicating your failure. Here's what I'm testing with. Fedora 13 Using cmake-2.8.0 bundled with O/S Using Boost 1.41 as bundled with O/S Using the attached CMakeLists.txt and FindBoost.cmake (destined for CMake 2.8.3). I don't think that the FindBoost will work any better for you although it has additional debugging in it which may prove useful. Both with and without the PROJECT() command in CMakeLists I have no problems finding Boost in /usr/lib64. My output is attached as cmake_output_plowman.txt. Could you let me know a bit more information about your environment so we can determine what the problem might be. Are you using a cmake built by the distribution or one off of the CMake website? Could you add Boost_DEBUG to your CMakeLists.txt rerun it and include the output here in the bug report if you wouldn't mind (or just tweak my CMakeLists that I attached). |
(0022329) Nathan Phillip Brink (binki) (reporter) 2010-09-22 22:50 |
> Could someone explain what LIB_SUFFIX is and why it's necessary? Support for LIB_SUFFIX is a movement outside of CMake to attempt to make various CMakeLists.txt respect multilib setups. It is currently primarily used for installation paths. Support for LIB_SUFFIX is also in Gentoo: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/cmake-utils.eclass?view=markup [^] The bug reporter is supposing that LIB_SUFFIX could be used instead of using the global FIND_LIBRARY_USE_LIB64_PATHS property to determine the paths that FIND_LIBERARY and FIND_PACKAGE(<PACKAGE> NO_MODULE) should use. This idea would seem more generic than creating a FIND_LIBRARY_USE_LIB32_PATHS property. Perhaps a global string property which is just a listing of lib-directory names would solve this issue. |
(0041655) Kitware Robot (administrator) 2016-06-10 14:27 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2010-02-13 23:36 | Ben Boeckel (mathstuf) | New Issue | |
2010-02-13 23:36 | Ben Boeckel (mathstuf) | File Added: cmake-findboost-libsuffix.patch | |
2010-02-13 23:46 | Ben Boeckel (mathstuf) | Tag Attached: boost | |
2010-02-18 03:12 | Droscy | Note Added: 0019547 | |
2010-02-18 23:32 | Ben Boeckel (mathstuf) | File Added: cmake-findboost-libsuffix-2.patch | |
2010-02-18 23:32 | Ben Boeckel (mathstuf) | Note Added: 0019552 | |
2010-09-10 23:51 | Philip Lowman | Status | new => assigned |
2010-09-10 23:51 | Philip Lowman | Assigned To | => Philip Lowman |
2010-09-12 22:38 | Philip Lowman | Note Added: 0022204 | |
2010-09-13 13:13 | Ben Boeckel (mathstuf) | Note Added: 0022214 | |
2010-09-13 13:13 | Ben Boeckel (mathstuf) | File Added: findboost.txt | |
2010-09-18 13:23 | Philip Lowman | Note Added: 0022263 | |
2010-09-18 13:23 | Philip Lowman | File Added: FindBoost.cmake | |
2010-09-18 13:24 | Philip Lowman | File Added: CMakeLists.txt | |
2010-09-18 13:24 | Philip Lowman | File Added: cmake_output_plowman.txt | |
2010-09-22 22:50 | Nathan Phillip Brink (binki) | Note Added: 0022329 | |
2016-06-10 14:27 | Kitware Robot | Note Added: 0041655 | |
2016-06-10 14:27 | Kitware Robot | Status | assigned => resolved |
2016-06-10 14:27 | Kitware Robot | Resolution | open => moved |
2016-06-10 14:31 | Kitware Robot | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |