Ich bin auf ein ähnliches Problem gestoßen, als ich versucht habe, libstdc++ selbst zu erstellen. Die Konfigurationsoptionen --enable-offload-target=x86_64-pc-linux-gnu
Beheben Sie das Problem und --disable-bootstrap
hat einiges an Kompilierzeit gespart. Nach dem Hinzufügen des vorherigen Flags make all-target-libstdc++-v3
Ich habe aufgehört, mich über xgcc zu beschweren, und der Compiler kann keine ausführbaren Dateien erstellen. Der obige Patch ist nicht erforderlich, hoffentlich hilft er jemand anderem.
Hier ist das Problem:Bevor Sie versucht haben, libgcc
zu erstellen Wie Sie beschrieben haben, haben Sie einen extremen Barebone-Cross-Compiler erstellt. Nun, ein Teil der Standardtests, die das configure-Skript ausführt, besteht darin, den Compiler zu testen, um zu sehen, ob er unter normalen Bedingungen eine funktionierende ausführbare Datei erzeugt. Ihr Bare-Bones-Compiler kann das nicht. Zum Glück für libgcc
, müssen Sie keine ausführbare Datei erstellen, sondern nur eine statische Bibliothek libgcc.a
. Das Problem ist, dass das dumme GNU autoconf
-generiertes Skript erkennt das nicht.
Ich bin auf dasselbe Problem gestoßen und habe eine sehr hässliche Problemumgehung entwickelt. Sie müssen einen Abschnitt der Datei libgcc/configure in Ihrem gcc-Quellverzeichnis auskommentieren. Hier ist der Abschnitt, den ich für meine Version auskommentiert habe; tun Sie etwas Ähnliches wie bei Ihnen:
In Zeile 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
Hoffe das hilft.