[CMake] Fwd: Re: cmake needs 2 runs to find boost

Peter Steinbach steinbach at scionics.de
Thu Nov 5 11:29:16 EST 2015


----------  Forwarded Message  ----------

Subject: Re: [CMake] cmake needs 2 runs to find boost
Date: Thursday, November 05, 2015, 04:41:51 PM
From: Andreas Naumann <Andreas-Naumann at gmx.net>
To: Peter Steinbach <steinbach at scionics.de>

Hey Peter,

It is not a solution, but I would set Boost_DEBUG to ON and compare the 
output of the first and the second cmake run.

Andreas
Am 05.11.2015 um 14:26 schrieb Peter Steinbach:
> Hi to all,
>
> ok, I tried the attached minimal CMakeLists.txt again and found out that it
> fails in the way I described only with the "MSYS Makefiles" generator. If I
> use the same CMakeLists.txt without a custom generator (so MSVS is the 
default
> IIRC), the libraries are found alright!
>
> Any ideas?
> Best,
> Peter
>
> On Thursday, November 05, 2015 01:41:33 PM Peter Steinbach wrote:
>> Hi Benedikt,
>>
>> interesting thought, however I wonder why cmake is then capable of deducing
>> the right boost version and include path. Just inside the first error
>> message, I see:
>>
>> (x86)/CMake/share/cmake-3.2/Modules/FindBoost.cmake:1182 (message):
>>>>     Unable to find the requested Boost libraries.
>>>>     
>>>>     Boost version: 1.57.0
>>>>     
>>>>     Boost include path: C:/msys64/mingw64/include
>>>>     
>>>>     Could not find the following static Boost libraries:
>>>>             boost_filesystem
>>>>             boost_system
>> strange, isn't it?
>> Peter
>>
>> On Thursday, November 05, 2015 11:41:10 AM Benedikt Hegner wrote:
>>> Hi Peter,
>>>
>>> as I don't use windows at all, this is just a very wild guess...
>>>
>>> Could it be that in the second run you actually don't use
>>>
>>>     /CMake/share/cmake-3.2/Modules/FindBoost.cmake
>>>
>>> but boost-config.cmake, which it now finds in the cached environment of
>>> the first run?
>>>
>>> This assumes of course that you built boost w/ CMake and not bjam...
>>>
>>> Cheers,
>>>
>>>     Benedikt
>>>
>>> On 03.11.2015 14:10, Peter Steinbach wrote:
>>>> Hi to all,
>>>>
>>>> I tested this with cmake 3.2.2 and 3.3.2 and still get the same problem.
>>>> I'd like to use boost with gcc on windows 7 64bit. I installed boost and
>>>> gcc with msys2 as I cannot use MSVC for the actual project I am looking
>>>> into for this.
>>>>
>>>> the funny thing, if I use the attached CMakeLists.txt on the machine and
>>>> call: ```
>>>> $ cmake -G "MSYS Makefiles" -DBOOST_ROOT=C:/msys64/mingw64 -
>>>> DBOOST_LIBRARYDIR==C:/msys64/mingw64/lib ..
>>>> -- The CXX compiler identification is GNU 4.9.2
>>>> -- Check for working CXX compiler: C:/msys64/usr/bin/g++.exe
>>>> -- Check for working CXX compiler: C:/msys64/usr/bin/g++.exe -- works
>>>> -- Detecting CXX compiler ABI info
>>>> -- Detecting CXX compiler ABI info - done
>>>> -- Detecting CXX compile features
>>>> -- Detecting CXX compile features - done
>>>> setting win specific stuff
>>>> CMake Error at C:/Program Files
>>>>
>>>> (x86)/CMake/share/cmake-3.2/Modules/FindBoost.cmake:1182 (message):
>>>>     Unable to find the requested Boost libraries.
>>>>     
>>>>     Boost version: 1.57.0
>>>>     
>>>>     Boost include path: C:/msys64/mingw64/include
>>>>     
>>>>     Could not find the following static Boost libraries:
>>>>             boost_filesystem
>>>>             boost_system
>>>>     
>>>>     No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR
>>>>     to
>>>>     the
>>>>     directory containing Boost libraries or BOOST_ROOT to the location of
>>>>     Boost.
>>>>
>>>> Call Stack (most recent call first):
>>>>     CMakeLists.txt:17 (FIND_PACKAGE)
>>>>
>>>> CMake Error at CMakeLists.txt:24 (MESSAGE):
>>>>     Boost not found (C:/msys64/mingw64)
>>>>
>>>> -- Configuring incomplete, errors occurred!
>>>> See also
>>>> "C:/msys64/home/steinbac/development/cmake_sandbox/find_boost/build/CMak
>>>> eF
>>>> iles/CMakeOutput.log". $ cmake -G "MSYS Makefiles"
>>>> -DBOOST_ROOT=C:/msys64/mingw64 -
>>>> DBOOST_LIBRARYDIR==C:/msys64/mingw64/lib ..
>>>> setting win specific stuff
>>>> Boost 1.57 found __
>>>> -- Configuring done
>>>> -- Generating done
>>>> -- Build files have been written to:
>>>> C:/msys64/home/steinbac/development/cmake_sandbox/find_boost/build
>>>> ```
>>>>
>>>> I'd like to link statically to multithreaded libboost_*-mt.a from my
>>>> app.
>>>> But it proofes really hard to find Boost in the first place.
>>>> Any ideas?
>>>>
>>>> Peter
>
>

-----------------------------------------
-- 
Peter Steinbach, Dr. rer. nat.
HPC Developer

Scionics Computer Innovation GmbH
Löscherstr. 16
01309 Dresden
fon: +49 351 210 2882
fax: +49 351 210 1689
http://www.scionics.de

Sitz der Gesellschaft:  Dresden (Main office)
Amtsgericht - Registergericht:  Dresden HRB 20337 (Commercial Registry)
Ust-IdNr.:  DE813263791 (VAT ID Number)
Geschäftsführer:  John Duperon, Jeff Oegema (Managing Directors)


More information about the CMake mailing list