Subject: libstdc++-boot0.x86_64-linux on core-updates is broken

From: Maxim Cournoyer <[email-masked]>
Date: Fri, 05 Jan 2024 15:01:33 -0500

Hello,

[email-masked] (Cuirass) writes:

> <p>The build <b>libstdc++-boot0.x86_64-linux</b> for specification <b>core-updates</b> is broken. You can find the detailed information about this build <a
> href="https://ci.guix.gnu.org/build/3012286/details">here</a>.</p>
>
> https://ci.guix.gnu.org/build/3012286/details

It now fails like:

--8<---------------cut here---------------start------------->8---
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1365:46: error: there are no arguments to '__is_trivially_constructible' that depend on a template parameter, so a declaration of '__is_trivially_constructible' must be available [-fpermissive]
    __is_trivially_constructible(_Tp, _Args...)>>
                                              ^
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1365:46: error: template argument 2 is invalid
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1365:47: error: template argument 2 is invalid
    __is_trivially_constructible(_Tp, _Args...)>>
                                               ^
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1409:48: error: there are no arguments to '__is_trivially_constructible' that depend on a template parameter, so a declaration of '__is_trivially_constructible' must be available [-fpermissive]
    __is_trivially_constructible(_Tp, const _Tp&)>>
                                                ^
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1409:48: error: template argument 2 is invalid
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1409:49: error: template argument 2 is invalid
    __is_trivially_constructible(_Tp, const _Tp&)>>
                                                 ^
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1417:43: error: there are no arguments to '__is_trivially_constructible' that depend on a template parameter, so a declaration of '__is_trivially_constructible' must be available [-fpermissive]
    __is_trivially_constructible(_Tp, _Tp&&)>>
                                           ^
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1417:43: error: template argument 2 is invalid
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1417:44: error: template argument 2 is invalid
    __is_trivially_constructible(_Tp, _Tp&&)>>
                                            ^
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1425:38: error: there are no arguments to '__is_trivially_assignable' that depend on a template parameter, so a declaration of '__is_trivially_assignable' must be available [-fpermissive]
    __is_trivially_assignable(_Tp, _Up)>>
                                      ^
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1425:38: error: template argument 2 is invalid
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1425:39: error: template argument 2 is invalid
    __is_trivially_assignable(_Tp, _Up)>>
                                       ^
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1433:46: error: there are no arguments to '__is_trivially_assignable' that depend on a template parameter, so a declaration of '__is_trivially_assignable' must be available [-fpermissive]
    __is_trivially_assignable(_Tp&, const _Tp&)>>
                                              ^
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1433:46: error: template argument 2 is invalid
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1433:47: error: template argument 2 is invalid
    __is_trivially_assignable(_Tp&, const _Tp&)>>
                                               ^
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1441:41: error: there are no arguments to '__is_trivially_assignable' that depend on a template parameter, so a declaration of '__is_trivially_assignable' must be available [-fpermissive]
    __is_trivially_assignable(_Tp&, _Tp&&)>>
                                         ^
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1441:41: error: template argument 2 is invalid
/tmp/guix-build-libstdc++-boot0-7.5.0.drv-0/gcc-7.5.0/build/include/type_traits:1441:42: error: template argument 2 is invalid
    __is_trivially_assignable(_Tp&, _Tp&&)>>
                                          ^
make[2]: *** [Makefile:876: eh_aux_runtime.lo] Error 1
--8<---------------cut here---------------end--------------->8---

Cuirass says it was caused by one of these:
https://git.savannah.gnu.org/cgit/guix.git/log/?qt=range&q=62e67aa7994f40c438ef5a528675e85699d7af76..eff2e206881511d04accae1715366e17bf4c2346

-- 
Thanks,
Maxim