← Back to team overview

kicad-developers team mailing list archive

Problems with Boost library building Kicad from git sources on Slackware64-current Linux

 

I managed to do this successfully a few weeks back with boost-1.69.0. Now with boost-1.70.0 it fails.

The relevant parts of my (SlackBuilds based) build script are,

SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
  cmake \
    -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DLIB_SUFFIX=${LIBDIRSUFFIX} \
    -DMAN_INSTALL_DIR=/usr/man \
    -DCMAKE_BUILD_TYPE=Release ..
make -j8


I tried a couple of things.

(1) Initially the cmake (as above) stage fails with,

-- Found Boost 1.70.0 at /usr/lib64/cmake/Boost-1.70.0
--   Requested configuration: QUIET REQUIRED COMPONENTS regex
-- Found boost_headers 1.70.0 at /usr/lib64/cmake/boost_headers-1.70.0
-- Found boost_regex 1.70.0 at /usr/lib64/cmake/boost_regex-1.70.0
-- No suitable boost_regex variant has been identified!
-- libboost_regex.so.1.70.0 (shared, BUILD_SHARED_LIBS not ON, set Boost_USE_STATIC_LIBS=OFF to override) CMake Error at /usr/lib64/cmake/Boost-1.70.0/BoostConfig.cmake:95 (find_package):
  Found package configuration file:

    /usr/lib64/cmake/boost_regex-1.70.0/boost_regex-config.cmake

  but it set boost_regex_FOUND to FALSE so package "boost_regex" is
  considered to be NOT FOUND.  Reason given by package:

  No suitable build variant has been found.

Call Stack (most recent call first):
/usr/lib64/cmake/Boost-1.70.0/BoostConfig.cmake:124 (boost_find_dependency)
  /usr/share/cmake-3.14/Modules/FindBoost.cmake:266 (find_package)
  CMakeLists.txt:587 (find_package)


-- Configuring incomplete, errors occurred!
See also "/tmp/SBo/kicad-git/build/CMakeFiles/CMakeOutput.log".


(2) After adding '-DBUILD_SHARED_LIBS=ON' to the cmake command line it completes but the make process fails at one of the link stages with many boost class library related error such as,

/usr/bin/ld: CMakeFiles/qa_sexpr.dir/test_sexpr.cpp.o: in function `Sexpr::AsStringInt::test_method()':
test_sexpr.cpp:(.text+0xf9): undefined reference to `boost::unit_test::unit_test_log_t::set_checkpoint(boost::unit_test::basic_cstring<char const>, unsigned long, boost::unit_test::basic_cstring<char const>)'
/usr/bin/ld: test_sexpr.cpp:(.text+0x2f1): undefined reference to `boost::unit_test::framework::add_context(boost::unit_test::lazy_ostream const&, bool)'
/usr/bin/ld: test_sexpr.cpp:(.text+0x36d): undefined reference to `boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...)'

I am using gcc-9.1.0.

Any thoughts?

Thanks
Tom Crane

--
Tom Crane, Dept. Physics, Royal Holloway, University of London, Egham Hill,
Egham, Surrey, TW20 0EX, England.
Email:  T.Crane@xxxxxxxxxx
Fax:    +44 (0) 1784 472794


Follow ups