John Wiegley <[email protected]> writes:
> Ledger's build system has just switched to CMake.
>
> [...]
>
> I'm expecting there to be some hiccups during the next week or so, so don't be
> shy about posting issues you encounter with the new system. You will, of
> course, have to install the latest CMake (2.8.8).
I guess this is just a data point really. Any number of things could be
screwed up on my system which are nothing to do with ledger, but you
said not to be shy...
I'm on a Mac 10.6.8 and use Homebrew rather than MacPorts.
Have to admit I am not making much progress at the moment. Basically I
can't get Cmake to admit that I really do have boost installed.
I have included a transcript below. Have no idea whether it will make
sense. I have inserted a few comments (preceded with !!!!) amongst the
build/error debris.
Thanks,
Phil
------------------
$ brew install cmake
[...]
$ cmake --version
cmake version 2.8.8
!!!! I deleted and then re-cloned the ledger git repo just to be sure
everything was clean.
$ ./acprep update
acprep: INFO: Invoking primary phase: update
acprep: INFO: Executing phase: update
acprep: INFO: Executing phase: pull
Already up-to-date.
acprep: INFO: Executing phase: submodule
Submodule 'lib/utfcpp' (git://github.com/jwiegley/utfcpp.git) registered for
path 'lib/utfcpp'
Cloning into 'lib/utfcpp'...
remote: Counting objects: 37, done.
remote: Compressing objects: 100% (28/28), done.
remote: Total 37 (delta 10), reused 36 (delta 9)
Receiving objects: 100% (37/37), 21.40 KiB, done.
Resolving deltas: 100% (10/10), done.
Submodule path 'lib/utfcpp': checked out
'2233ec933f5661c7050b94d3b14f5f9f51ae3d55'
acprep: INFO: Executing phase: make
acprep: INFO: Executing phase: config
acprep: INFO: Executing phase: submodule
Submodule 'lib/utfcpp' () registered for path 'lib/utfcpp'
acprep: INFO: Executing phase: configure
acprep: INFO: System type is => Darwin
acprep: INFO: Setting up build flavor => debug
CMake Error: The source directory "/Users/phil/contrib/ledger/CXX=/usr/bin/g++"
does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
acprep: ERROR: Execution failed: cmake CXX=/usr/bin/g++ -DBUILD_DEBUG=1
!!!! I can't remember why I have CXX set to g++ so unset it and I make
further progress:
$ unset CXX
$ ./acprep update
acprep: INFO: Invoking primary phase: update
acprep: INFO: Executing phase: update
acprep: INFO: Executing phase: pull
Already up-to-date.
acprep: INFO: Executing phase: submodule
Submodule 'lib/utfcpp' () registered for path 'lib/utfcpp'
acprep: INFO: Executing phase: make
acprep: INFO: Executing phase: config
acprep: INFO: Executing phase: submodule
Submodule 'lib/utfcpp' () registered for path 'lib/utfcpp'
acprep: INFO: Executing phase: configure
acprep: INFO: System type is => Darwin
acprep: INFO: Setting up build flavor => debug
-- The C compiler identification is GNU 4.2.1
-- The CXX compiler identification is GNU 4.2.1
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- 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
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- 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
-- Found PythonInterp: /usr/local/bin/python (found version "2.7.2")
CMake Error at
/usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:1200
(message):
Unable to find the requested Boost libraries.
Boost version: 1.49.0
Boost include path: /usr/local/include
The following Boost libraries could not be found:
boost_date_time
boost_filesystem
boost_system
boost_iostreams
boost_regex
boost_unit_test_framework
boost_test_exec_monitor
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:58 (find_package)
!!!! The previous build system always managed to find the boost
libraries which are installed at /usr/local/lib (and symlinked back
to /usr/local/Cellar/boost/1.49.0/lib...)
!!!! I tried exporting BOOST_LIBRARYDIR and BOOST_ROOT as env variables as
suggested. Still get exactly the same error.
!!!! Tried adding:
set(Boost_DEBUG 1)
to the top level ledger CMakelists.txt
$ ./acprep update
acprep: INFO: Invoking primary phase: update
acprep: INFO: Executing phase: update
acprep: INFO: Executing phase: pull
Already up-to-date.
acprep: INFO: Executing phase: submodule
Submodule 'lib/utfcpp' () registered for path 'lib/utfcpp'
acprep: INFO: Executing phase: make
acprep: INFO: Executing phase: config
acprep: INFO: Executing phase: submodule
Submodule 'lib/utfcpp' () registered for path 'lib/utfcpp'
acprep: INFO: Executing phase: configure
acprep: INFO: System type is => Darwin
acprep: INFO: Setting up build flavor => debug
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:526 ]
Boost not in cache
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:529 ]
_boost_TEST_VERSIONS = 1.50.0;1.50;1.49.0;1.49
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:531 ]
Boost_USE_MULTITHREADED = OFF
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:533 ]
Boost_USE_STATIC_LIBS =
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:535 ]
Boost_USE_STATIC_RUNTIME =
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:537 ]
Boost_ADDITIONAL_VERSIONS =
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:539 ]
Boost_NO_SYSTEM_PATHS =
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:607 ]
Declared as CMake or Environmental Variables:
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:609 ]
BOOST_ROOT =
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:611 ]
BOOST_INCLUDEDIR =
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:613 ]
BOOST_LIBRARYDIR =
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:615 ]
_boost_TEST_VERSIONS = 1.50.0;1.50;1.49.0;1.49
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:697 ]
location of version.hpp:
/usr/local/Cellar/boost/1.49.0/include/boost/version.hpp
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:716 ]
version.hpp reveals boost 1.49.0
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:809 ]
guessed _boost_COMPILER = -xgcc42
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:819 ]
_boost_MULTITHREADED =
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:862 ]
_boost_RELEASE_ABI_TAG = -
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:864 ]
_boost_DEBUG_ABI_TAG = -d
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:907 ]
_boost_LIBRARY_SEARCH_DIRS =
/usr/local/Cellar/boost/1.49.0/include/lib;/usr/local/Cellar/boost/1.49.0/include/../lib;/usr/local/Cellar/boost/1.49.0/include/stage/lib;C:/boost/lib;C:/boost;/boost/boost_1_49_0/lib;/boost/boost_1_49/lib;/boost/lib;/boost;/sw/local/lib
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:978 ]
Searching for DATE_TIME_LIBRARY_RELEASE: boost_date_time-xgcc42-1_49;boost_d
ate_time-xgcc42;boost_date_time-1_49;boost_date_time;boost_date_time
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:1010 ]
Searching for DATE_TIME_LIBRARY_DEBUG:
boost_date_time-xgcc42-d-1_49;boost_date_time-xgcc42-d;boost_date_time-d-1_49;boost_date_time-d;boost_date_time;boost_date_time
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:978 ]
Searching for FILESYSTEM_LIBRARY_RELEASE:
boost_filesystem-xgcc42-1_49;boost_filesystem-xgcc42;boost_filesystem-1_49;boost_filesystem;boost_filesystem
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:1010 ]
Searching for FILESYSTEM_LIBRARY_DEBUG:
boost_filesystem-xgcc42-d-1_49;boost_filesystem-xgcc42-d;boost_filesystem-d-1_49;boost_filesystem-d;boost_filesystem;boost_filesystem
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:978 ]
Searching for SYSTEM_LIBRARY_RELEASE:
boost_system-xgcc42-1_49;boost_system-xgcc42;boost_system-1_49;boost_system;boost_system
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:1010 ]
Searching for SYSTEM_LIBRARY_DEBUG:
boost_system-xgcc42-d-1_49;boost_system-xgcc42-d;boost_system-d-1_49;boost_system-d;boost_system;boost_system
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:978 ]
Searching for IOSTREAMS_LIBRARY_RELEASE:
boost_iostreams-xgcc42-1_49;boost_iostreams-xgcc42;boost_iostreams-1_49;boost_iostreams;boost_iostreams
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:1010 ]
Searching for IOSTREAMS_LIBRARY_DEBUG:
boost_iostreams-xgcc42-d-1_49;boost_iostreams-xgcc42-d;boost_iostreams-d-1_49;boost_iostreams-d;boost_iostreams;boost_iostreams
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:978 ]
Searching for REGEX_LIBRARY_RELEASE:
boost_regex-xgcc42-1_49;boost_regex-xgcc42;boost_regex-1_49;boost_regex;boost_regex
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:1010 ]
Searching for REGEX_LIBRARY_DEBUG:
boost_regex-xgcc42-d-1_49;boost_regex-xgcc42-d;boost_regex-d-1_49;boost_regex-d;boost_regex;boost_regex
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:978 ]
Searching for UNIT_TEST_FRAMEWORK_LIBRARY_RELEASE:
boost_unit_test_framework-xgcc42-1_49;boost_unit_test_framework-xgcc42;boost_unit_test_framework-1_49;boost_unit_test_framework;boost_unit_test_framework
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:1010 ]
Searching for UNIT_TEST_FRAMEWORK_LIBRARY_DEBUG:
boost_unit_test_framework-xgcc42-d-1_49;boost_unit_test_framework-xgcc42-d;boost_unit_test_framework-d-1_49;boost_unit_test_framework-d;boost_unit_test_framework;boost_unit_test_framework
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:978 ]
Searching for TEST_EXEC_MONITOR_LIBRARY_RELEASE:
boost_test_exec_monitor-xgcc42-1_49;boost_test_exec_monitor-xgcc42;boost_test_exec_monitor-1_49;boost_test_exec_monitor;boost_test_exec_monitor
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:1010 ]
Searching for TEST_EXEC_MONITOR_LIBRARY_DEBUG:
boost_test_exec_monitor-xgcc42-d-1_49;boost_test_exec_monitor-xgcc42-d;boost_test_exec_monitor-d-1_49;boost_test_exec_monitor-d;boost_test_exec_monitor;boost_test_exec_monitor
-- [ /usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:1120 ]
Boost_FOUND = FALSE
CMake Error at
/usr/local/Cellar/cmake/2.8.8/share/cmake/Modules/FindBoost.cmake:1200
(message):
Unable to find the requested Boost libraries.
Boost version: 1.49.0
Boost include path: /usr/local/Cellar/boost/1.49.0/include
The following Boost libraries could not be found:
boost_date_time
boost_filesystem
boost_system
boost_iostreams
boost_regex
boost_unit_test_framework
boost_test_exec_monitor
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:65 (find_package)
!!!! Afraid I am lost now. Apart from a -mt suffix to the library
filenames (my installed library filenames are all like
/usr/local/lib/libboost_date_time-mt.*) it would seem like the
"Searching for..." should find the files.