Gentoo Archives: gentoo-user

From: David Haller <gentoo@×××××××.de>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] cmake-3.18.5 build fails
Date: Fri, 12 Feb 2021 20:53:26
Message-Id: 20210212205311.67xjvknd3u6zsysk@grusum.endjinn.de
In Reply to: Re: [gentoo-user] cmake-3.18.5 build fails by Jack
1 Hello,
2
3 On Fri, 12 Feb 2021, Jack wrote:
4 >On 2021.02.12 14:49, Walter Dnes wrote:
5 >> 64-bit Gentoo on a new 12-core machine. The build fails in the compile
6 >> phase. Switching makeopts from -j4 to -j1 didn't help. Build log is
7 >> attached.
8 >The error seems to be at linking:
9 >
10 >/usr/lib/gcc/x86_64-pc-linux-gnu/7.5.0/../../../../x86_64-pc-linux-gnu/bin/ld:
11 >/usr/lib64/libjsoncpp.so: undefined reference to
12 >`std::__cxx11::basic_ostringstream<char, std::char_traits<char>,
13 >std::allocator<char> >::basic_ostringstream()@GLIBCXX_3.4.26'
14 >
15 >/usr/lib64/libjsoncpp.so belongs to dev-libs/jsoncpp. cmake depends on
16 >>=dev-libs/jsoncpp-1.9.2-r2:0=
17 >
18 >I have 1.9.4 installed. (1.9.3 is the only other one I see in Portage.) Is
19 >it possible you have an older version, and the dep needs to be updated?
20
21 I needs just to be recompiled, I think. With '-std=c++11' or later.
22 Search for
23 'undefined reference to std::__cxx11::basic_'
24 (no quotes) on your least untrusted search engine, or better, if your
25 search-engine supports the 'site:' parameter, for
26 'undefined reference to std::__cxx11::basic_ site:gentoo.org'
27
28 AFAIR, there were both at least one news item and tons of
29 mails/forum-posts about this issue with 'std::__cxx11::basic.*string'
30 stuff. It's that C++ ABI change for all that string related stuff. It
31 all basically boils down to just recompile all your C++ libs using
32 some form of (basic_)string (and all stuff depending on those) using
33 the new cxx11 ABI. ISTR that was rather well communicated in the news
34 items and on this ML. And there's stuff on the wiki, e.g.:
35 https://wiki.gentoo.org/wiki/Upgrading_GCC
36
37 ISTR there's more specific stuff, but that's the gist of it. Rebuild
38 what depends on libstdc++. IIRC:
39
40 $ revdep-rebuild -v -p --library /usr/lib/libstdc++.so.5
41
42 (change /usr/lib/ to whatever matches your platform and don't forget
43 /usr/lib32 if you do multilib ;)
44
45 >Also, might it be related to gcc version? I'm currently using 10.2.0-r5
46 >~amd64.
47
48 Nah. It's libstdc++ ;)
49
50 HTH,
51 -dnh
52
53 --
54 The only languages that can comfortably be written with the repertoire of
55 US-ASCII happen to be Latin, Swahili, Hawaiian and American English without
56 most typographic frills. It is rumoured that there are more languages in the
57 world. -- Roman Czyborra