Při pokusu o vytvoření libstdc++ jsem narazil na podobný problém. Možnosti konfigurace --enable-offload-target=x86_64-pc-linux-gnu
vyřešte problém a --disable-bootstrap
ušetřilo poměrně dost času kompilace. Po přidání předchozího příznaku make all-target-libstdc++-v3
přestal si stěžovat na xgcc a kompilátor nemůže vytvářet spustitelné soubory. Výše uvedený patch není potřeba, doufejme, že to pomůže někomu jinému.
Zde je problém:Než jste se pokusili sestavit libgcc
jak jsi popsal, postavil jsi extrémní křížový kompilátor s holou kostí. Nyní je součástí standardních testů, které konfigurační skript spouští, testování kompilátoru, zda za normálních podmínek vytvoří funkční spustitelný soubor. Váš překladač holých kostí to nedokáže. Naštěstí pro libgcc
, nepotřebujete vytvářet spustitelný soubor, stačí statická knihovna libgcc.a
. Problém je v tom hloupém GNU autoconf
-vygenerovaný skript si to neuvědomuje.
Narazil jsem na stejný problém a vymyslel jsem velmi ošklivé řešení. Musíte zakomentovat část souboru libgcc/configure ve zdrojovém adresáři gcc. Zde je část, kterou jsem okomentoval pro svou verzi; udělejte něco podobného jako vy:
Na řádku 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
Doufám, že to pomůže.