Me encontré con un problema similar al intentar compilar libstdc++ por sí mismo. Las opciones de configuración --enable-offload-target=x86_64-pc-linux-gnu
resuelve el problema y --disable-bootstrap
ahorró bastante tiempo de compilación. Después de agregar la bandera anterior, make all-target-libstdc++-v3
dejó de quejarse de xgcc y el compilador no puede crear ejecutables. No es necesario el parche anterior, con suerte esto ayudará a alguien más.
Aquí está el problema:antes de intentar compilar libgcc
como describiste, construiste un compilador cruzado extremadamente básico. Ahora, parte de las pruebas estándar que ejecuta el script de configuración es probar el compilador para ver si producirá un archivo ejecutable que funcione en condiciones normales. Su compilador básico no puede. Afortunadamente, para libgcc
, no necesita producir un ejecutable, solo una biblioteca estática libgcc.a
. El problema es que el estúpido GNU autoconf
El script generado no se da cuenta de eso.
Encontré este mismo problema e ideé una solución muy fea. Debe comentar una sección del archivo libgcc/configure en su directorio fuente de gcc. Aquí está la sección que comenté para mi versión; haz algo similar al tuyo:
En la línea 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
Espero que esto ayude.