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

Bug 912280

Summary: dev-cpp/abseil-cpp: incorrectly packaged absl/base/options.h creates ABI confusion for updates
Product: Gentoo Linux Reporter: Holger Hoffstätte <holger>
Component: Current packagesAssignee: Georgy Yakovlev <gyakovlev>
Status: RESOLVED FIXED    
Severity: normal Keywords: PullRequest
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/32281
https://bugs.gentoo.org/show_bug.cgi?id=912281
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 912819    

Description Holger Hoffstätte 2023-08-14 16:15:18 UTC
This is a meta-issue to track the revelations in the attached PR, but the gist
is that our abseil-cpp installation has installed absl/base/options.h with default settings for various types, which means that any use of abseil has randomly selected ABI depending on the context of compilatoin/use.
With 2023xxyy this has changed and therefore now creates ABI breakage, primarily for users of re2, which has started to pull in abseil.

Reproducible: Always

Steps to Reproduce:
- install abseil-cpp-20220601
- grep "^#define.*STD_" /usr/include/absl/base/options.h
- 2 means compile-time delegation of various classes


Expected Results:  
All consumers of abseil should be forced to C++17 and delegate to the C++17 std:: classes, as that is the default since abseil-2023xxyy.