[cmake-developers] [CMake 0011465]: FindBoost does not check the version of the found libraries

Mantis Bug Tracker mantis at public.kitware.com
Tue Nov 16 05:56:20 EST 2010


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=11465 
====================================================================== 
Reported By:                Jens Mueller
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   11465
Category:                   Modules
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2010-11-16 05:56 EST
Last Modified:              2010-11-16 05:56 EST
====================================================================== 
Summary:                    FindBoost does not check the version of the found
libraries
Description: 
I have an old Boost version installed in my system and a newer version local in
my home. FindBoost finds the newer version (that's why it passes my required
version passed to FindBoost) but uses the libraries in the system which are
older than the required version.
It does so because the system libraries are mt but the local version is not mt
and Boost_USE_MULTITHREADED defaults to ON.
In any case I think it's a bug to use the older libraries since they do not meet
the required version. I suggest to check for version of library if that is
possible. If that check cannot be performed a warning should be reported.
I think is bug is quite severe since CMake gives the impression to the user that
it made sure the requirements. The user ends up with using a library that she
didn't expect.

Steps to Reproduce: 
You need to have at least two boost versions in CMake's search path (version a
and version b with a < b). You require version b in your CMakeLists.txt. The
libraries of version b need to be found after the ones of version a (are
searched later in the search path). Let's say that for version b we installed no
libraries at all. Even though the requirements cannot be met FindBoost will use
the libraries of version a.

Additional Information: 
This bug is related to this bug
http://public.kitware.com/Bug/bug_view_page.php?bug_id=11019
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-11-16 05:56 Jens Mueller   New Issue                                    
======================================================================




More information about the cmake-developers mailing list