View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008209CMakeModulespublic2008-12-02 09:502009-02-23 22:53
ReporterStephan Menzel 
Assigned ToPhilip Lowman 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product VersionCMake-2-6 
Target VersionFixed in VersionCMake-2-6 
Summary0008209: FindBoost chooses wrong gcc version extensions.
DescriptionHi there,

I'm using cmake 2.6.2. with heavy usage of boost libraries and I had to install them in a different directory, namely /opt/boost-1_36

My FindBoost related code looks like that:

SET(Boost_ADDITIONAL_VERSIONS "1.36.0" "1.36.1" "1.37.0")
SET(Boost_FIND_REQUIRED "1.36.0")
SET(Boost_USE_STATIC_LIBS OFF)
SET(BOOST_ROOT "/opt/boost-1_36/")
SET(Boost_INCLUDE_DIR "/opt/boost-1_36/include")
SET(Boost_LIBRARY_DIR "/opt/boost-1_36/lib")

First of all, I have to set BOOST_ROOT and Boost_INCLUDE_DIR and Boost_LIBRARY_DIR. Otherwise FindBoost keeps finding the system-installed 1.34 and complain subsequently about incorrect versioning.

Which really appeared as a bug was, that bjam compiles all boost libs on that system with that extension (example):

libboost_wave-gcc43-mt-1_36.so -> libboost_wave-gcc43-mt-1_36.so.1.36.0
libboost_wave-gcc43-mt-1_36.so.1.36.0
libboost_wave-gcc43-mt.a -> libboost_wave-gcc43-mt-1_36.a
libboost_wave-gcc43-mt.so -> libboost_wave-gcc43-mt-1_36.so.1.36.0

now straceing FindBoost showed, that it is looking for

libboost_wave-gcc4.3-mt-1_36.so

The problem is in

FindBoost line 380

    STRING(REGEX REPLACE "([0-9])\\.([0-9])\\.[0-9]" "\\1\\2"
        _boost_COMPILER_VERSION ${_boost_COMPILER_VERSION})

I can fix it by overriding with
    SET (_boost_COMPILER_VERSION "43")

Apparently the REGEX_REPLACE omits the dot ".".
I suppose this could be the bug or I'm completely wrong. In any case, there's a problem somewhere. FindBoost really needs some love.

Cazart,

Stephan
Tagsboost
Attached Files

 Relationships

  Notes
(0014403)
Markus Grabner (reporter)
2008-12-18 19:33

I posted a fix a while ago:
http://public.kitware.com/Bug/view.php?id=7529 [^]

Since it turns out that I'm not the only one affected by this problem, it might increase the probability that this patch will be noticed, reviewed, and eventually applied :-)
(0014406)
Stephan Menzel (reporter)
2008-12-19 07:48

Just for the records:
It is indeed OpenSuSE 11.

I just thought of that as irrelevant for I didn't know boost uses different extensions on this distro.

Stephan
(0014564)
Philip Lowman (developer)
2009-01-15 02:42

Well duplicate bugs are always a good thing. I've applied the patch from http://public.kitware.com/Bug/view.php?id=7529 [^]

Please try latest version and confirm issue is resolved:
http://public.kitware.com/cgi-bin/viewcvs.cgi/Modules/?root=CMake [^]

Regarding your report about specifying BOOST_ROOT and CMake falling back on system installed libraries I along with other users have noticed that too. Will probably fix it by making the specification of BOOST_ROOT enforce (not prefer) that directory (as long as this seems reasonable to everyone).
(0014582)
Philip Lowman (developer)
2009-01-16 03:55

If you encounter any further difficulties please reopen the bug or file a new one. Thanks.

 Issue History
Date Modified Username Field Change
2008-12-02 09:50 Stephan Menzel New Issue
2008-12-03 09:33 Stephan Menzel Tag Attached: boost
2008-12-15 09:59 Bill Hoffman Status new => assigned
2008-12-15 09:59 Bill Hoffman Assigned To => Douglas Gregor
2008-12-18 19:33 Markus Grabner Note Added: 0014403
2008-12-19 07:48 Stephan Menzel Note Added: 0014406
2009-01-15 02:42 Philip Lowman Note Added: 0014564
2009-01-16 03:55 Philip Lowman Note Added: 0014582
2009-01-16 03:55 Philip Lowman Assigned To Douglas Gregor => Philip Lowman
2009-01-16 03:55 Philip Lowman Status assigned => resolved
2009-01-16 03:55 Philip Lowman Resolution open => fixed
2009-02-23 22:53 Philip Lowman Status resolved => closed
2009-02-23 22:53 Philip Lowman Fixed in Version => CMake-2-6


Copyright © 2000 - 2018 MantisBT Team