• comment compiler GCC trunk (futur GCC 15) sur Debian/sid/x86-64

    From Basile Starynkevitch@21:1/5 to All on Sat Feb 1 08:20:02 2025
    Bonjour la liste

    Pour un résumé anglais voir https://gcc.gnu.org/pipermail/gcc-bugs/2025-January/898767.html

    Sur une machine Debian/sid/x86-64 mon /usr/src/Lang/gcc contient le GCC actuel (git cloné de git://gcc.gnu.org/git/gcc.git son commit d3ba88308426)

    Je le compile dans /usr/src/Lang/_GccTrunk où j'ai configuré '/usr/src/Lang/gcc/configure' '--enable-shared' '--enable-threads=posix' \
    '--with-default-libstdcxx-abi=new' '--enable-libstdcxx-backtrace' \
    '--disable-multilib' '--with-gcc-major-version-only' \
    '--program-suffix=-trunk' '--enable-cet' '--enable-checking=release' \
    '--build=x86_64-linux-gnu' '--host=x86_64-linux-gnu' \
    '--target=x86_64-linux-gnu' '--enable-host-shared' \
    'build_alias=x86_64-linux-gnu' 'host_alias=x86_64-linux-gnu' \
    '--enable-languages=c,c++,jit,lto'

    Il y a assez d'espace disque
    % df /usr/src/Lang
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/nvme0n1p2 1913264924 72833572 1743169068 5% /

    J'arrive à compiler le stage1 (donc /usr/src/Lang/_GccTrunk/./prev-gcc/xg++ existe) mais le stage2 échoue de manière reproductible avec l'erreur suivante:

    /usr/src/Lang/_GccTrunk/./prev-gcc/xg++ -B/usr/src/Lang/_GccTrunk/./prev-gcc/ - B/usr/local/x86_64-linux-gnu/bin/ -nostdinc++ -B/usr/src/Lang/_GccTrunk/prev- x86_64-linux-gnu/libstdc++-v3/src/.libs -B/usr/src/Lang/_GccTrunk/prev-x86_64- linux-gnu/libstdc++-v3/libsupc++/.libs -I/usr/src/Lang/_GccTrunk/prev-x86_64- linux-gnu/libstdc++-v3/include/x86_64-linux-gnu -I/usr/src/Lang/_GccTrunk/prev-
    x86_64-linux-gnu/libstdc++-v3/include -I/usr/src/Lang/gcc/libstdc++- v3/libsupc++ -L/usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/src/.libs -L/usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/libsupc++/.libs -fcf-protection -fPIC -c -DIN_GCC_FRONTEND -g -O2 -fno- checking -gtoggle -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind- tables -W -Wall -Wno-error=narrowing -Wwrite-strings -Wcast-qual -Wmissing- format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno- long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -DHAVE_CONFIG_H -fPIC -I. -Ijit -I/usr/src/Lang/gcc/gcc -I/usr/src/Lang/gcc/gcc/jit - I/usr/src/Lang/gcc/gcc/../include -I/usr/src/Lang/gcc/gcc/../libcpp/include - I/usr/src/Lang/gcc/gcc/../libcody -I/usr/src/Lang/gcc/gcc/../libdecnumber - I/usr/src/Lang/gcc/gcc/../libdecnumber/bid -I../libdecnumber - I/usr/src/Lang/gcc/gcc/../libbacktrace -o jit/dummy-frontend.o -MT jit/dummy- frontend.o -MMD -MP -MF jit/.deps/dummy-frontend.TPo /usr/src/Lang/gcc/gcc/jit/dummy-frontend.cc
    In file included from /usr/src/Lang/gcc/gcc/jit/jit-playback.h:31,
    from /usr/src/Lang/gcc/gcc/jit/dummy-frontend.cc:24: /usr/src/Lang/gcc/gcc/jit/jit-recording.h: In member function ‘const std::string
    gcc::jit::recording::location::get_filename() const’: /usr/src/Lang/gcc/gcc/jit/jit-recording.h:586:36: error: no matching function for call to ‘std::__cxx11::basic_string<char>::basic_string(gcc::jit::recording::string* const&)’
    586 | return std::string(m_filename);
    | ^ /usr/src/Lang/gcc/gcc/jit/jit-recording.h:586:36: note: there are 17 candidates In file included from /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/string:56,
    from /usr/src/Lang/gcc/gcc/jit/jit-playback.h:24: /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:808:9: note: candidate 1: ‘template<class _Tp, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Tp&, const _Alloc&) [with <template-parameter-2-2> = _Tp; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    808 | basic_string(const _Tp& __t, const _Alloc& __a = _Alloc())
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:808:9: note: template argument deduction/substitution failed:
    In file included from /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/move.h:37,
    from /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/new_allocator.h:36,
    from /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/x86_64-linux-gnu/bits/c++allocator.h:33,
    from /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/allocator.h:46,
    from /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/memory:67,
    from /usr/src/Lang/gcc/gcc/system.h:228,
    from /usr/src/Lang/gcc/gcc/jit/dummy-frontend.cc:21: /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++-v3/include/type_traits: In substitution of ‘template<bool _Cond, class _Tp> using std::enable_if_t = typename std::enable_if::type [with bool _Cond = false; _Tp = void]’: /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:154:8: required by substitution of ‘template<class _CharT, class _Traits, class _Alloc> template<class _Tp, class
    _Res> using std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_If_sv = std::enable_if_t<((bool)std::__and_<std::is_convertible<const _Tp&, std::basic_string_view<_CharT, _Traits> >, std::__not_<std::is_convertible<const
    _Tp*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>*> >, std::__not_<std::is_convertible<const _Tp&, const _CharT*> > >::value), _Res> [with _Tp = gcc::jit::recording::string*; _Res = void; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    154 | using _If_sv = enable_if_t<
    | ^~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:805:30: required from here
    805 | template<typename _Tp, typename = _If_sv<_Tp, void>>
    | ^~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/type_traits:2836:11: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
    2836 | using enable_if_t = typename enable_if<_Cond, _Tp>::type;
    | ^~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:796:9: note: candidate 2: ‘template<class _Tp, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Tp&, size_type, size_type, const _Alloc&) [with <template-parameter-2-2> = _Tp;
    _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    796 | basic_string(const _Tp& __t, size_type __pos, size_type __n,
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:796:9: note: candidate expects 3 arguments, 1 provided
    /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:773:9: note: candidate 3: ‘template<class _InputIterator, class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with <template-parameter-2-2> = _InputIterator; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    773 | basic_string(_InputIterator __beg, _InputIterator __end,
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:773:9: note: candidate expects 2 arguments, 1 provided
    /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:677:7: note: candidate 4: ‘template<class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(size_type, _CharT, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    677 | basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:677:7: note: candidate expects 2 arguments, 1 provided
    /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:654:7: note: candidate 5: ‘template<class> std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*,
    const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    654 | basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:654:7: note: template argument deduction/substitution failed: /usr/src/Lang/gcc/gcc/jit/jit-recording.h:586:26: note: cannot convert ‘((const gcc::jit::recording::location*)this)- >gcc::jit::recording::location::m_filename’ (type ‘gcc::jit::recording::string*
    const’) to type ‘const char*’
    586 | return std::string(m_filename);
    | ^~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:729:7: note: candidate 6: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    729 | basic_string(basic_string&& __str, const _Alloc& __a)
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:729:7: note: candidate expects 2 arguments, 1 provided
    /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:724:7: note: candidate 7: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    724 | basic_string(const basic_string& __str, const _Alloc& __a)
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:724:7: note: candidate expects 2 arguments, 1 provided
    /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:719:7: note: candidate 8: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::initializer_list<_Tp>, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    719 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:719:45: note: no known conversion for argument 1 from ‘gcc::jit::recording::string* const’ to ‘std::initializer_list<char>’
    719 | basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
    | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:690:7: note: candidate 9: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    690 | basic_string(basic_string&& __str) noexcept
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:690:35: note: no known conversion for argument 1 from ‘gcc::jit::recording::string* const’ to ‘std::__cxx11::basic_string<char>&&’
    690 | basic_string(basic_string&& __str) noexcept
    | ~~~~~~~~~~~~~~~^~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:632:7: note: candidate 10: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; size_type = long unsigned
    int]’
    632 | basic_string(const _CharT* __s, size_type __n,
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:632:7: note: candidate expects 3 arguments, 1 provided
    /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:612:7: note: candidate 11: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, size_type, size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; size_type = long unsigned int]’
    612 | basic_string(const basic_string& __str, size_type __pos,
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:612:7: note: candidate expects 4 arguments, 1 provided
    /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:594:7: note: candidate 12: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, size_type, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; size_type = long unsigned int]’
    594 | basic_string(const basic_string& __str, size_type __pos,
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:594:7: note: candidate expects 3 arguments, 1 provided
    /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:577:7: note: candidate 13: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, size_type, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; size_type = long unsigned int]’
    577 | basic_string(const basic_string& __str, size_type __pos,
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:577:7: note: candidate expects 3 arguments, 1 provided
    /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:560:7: note: candidate 14: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    560 | basic_string(const basic_string& __str)
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:560:40: note: no known conversion for argument 1 from ‘gcc::jit::recording::string* const’ to ‘const std::__cxx11::basic_string<char>&’
    560 | basic_string(const basic_string& __str)
    | ~~~~~~~~~~~~~~~~~~~~^~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:548:7: note: candidate 15: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    548 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:548:34: note: no known conversion for argument 1 from ‘gcc::jit::recording::string* const’ to ‘const std::allocator<char>&’
    548 | basic_string(const _Alloc& __a) _GLIBCXX_NOEXCEPT
    | ~~~~~~~~~~~~~~^~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:532:7: note: candidate 16: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string() [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    532 | basic_string()
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:532:7: note: candidate expects 0 arguments, 1 provided
    /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:186:7: note: candidate 17: ‘std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(__sv_wrapper,
    const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
    186 | basic_string(__sv_wrapper __svw, const _Alloc& __a)
    | ^~~~~~~~~~~~ /usr/src/Lang/_GccTrunk/prev-x86_64-linux-gnu/libstdc++- v3/include/bits/basic_string.h:186:7: note: candidate expects 2 arguments, 1 provided
    make[3]: *** [Makefile:1208: jit/dummy-frontend.o] Error 1
    make[3]: Leaving directory '/usr/src/Lang/_GccTrunk/gcc'
    make[2]: *** [Makefile:5096: all-stage2-gcc] Error 2
    make[2]: Leaving directory '/usr/src/Lang/_GccTrunk'
    make[1]: *** [Makefile:25405: stage2-bubble] Error 2
    make[1]: Leaving directory '/usr/src/Lang/_GccTrunk'
    make: *** [Makefile:1100: all] Error 2



    Un grand merci pour votre éclairage.

    Librement.


    NB: mon projet libre est le moteur d'inférences https://github.com/RefPerSys/RefPerSys/

    --
    Basile STARYNKEVITCH <basile@starynkevitch.net>
    8 rue de la Faïencerie
    92340 Bourg-la-Reine, France
    http://starynkevitch.net/Basile & https://github.com/bstarynk

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)