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

Peter Steinbach steinbach at scionics.de
Fri Nov 6 04:02:08 EST 2015


Hi to all, {sorry for the email mess, anyway here is my to answer to Andreas 
as it affects this mail thread)

thanks for the Boost_DEBUG hint. The output is much more concise and 
digestible than "--trace".

Good News: It works now. I discovered I had a cmake Windows build installed on 
the machine that the MSYS2 terminal picked up. Once that was removed and I 
used the msys internal cmake, it works out nicely. However, the MSVS 
build target is gone now.  So I have to find a way to use either version in 
parallel somehow.

Bad News: I didn't follow through why the problem occurred in the first place. 
Once thing is for sure, the FindBoost module acutally triggered BOOST_FOUND=1! 
But finding the actual libraries of boost failed. 

Best,
Peter


On Thursday, November 05, 2015 05:29:16 PM Peter Steinbach wrote:
> ----------  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/CMa
> >>>> k
> >>>> 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