Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 786726 - dev-cpp/abseil-cpp-20200225.2-r1 fails to compile with gcc-11
Summary: dev-cpp/abseil-cpp-20200225.2-r1 fails to compile with gcc-11
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Georgy Yakovlev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: gcc-11
  Show dependency tree
 
Reported: 2021-04-29 09:44 UTC by Agostino Sarubbo
Modified: 2021-06-18 08:10 UTC (History)
2 users (show)

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


Attachments
build.log (build.log,101.52 KB, text/plain)
2021-04-29 09:44 UTC, Agostino Sarubbo
Details

Note You need to log in before you can comment on or make changes to this bug.
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 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 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-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 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 !