[CMake] CMake 2.8.6 RC3 FindBoost Regression Error

Todd Gamblin tgamblin at llnl.gov
Thu Sep 22 18:02:38 EDT 2011


That was introduced in this version, and it disables the recursive call to find_package with NO_MODULE.

Given the symptoms you are describing, it *sounds* like you might've renamed the lib/boost-1.44.0 directory that boost-cmake installs to something more compatible with a standard boost install.  Boost-cmake installs libraries by default in a lib/boost-<version> directory rather than a lib/boost_<version> directory as bjam does.  This fix was introduced because FindBoost could *not* find boost-cmake due to this problem.

If you moved things without changing BoostConfig.cmake, then your boost-cmake install is going to be broken, at least as far as finding it using find_package goes.  If I'm right, then the fix in 2.8.6 will allow you to install boost-cmake versions without making these changes.

-Todd


On Sep 22, 2011, at 1:04 PM, Michael Jackson wrote:

> So was (Boost_NO_BOOST_CMAKE 1) introduced in this version of CMake or Past versions? I will tell you up front that I am only using a subset of Boost that I create with "bcp" from boost itself so there could very well be something slightly "off" with what I have that has been able to get through the previous versions of FindBoost but now with updates to FindBoost it is starting to fail. 
>  Just to be clear, add (Boost_NO_BOOST_CMAKE 1) allowed my project to use my own boost version.
> ___________________________________________________________
> Mike Jackson                      www.bluequartz.net
> Principal Software Engineer       mike.jackson at bluequartz.net 
> BlueQuartz Software               Dayton, Ohio
> 
> On Sep 22, 2011, at 3:51 PM, Todd Gamblin wrote:
> 
>> David,
>> 
>> I just tried 2.8.6-rc3 on a Linux machine with a system boost version 1.33.1 and a boost-cmake version 1.47.0.  It seems to find both of them fine.
>> 
>> It looks like Michael is using boost-cmake version 1.44, so I tried that too, but it also works.  I'm not sure what could be wrong here.
>> 
>> I did notice that there is a problem with printing the boost version for boost-cmake.  My module prints Boost_FIND_VERSION instead of Boost_VERSION, and the print format is inconsistent with what the module does.  I am not sure if you want me to fix that for 2.8.6.
>> 
>> -Todd
>> 
>> 
>> 
>> On Sep 22, 2011, at 11:41 AM, David Cole wrote:
>> 
>>> Philip and Todd have been the recent authors/committers in FindBoost.cmake.
>>> 
>>> Any comments on this one, guys?
>>> 
>>> 
>>> Thanks,
>>> David
>>> 
>>> 
>>> On Thu, Sep 22, 2011 at 12:23 PM, Michael Jackson
>>> <mike.jackson at bluequartz.net> wrote:
>>>> Semi Answering my own question if I "set (Boost_NO_BOOST_CMAKE 1)" my project seems to configure ok.
>>>> So I guess that is new.
>>>> ___________________________________________________________
>>>> Mike Jackson                      www.bluequartz.net
>>>> Principal Software Engineer       mike.jackson at bluequartz.net
>>>> BlueQuartz Software               Dayton, Ohio
>>>> 
>>>> On Sep 22, 2011, at 12:14 PM, Michael Jackson wrote:
>>>> 
>>>>> There seems to be either a regression or my project has been slipping through the cracks with respect to FindBoost. I have the following CMake code in my project:
>>>>> 
>>>>> 
>>>>> # ---------- Find Boost Headers/Libraries -----------------------
>>>>> SET (Boost_FIND_REQUIRED TRUE)
>>>>> SET (Boost_DEBUG FALSE)
>>>>> set (Boost_USE_MULTITHREADED TRUE)
>>>>> set (Boost_USE_STATIC_LIBS TRUE)
>>>>> SET (Boost_ADDITIONAL_VERSIONS "1.47.0" "1.46.0" "1.44.0" "1.44" "1.41" "1.41.0" "1.39" "1.39.0")
>>>>> set (Boost_FIND_COMPONENTS "")
>>>>> FIND_PACKAGE(Boost COMPONENTS  ${Boost_FIND_COMPONENTS} )
>>>>> INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
>>>>> LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
>>>>> 
>>>>> Under CMake 2.8.5 (all prior) this worked just fine. Now with CMake 2.8.6 I get the following error:
>>>>> 
>>>>> 
>>>>> globbed: ../../boost-1.41.0//cmake//BoostConfig.cmake;../../boost-1.44.0//cmake//BoostConfig.cmake
>>>>> FOUNDVERSION=1.44.0
>>>>> CMake Error at /Users/Shared/Toolkits/MXABoost-1.44/share/boost-1.44.0/cmake/BoostConfig.cmake:87 (message):
>>>>> Boost components not found: thread;program_options;date_time
>>>>> Call Stack (most recent call first):
>>>>> /Users/Shared/Toolkits/MXABoost-1.44/share/cmake/boost/BoostConfig.cmake:15 (include)
>>>>> /Users/Shared/Toolkits/CMake-2.8.6/CMake-2.8.6.app/Contents/share/cmake-2.8/Modules/FindBoost.cmake:282 (find_package)
>>>>> CMakeLists.txt:144 (FIND_PACKAGE)
>>>>> 
>>>>> 
>>>>> -- Configuring incomplete, errors occurred!
>>>>> 
>>>>> I dug into the FindBoost.cmake file that comes with RC3 and started reading the docs at the top. It states that if I am using Boost Headers only then I can leave out the "COMPONENTS" part. I changed my CMakeLists.txt file to reflect this and I still get the error.
>>>>> 
>>>>> Operator Error or regression?
>>>>> 
>>>>> ___________________________________________________________
>>>>> Mike Jackson                      www.bluequartz.net
>>>>> Principal Software Engineer       mike.jackson at bluequartz.net
>>>>> BlueQuartz Software               Dayton, Ohio
>>>>> 
>>>> 
>>>> --
>>>> 
>>>> Powered by www.kitware.com
>>>> 
>>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>>> 
>>>> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>>>> 
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.cmake.org/mailman/listinfo/cmake
>>>> 
>> 
>> ______________________________________________________________________
>> Todd Gamblin, tgamblin at llnl.gov, http://people.llnl.gov/gamblin2
>> CASC @ Lawrence Livermore National Laboratory, Livermore, CA, USA
>> 
> 
> --
> 
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake

______________________________________________________________________
Todd Gamblin, tgamblin at llnl.gov, http://people.llnl.gov/gamblin2
CASC @ Lawrence Livermore National Laboratory, Livermore, CA, USA



More information about the CMake mailing list