* [bug#44896] Help with Bear
@ 2020-11-26 23:25 Brett Gilio
2020-11-26 23:27 ` Brett Gilio
2020-12-06 9:08 ` 宋文武
0 siblings, 2 replies; 3+ messages in thread
From: Brett Gilio @ 2020-11-26 23:25 UTC (permalink / raw)
To: 44896
[-- Attachment #1: 0000-cover-letter.patch --]
[-- Type: text/plain, Size: 6849 bytes --]
From ad64b3febdcd3c98796bb8c5d2ab99add30b9198 Mon Sep 17 00:00:00 2001
From: Brett Gilio <brettg@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
^ permalink raw reply [flat|nested] 3+ messages in thread
* [bug#44896] Help with Bear
2020-11-26 23:25 [bug#44896] Help with Bear Brett Gilio
@ 2020-11-26 23:27 ` Brett Gilio
2020-12-06 9:08 ` 宋文武
1 sibling, 0 replies; 3+ messages in thread
From: Brett Gilio @ 2020-11-26 23:27 UTC (permalink / raw)
To: 44896
[-- Attachment #1: 0001-gnu-bear-Update-to-3.0.3.patch --]
[-- Type: text/plain, Size: 4371 bytes --]
From ad64b3febdcd3c98796bb8c5d2ab99add30b9198 Mon Sep 17 00:00:00 2001
From: Brett Gilio <brettg@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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [bug#44896] Help with Bear
2020-11-26 23:25 [bug#44896] Help with Bear Brett Gilio
2020-11-26 23:27 ` Brett Gilio
@ 2020-12-06 9:08 ` 宋文武
1 sibling, 0 replies; 3+ messages in thread
From: 宋文武 @ 2020-12-06 9:08 UTC (permalink / raw)
To: Brett Gilio; +Cc: 44896
Brett Gilio <brettg@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.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-12-06 16:42 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-26 23:25 [bug#44896] Help with Bear Brett Gilio
2020-11-26 23:27 ` Brett Gilio
2020-12-06 9:08 ` 宋文武
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).