[CMake] Linking Boost on Linux on 64bit host and 32bit

Philip Lowman philip at yhbt.com
Thu Nov 4 22:06:07 EDT 2010


Can you grab the FindBoost.cmake with CMake 2.8.3, then set the following
(new) variable and paste the debug output again?  This will at least prevent
it from finding stuff in /usr/lib which has been an issue for some people.
 Also there is more debugging now.
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/FindBoost.cmake;h=3ae4e1410b9ec04b81dc76ddf822601f17f173c1;hb=b58e44edfb8e4267028a4754a25114d3bfad0abe

set(Boost_NO_SYSTEM_PATHS TRUE)

Offhand, I think you're on the right track using BOOST_LIBRARYDIR to
override the search path for your 32 vs. 64 bit directories.  That should
show up first in the search path list.



On Thu, Nov 4, 2010 at 3:37 PM, Knox, Kent <Kent.Knox at amd.com> wrote:

> [Michael]
> # set( Boost_DEBUG ON )
> Uncomment that and send the output. Yes, it will be A LOT of output but I
> am trying to figure out what is going wrong.
>
> [Kent] I took out the explicit setting of BOOST_LIBRARYDIR:
>
> kknox at ux2 ~/code/clAMD/trunk/bin/linux32
> 561 > InitCmake.sh
> -- The C compiler identification is GNU
> -- The CXX compiler identification is GNU
> -- Check for working C compiler: /usr/bin/gcc
> -- Check for working C compiler: /usr/bin/gcc -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Check for working CXX compiler: /usr/bin/c++
> -- Check for working CXX compiler: /usr/bin/c++ -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- UNICODE feature disabled on linux
> -- 64-bit build
> -- [ FindBoost.cmake:373 ] Boost not in cache
> -- [ FindBoost.cmake:376 ] _boost_TEST_VERSIONS =
> 1.44;1.44.0;1.41.0;1.41;1.40.0;1.40;1.39.0;1.39;1.38.0;1.38;1.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.0;1.33
> -- [ FindBoost.cmake:378 ] Boost_USE_MULTITHREADED = ON
> -- [ FindBoost.cmake:380 ] Boost_USE_STATIC_LIBS = ON
> -- [ FindBoost.cmake:439 ] Declared as CMake or Environmental Variables:
> -- [ FindBoost.cmake:441 ]   BOOST_ROOT = /home/kknox/sdk/boost_1_44_0
> -- [ FindBoost.cmake:443 ]   BOOST_INCLUDEDIR =
> -- [ FindBoost.cmake:445 ]   BOOST_LIBRARYDIR =
> -- [ FindBoost.cmake:447 ] _boost_TEST_VERSIONS =
> 1.44;1.44.0;1.41.0;1.41;1.40.0;1.40;1.39.0;1.39;1.38.0;1.38;1.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.0;1.33
> -- [FindBoost.cmake:496 ] Include debugging info:
> -- [FindBoost.cmake:498 ]   _boost_INCLUDE_SEARCH_DIRS =
> /home/kknox/sdk/boost_1_44_0/include;/home/kknox/sdk/boost_1_44_0;C:/boost/include;C:/boost;/boost/include;/boost;/sw/local/include
> -- [ FindBoost.cmake:500 ]   _boost_PATH_SUFFIXES =
> boost-1_44;boost-1_44_0;boost-1_41_0;boost-1_41;boost-1_40_0;boost-1_40;boost-1_39_0;boost-1_39;boost-1_38_0;boost-1_38;boost-1_37_0;boost-1_37;boost-1_36_1;boost-1_36_0;boost-1_36;boost-1_35_1;boost-1_35_0;boost-1_35;boost-1_34_1;boost-1_34_0;boost-1_34;boost-1_33_1;boost-1_33_0;boost-1_33
> -- [FindBoost.cmake:524 ] location of version.hpp:
> /home/kknox/sdk/boost_1_44_0/boost/version.hpp
> -- [FindBoost.cmake:543 ] version.hpp reveals boost 1.44.0
> -- [FindBoost.cmake:634 ] guessed _boost_COMPILER = -gcc44
> -- [FindBoost.cmake:644 ] _boost_MULTITHREADED = -mt
> -- [FindBoost.cmake:661 ] _boost_STATIC_TAG =
> -- [FindBoost.cmake:663 ] _boost_ABI_TAG = d
> -- [FindBoost.cmake:696 ] _boost_LIBRARIES_SEARCH_DIRS =
> /home/kknox/sdk/boost_1_44_0/lib;/home/kknox/sdk/boost_1_44_0/stage/lib;/home/kknox/sdk/boost_1_44_0/lib;/home/kknox/sdk/boost_1_44_0/../lib;C:/boost/lib;C:/boost;/boost
>
>  /boost_1_44_0/lib;/boost/boost_1_44/lib;/boost/lib;/boost;/sw/local/lib
> -- [ FindBoost.cmake:830 ] Boost_FOUND = TRUE
> -- Boost version: 1.44.0
> -- Found the following Boost libraries:
> --   program_options
> -- Boost_PROGRAM_OPTIONS_LIBRARY: /usr/lib/libboost_program_options-mt.a
> -- Found FFTW: /usr/lib/libfftw3f.so
> -- Found GTest: /usr/lib/libgtest.so
> -- Detected GNU fortran compiler.
> -- CMAKE_CXX_COMPILER flags: -m64
> -- CMAKE_CXX_COMPILER debug flags: -g
> -- CMAKE_CXX_COMPILER release flags: -O3 -DNDEBUG
> -- CMAKE_CXX_COMPILER relwithdebinfo flags: -O2 -g
> -- CMAKE_EXE_LINKER link flags:
> -- Boost_LIBRARIES: /usr/lib/libboost_program_options-mt.a
> -- Boost_PROGRAM_OPTIONS_LIBRARY: /usr/lib/libboost_program_options-mt.a
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /home/kknox/code/clAMD/trunk
> /bin/linux32
>
> I've shortened the FindBoost.cmake path to make it more readable:
> originally
> [/home/kknox/bin/cmake-2.8.2-Linux-i386/share/cmake-2.8/Modules/FindBoost.cmake]
>
> Kent
>
>
>
> _______________________________________________
> 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
>



-- 
Philip Lowman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20101104/bca2e49b/attachment.htm>


More information about the CMake mailing list