Objet : Liste pour les discussions techniques (liste à inscription publique)
Archives de la liste
[April technique] comment compiler GCC trunk (futur GCC 15) sur Debian/sid/x86-64
Chronologique Discussions
- From: Basile Starynkevitch <basile AT starynkevitch.net>
- To: debian-user-french AT lists.debian.org, technique AT april.org
- Subject: [April technique] comment compiler GCC trunk (futur GCC 15) sur Debian/sid/x86-64
- Date: Sat, 01 Feb 2025 08:15:04 +0100
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 AT starynkevitch.net>
8 rue de la Faïencerie
92340 Bourg-la-Reine, France
http://starynkevitch.net/Basile & https://github.com/bstarynk
- [April technique] comment compiler GCC trunk (futur GCC 15) sur Debian/sid/x86-64, Basile Starynkevitch, 01/02/2025
Archives gérées par MHonArc 2.6.19+.