Subject: Help with Bear

From: Brett Gilio <[email-masked]>
Date: Thu, 26 Nov 2020 17:25:09 -0600

>From ad64b3febdcd3c98796bb8c5d2ab99add30b9198 Mon Sep 17 00:00:00 2001
From: Brett Gilio <[email-masked]>
Date: Thu, 26 Nov 2020 17:12:58 -0600
Subject: [PATCH 0/1] Update Bear Help

Hey all,

I have been trying to update our bear package. This package makes rather
extensive use of the filesystem module introduced around GCC 5.5.x.

As the filesystem module was not stabilized until after CXX17, and in
GCC 8+, and we are using GCC 7.5.0, there are a number of work arounds
that need to be done to get this package compliant with building against
7.5.0.

For whatever reason there is an issue of the linker not liking the reference
to the file system module. I have set the flags at configure-time, and everything
but I am just out of ideas. I hope somebody will have an idea.

--8<---------------cut here---------------start------------->8---
ld: CMakeFiles/sys_unit_test.dir/test/PathTest.cc.o: in function `std::experimental::filesystem::v1::__cxx11::path::path<char [9], std::experimental::filesystem::v1::__cxx11::path>(char const (&) [9])':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:199: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: /gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:199: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: CMakeFiles/sys_unit_test.dir/test/PathTest.cc.o: in function `std::experimental::filesystem::v1::__cxx11::path::path<char [17], std::experimental::filesystem::v1::__cxx11::path>(char const (&) [17])':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:199: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: CMakeFiles/sys_unit_test.dir/test/PathTest.cc.o: in function `std::experimental::filesystem::v1::__cxx11::path::path<char [9], std::experimental::filesystem::v1::__cxx11::path>(char const (&) [9])':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:199: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: /gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:199: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: CMakeFiles/sys_unit_test.dir/test/PathTest.cc.o:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:199: more undefined references to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()' follow
ld: CMakeFiles/sys_unit_test.dir/test/PathTest.cc.o: in function `std::experimental::filesystem::v1::__cxx11::operator==(std::experimental::filesystem::v1::__cxx11::path const&, std::experimental::filesystem::v1::__cxx11::path const&)':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:505: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::compare(std::experimental::filesystem::v1::__cxx11::path const&) const'
ld: CMakeFiles/sys_a.dir/source/Process.cc.o: in function `std::experimental::filesystem::v1::__cxx11::path::path(std::experimental::filesystem::v1::__cxx11::path&&)':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:186: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: CMakeFiles/sys_a.dir/source/Process.cc.o: in function `std::experimental::filesystem::v1::__cxx11::path::clear()':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:298: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: CMakeFiles/sys_a.dir/source/Path.cc.o: in function `std::experimental::filesystem::v1::__cxx11::path::path(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:192: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: /gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:192: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: CMakeFiles/sys_a.dir/source/Path.cc.o: in function `std::experimental::filesystem::v1::__cxx11::path::clear()':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:298: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: CMakeFiles/sys_a.dir/source/Path.cc.o:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:298: more undefined references to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()' follow
ld: CMakeFiles/sys_a.dir/source/Path.cc.o: in function `sys::path::get_cwd[abi:cxx11]()':
/tmp/guix-build-bear-3.0.3.drv-0/source/source/libsys/source/Path.cc:77: undefined reference to `std::experimental::filesystem::v1::current_path[abi:cxx11](std::error_code&)'
ld: CMakeFiles/sys_a.dir/source/Path.cc.o: in function `std::experimental::filesystem::v1::__cxx11::path::path(std::experimental::filesystem::v1::__cxx11::path&&)':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:186: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: CMakeFiles/sys_a.dir/source/Path.cc.o: in function `std::experimental::filesystem::v1::__cxx11::path::clear()':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:298: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: CMakeFiles/sys_a.dir/source/Path.cc.o: in function `std::experimental::filesystem::v1::__cxx11::path::path(std::experimental::filesystem::v1::__cxx11::path&&)':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:186: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
ld: CMakeFiles/sys_a.dir/source/Path.cc.o: in function `std::experimental::filesystem::v1::__cxx11::path::clear()':
/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++/experimental/bits/fs_path.h:298: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
collect2: error: ld returned 1 exit status
--8<---------------cut here---------------end--------------->8---

Brett Gilio (1):
  gnu: bear: Update to 3.0.3.

 gnu/packages/build-tools.scm | 51 +++++++++++++++++++++++++++++++-----
 1 file changed, 45 insertions(+), 6 deletions(-)

-- 
2.29.2