GNU bug report logs - #44896
Help with Bear

Previous Next

Package: guix-patches;

Reported by: Brett Gilio <brettg <at> gnu.org>

Date: Thu, 26 Nov 2020 23:26:02 UTC

Severity: normal

To reply to this bug, email your comments to 44896 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#44896; Package guix-patches. (Thu, 26 Nov 2020 23:26:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Brett Gilio <brettg <at> gnu.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 26 Nov 2020 23:26:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Brett Gilio <brettg <at> gnu.org>
To: guix-patches <at> gnu.org
Subject: Help with Bear
Date: Thu, 26 Nov 2020 17:25:09 -0600
From ad64b3febdcd3c98796bb8c5d2ab99add30b9198 Mon Sep 17 00:00:00 2001
From: Brett Gilio <brettg <at> gnu.org>
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





Information forwarded to guix-patches <at> gnu.org:
bug#44896; Package guix-patches. (Thu, 26 Nov 2020 23:28:02 GMT) Full text and rfc822 format available.

Message #8 received at 44896 <at> debbugs.gnu.org (full text, mbox):

From: Brett Gilio <brettg <at> gnu.org>
To: 44896 <at> debbugs.gnu.org
Subject: Help with Bear
Date: Thu, 26 Nov 2020 17:27:21 -0600
From ad64b3febdcd3c98796bb8c5d2ab99add30b9198 Mon Sep 17 00:00:00 2001
From: Brett Gilio <brettg <at> gnu.org>
Date: Thu, 26 Nov 2020 17:12:10 -0600
Subject: [PATCH 1/1] gnu: bear: Update to 3.0.3.

* gnu/packages/build-tools.scm (bear): Update to 3.0.3.

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

diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 3f140efdb3..316e992f70 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -38,16 +38,23 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages cpp)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages linux)
+  #:use-module (gnu packages logging)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages package-management)
   #:use-module (gnu packages pcre)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages python-xyz)
+  #:use-module (gnu packages rpc)
   #:use-module (gnu packages sqlite)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages ninja)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python))
@@ -90,7 +97,7 @@ makes a few sacrifices to acquire fast full and incremental build times.")
 (define-public bear
   (package
     (name "bear")
-    (version "2.4.4")
+    (version "3.0.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -99,16 +106,48 @@ makes a few sacrifices to acquire fast full and incremental build times.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "184dqjcpxiwcfziyi67zzran2c4fal1r3j8nhjdjadcmfxf4389d"))))
+                "1abx5h6xy0h3mz29ial5si8smkmjzla050d130pcc6dzr4ic642w"))))
     (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags
+       (list "-DCMAKE_CXX_FLAGS=-lspdlog -lstdc++fs"
+             "-DCMAKE_CXX_STANDARD=17")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-headers
+           (lambda _
+             (substitute*
+                 (list "source/libsys/include/libsys/Os.h"
+                       "source/libsys/include/libsys/Path.h"
+                       "source/libsys/include/libsys/Process.h"
+                       "source/intercept/include/intercept/output/Report.h"
+                       "source/libsys/source/Process.cc"
+                       "source/citnames/source/Configuration.h"
+                       "source/citnames/source/Output.h"
+                       "source/citnames/source/semantic/Semantic.h"
+                       "source/citnames/source/semantic/Tool.h"
+                       "source/bear/main.cc"
+                       "source/citnames/source/Application.cc"
+                       "source/citnames/source/semantic/Tool.cc")
+               (("<filesystem>") "<experimental/filesystem>")
+               (("std::filesystem") "std::experimental::filesystem"))
+             #t)))))
     (inputs
-     `(("python" ,python-wrapper)))
+     `(("fmt" ,fmt)
+       ("grpc" ,grpc)
+       ("json-modern-cxx" ,json-modern-cxx)
+       ("protobuf" ,protobuf)
+       ("spdlog" ,spdlog)))
+    (native-inputs
+     `(("googletest" ,googletest)
+       ("openssl" ,openssl)
+       ("pkg-config" ,pkg-config)))
     (home-page "https://github.com/rizsotto/Bear")
     (synopsis "Tool for generating a compilation database")
     (description "A JSON compilation database is used in the Clang project to
-provide information on how a given compilation unit is processed.  With this,
-it is easy to re-run the compilation with alternate programs.  Bear is used to
-generate such a compilation database.")
+provide information on how a given compilation unit is processed . With this,
+it is easy to re-run the compilation with alternate programs     . Bear is used to
+generate such a compilation database                             . ")
     (license license:gpl3+)))
 
 (define-public gn
-- 
2.29.2





Information forwarded to guix-patches <at> gnu.org:
bug#44896; Package guix-patches. (Sun, 06 Dec 2020 16:41:04 GMT) Full text and rfc822 format available.

Message #11 received at 44896 <at> debbugs.gnu.org (full text, mbox):

From: 宋文武 <iyzsong <at> outlook.com>
To: Brett Gilio <brettg <at> gnu.org>
Cc: 44896 <at> debbugs.gnu.org
Subject: Re: [bug#44896] Help with Bear
Date: Sun, 06 Dec 2020 17:08:04 +0800
Brett Gilio <brettg <at> gnu.org> writes:

> 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.
>

You can provide ‘gcc-8’ as a ‘native-inputs’ for the bear package (see
‘guix edit waybar’ for an example), which should make <filesystem>
works.




This bug report was last modified 3 years and 139 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.