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

Bug 912035

Summary: sys-devel/gcc: compilation failure with libc++ 17
Product: Gentoo Linux Reporter: Violet Purcell <vimproved>
Component: Current packagesAssignee: Gentoo Toolchain Maintainers <toolchain>
Status: CONFIRMED ---    
Severity: normal CC: account, gentoo.qxrin, ionen, sam, vimproved
Priority: Normal Keywords: PATCH, PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/32249
https://bugs.gentoo.org/show_bug.cgi?id=914565
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274038
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111632
https://bugs.gentoo.org/show_bug.cgi?id=922124
https://bugs.gentoo.org/show_bug.cgi?id=922710
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 836220, 912821    
Attachments: patch
build.log
build.log actually run through ansifilter (sorry sam)
patch

Description Violet Purcell 2023-08-10 17:02:44 UTC
GCC fails to compile with libc++ 17 due to <vector> now implicitly including <locale> (https://github.com/llvm/llvm-project/commit/7e6bcb35a8116a653e4cdf660643e80459c5efce). The first issue is in system.h, where safe-ctype.h from libiberty gets included before <vector>, which causes an error because <locale> uses toupper and tolower, which safe-ctype.h just #defines to "do_not_use_isprint_with_safe_ctype." The second error is present in libcc1plugin.cc and libcp1plugin.cc, and is caused by some GCC header (not sure which) poisoning malloc and realloc, which <locale> also uses. This can be fixed by moving the <vector> include above the other includes in the afformentioned files (patch attached).

Steps to reproduce:
- Use LLVM profile
- Install libc++ 17
- emerge -av sys-devel/gcc
Comment 1 Violet Purcell 2023-08-10 17:03:03 UTC
Created attachment 867578 [details, diff]
patch
Comment 2 Violet Purcell 2023-08-10 17:03:44 UTC
Created attachment 867579 [details]
build.log
Comment 3 Violet Purcell 2023-08-10 17:13:32 UTC
Created attachment 867580 [details]
build.log actually run through ansifilter (sorry sam)
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-09-23 13:32:36 UTC
Huh, I somehow missed this at the time..
Comment 5 Larry the Git Cow gentoo-dev 2023-10-01 02:26:26 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60527e9c220e351f084106f80b836c2048cea8ee

commit 60527e9c220e351f084106f80b836c2048cea8ee
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-10-01 02:26:04 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-10-01 02:26:04 +0000

    sys-devel/gcc: add 13.2.1_p20230930
    
    Bug: https://bugs.gentoo.org/912035
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-devel/gcc/Manifest                    |  2 +
 sys-devel/gcc/gcc-13.2.1_p20230930.ebuild | 65 +++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)
Comment 6 Larry the Git Cow gentoo-dev 2023-10-01 02:28:51 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=9e320b0781c3505e9f6ff49b84f5b35d6016c653

commit 9e320b0781c3505e9f6ff49b84f5b35d6016c653
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-10-01 01:50:47 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-10-01 02:28:48 +0000

    13.2.0: add 50_all_PR111632_system_cxx_headers_libcxx.patch
    
    Bug: https://gcc.gnu.org/PR111632
    Bug: https://bugs.gentoo.org/912035
    Signed-off-by: Sam James <sam@gentoo.org>

 ...50_all_PR111632_system_cxx_headers_libcxx.patch | 134 +++++++++++++++++++++
 13.2.0/gentoo/README.history                       |   1 +
 2 files changed, 135 insertions(+)
Comment 7 Arsen Arsenović gentoo-dev 2023-10-12 21:17:46 UTC
*** Bug 915652 has been marked as a duplicate of this bug. ***
Comment 8 Larry the Git Cow gentoo-dev 2023-10-15 15:53:35 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=62544765c5b0fdd996522ac756afbc8e9ac2c703

commit 62544765c5b0fdd996522ac756afbc8e9ac2c703
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2023-10-15 15:52:53 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-10-15 15:52:58 +0000

    sys-devel/gcc: keyword 13.2.1_p20231014
    
    Closes: https://bugs.gentoo.org/912035
    Bug: https://bugs.gentoo.org/914070
    Signed-off-by: Sam James <sam@gentoo.org>

 sys-devel/gcc/gcc-13.2.1_p20231014.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 9 Violet Purcell 2024-01-30 18:47:25 UTC
This hasn't been fully fixed, as discussed on IRC. Attached patch should completely fix the issues.
Comment 10 Violet Purcell 2024-01-30 18:48:26 UTC
Created attachment 883744 [details, diff]
patch