Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 823752 - >=dev-util/cmake-3.20.5: dependency error/missing glibc version
Summary: >=dev-util/cmake-3.20.5: dependency error/missing glibc version
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal minor (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-14 17:42 UTC by APN-Pucky
Modified: 2021-11-14 18:21 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description APN-Pucky 2021-11-14 17:42:25 UTC
After skipping updating my system for a longer period I could not update cmake.
The build crashes.

It seems like libjsoncpp uses LIBCXX_3.4.26 which was not installed on my system.

Reproducible: Didn't try

Steps to Reproduce:
Probably install an older version of GLIBCXX and try to install cmake.
Actual Results:  
/usr/lib/gcc/x86_64-pc-linux-gnu/8.4.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libjsoncpp.so: undefined reference to `std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()@GLIBCXX_3.4.26'


Linker error crashes the build.

Expected Results:  
Normal installation. The dependency on glibcxx should be checked during the installation.

My libstdc++.so.6 has:

$ strings libstdc++.so.6 | grep LIBCXX

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
Comment 1 APN-Pucky 2021-11-14 17:57:39 UTC
Workaround:

As expected changing the gcc in eselect from 8.4.0 to 9.3.0 works.
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-11-14 18:11:31 UTC
(In reply to APN-Pucky from comment #1)
> Workaround:
> 
> As expected changing the gcc in eselect from 8.4.0 to 9.3.0 works.

The issue is you downgraded GCC. Binaries on your system were built using newer libstdc++ symbols. You need to use revdep-rebuild to rebuild everything linked against it if you wish to downgrade GCC.
Comment 3 APN-Pucky 2021-11-14 18:21:51 UTC
I ran revdep-rebuild and it showed no error.

However I think you are right as it seems like my dev-libs/jsoncpp was compiled some time ago with a higher version.