J'ai rencontré un problème similaire en essayant de construire libstdc++ par lui-même. Les options de configuration --enable-offload-target=x86_64-pc-linux-gnu
résoudre le problème et --disable-bootstrap
économisé un peu de temps de compilation. Après avoir ajouté l'ancien drapeau, make all-target-libstdc++-v3
cessé de se plaindre de xgcc et le compilateur ne peut pas créer d'exécutables. Pas besoin du patch ci-dessus, j'espère que cela aidera quelqu'un d'autre.
Voici le problème :avant de tenter de compiler libgcc
comme vous l'avez décrit, vous avez construit un compilateur croisé extrêmement simple. Désormais, une partie des tests standard exécutés par le script configure consiste à tester le compilateur pour voir s'il produira un fichier exécutable fonctionnel dans des conditions normales. Votre compilateur de base ne le peut pas. Heureusement, pour libgcc
, vous n'avez pas besoin de produire un exécutable, juste une bibliothèque statique libgcc.a
. Le problème est que le stupide GNU autoconf
-le script généré ne s'en rend pas compte.
J'ai rencontré ce même problème et j'ai conçu une solution de contournement très laide. Vous devez commenter une section du fichier libgcc/configure dans votre répertoire source gcc. Voici la section que j'ai commentée pour ma version; faites quelque chose de similaire à la vôtre :
À la ligne 3484 :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
# BEGIN PHILLIP EDIT
# if test -z "$ac_file"; then :
# $as_echo "$as_me: failed program was:" >&5
# sed 's/^/| /' conftest.$ac_ext >&5
# { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
# $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
# { as_fn_set_status 77
# as_fn_error "C compiler cannot create executables
# See \`config.log' for more details." "$LINENO" 5; }; }
# fi
ac_file='a.out'
# END PHILLIP EDIT
ac_exeext=$ac_cv_exeext
J'espère que cela vous aidera.