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 |