Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 786726

Summary: dev-cpp/abseil-cpp-20200225.2-r1 fails to compile with gcc-11
Product: Gentoo Linux Reporter: Agostino Sarubbo <ago>
Component: Current packagesAssignee: Georgy Yakovlev <gyakovlev>
Status: RESOLVED FIXED    
Severity: normal CC: orzel, sam
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 732706    
Attachments: build.log

Description Agostino Sarubbo gentoo-dev 2021-04-29 09:44:47 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: dev-cpp/abseil-cpp-20200225.2-r1 fails to compile with gcc-11.
Discovered on: amd64 (internal ref: ci)

NOTE:
This machine uses GCC-11: https://gcc.gnu.org/gcc-11/porting_to.html
Comment 1 Agostino Sarubbo gentoo-dev 2021-04-29 09:44:50 UTC
Created attachment 703797 [details]
build.log

build log and emerge --info
Comment 2 Agostino Sarubbo gentoo-dev 2021-04-29 09:44:52 UTC
Possible context of error(s):

/var/tmp/portage/dev-cpp/abseil-cpp-20200225.2-r1/work/abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc:451:26: error: ‘numeric_limits’ is not a member of ‘std’
Comment 3 Thomas Capricelli 2021-05-07 22:52:47 UTC
Yes, same problem here. It was emerging ok with older version of gcc.

dev-cpp/abseil-cpp-20200225.2-r1 with 11.1.0:

abseil-cpp-20200225.2/absl/synchronization/internal/graphcycles.cc:451:26: error: ‘numeric_limits’ is not a member of ‘std’
  451 |   if (x->version == std::numeric_limits<uint32_t>::max()) {
Comment 4 Thomas Capricelli 2021-06-17 15:49:13 UTC
Still there. gcc 11 is more and more present. Moreover, it's pretty tricky to move back to gcc 10 because of this bug, it can break libc and other core packages.
Comment 5 Georgy Yakovlev archtester gentoo-dev 2021-06-17 17:44:11 UTC
it needs to have 

> #include <limits>

in absl/synchronization/internal/graphcycles.cc

right after

> #include <array>

line.


can you test it?
Comment 6 Larry the Git Cow gentoo-dev 2021-06-17 17:51:27 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5282497562878d60e3dfccd91702f4bdd7969baa

commit 5282497562878d60e3dfccd91702f4bdd7969baa
Author:     Georgy Yakovlev <gyakovlev@gentoo.org>
AuthorDate: 2021-06-17 17:50:24 +0000
Commit:     Georgy Yakovlev <gyakovlev@gentoo.org>
CommitDate: 2021-06-17 17:51:05 +0000

    dev-cpp/abseil-cpp: include limits
    
    Bug: https://bugs.gentoo.org/786726
    Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>

 dev-cpp/abseil-cpp/abseil-cpp-20200225.2-r1.ebuild |  1 +
 dev-cpp/abseil-cpp/files/include_limits.patch      | 10 ++++++++++
 2 files changed, 11 insertions(+)
Comment 7 Georgy Yakovlev archtester gentoo-dev 2021-06-17 17:52:01 UTC
added a patch, let me know if it helps or not.

newer versions should already have it.
Comment 8 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-06-18 03:27:55 UTC
(In reply to Thomas Capricelli from comment #4)
> Still there. gcc 11 is more and more present. Moreover, it's pretty tricky
> to move back to gcc 10 because of this bug, it can break libc and other core
> packages.

It shouldn't make any difference to glibc as it's written in C, but the libstdc++ often breaks (always?) on new GCC versions.

You need to rebuild all libstdc++ consumers on downgrading GCC: https://wiki.gentoo.org/wiki/Upgrading_GCC#libstdc.2B.2B.so.6:_version_.60GLIBCXX_3.4.15.27_not_found

(https://wiki.gentoo.org/wiki/Upgrading_GCC#ABI_changes_before_gcc-5.1)
Comment 9 Georgy Yakovlev archtester gentoo-dev 2021-06-18 03:33:27 UTC
got a report it works now, closing.

reopen if needed.
Comment 10 Thomas Capricelli 2021-06-18 08:10:56 UTC
I've tested the last ebuild with gcc-11, I can confirm it now works.

Thanks !