gcc-make schlägt fehl: configure scheitert beim lib/cpp-sanity-check



  • Hi,

    ja, dieses Problem gab es im Netz schon öfter.

    Ich versuche den neuesten GCC 4.9 Snapshot auf Arch-Linux mit GCC 4.8.1 zu kompilieren. Dazu downloade ich mir den Snapshot als tar.gz-Datei, entpacke ihn und lasse ./configure laufen. Soweit so gut, configure läuft komplett durch.

    Dann lasse ich make laufen, und nach einer Weile erscheint die Fehlermeldung, dass Bei configure der "lib/cpp" sanity check fehlschlägt. Ich habe gewartet und das Problem hat sich in neueren Snapshots nicht anders verhalten.

    Ist das einfach ein Bug im GCC(-Snapshot)? Oder ist da was an meinem System faul?

    MfG



  • Super, wie sollen wir dir ohne genauere Angaben Hilfe leisten?

    Die Fehlermeldung bedeutet, dass da etwas an deinem System faul ist, das hast du richtig erkannt. Genaueres steht im config.log, wäre vielleicht gut gewesen, den auch noch zu posten.

    Eine wahrscheinliche Fehlerursache (ja, ab hier ist alles Spekulation, weil du uns keine genaueren Informationen lieferst) ist, dass dein System die multilib nicht bauen kann. Also, dass zum Beispiel, wenn du auf 64-Bit bist, <gnu/stubs-32.h> fehlt. Die kannst du entweder installieren (siehe Arch-Wiki) oder du kannst das Feature deaktivieren (--disable-multilib, steht im GCC-Wiki).



  • Genaueres steht im config.log, wäre vielleicht gut gewesen, den auch noch zu posten.

    Ich bin gerade auf Windows. Ich boote kurz um und poste dann sofort.

    Tatsächlich sehr wenig Hintergrund gegeben, da hast du völlig Recht.

    Schon mal vielen Dank für die Hilfe. Ich habe multilib nicht aktiviert, nein.



  • So, ich bin jetzt unter Linux.

    Die config.log aus dem obersten Verzeichnis sieht so aus:

    config.log

    Die Ausgabe in der Konsole müsste ich gleich reproduzieren, wenn nötig. 🙂



  • Ich probiere nochmal, jetzt mit multilib.

    Edit: Nun, es scheint zumindest zu klappen. Bin zwar noch nicht weiter als bei den Versuchen davor, aber ...

    Edit² Arggh, nein, ist fehlgeschlagen.
    Der config.log sieht diesmal so aus:

    config.log

    Ich habe make in beiden Fällen mit --quiet laufen lassen.

    Der Tipp war schon mal gut, ich werde auch sonst wahrscheinlich 32-Bit Bibliotheken brauchen...
    Bin nun mal ein Linux-Nube. 🙂

    Falls noch irgendwelche Informationen benötigt werden, wie weitere Logs o.ä. lass es mich einfach wissen, ich poste sie sofort.

    Hier nochmal der Konsolen output ganz am Schluss:

    checking how to run the C preprocessor... /lib/cpp
    configure: error: in `/home/robert/Downloads/gcc-4.9-20130818/x86_64-unknown-linux-gnu/32/libgcc':
    configure: error: C preprocessor "/lib/cpp" fails sanity check
    See `config.log' for more details.
    make[2]: *** [configure-stage1-target-libgcc] Fehler 1
    make[1]: *** [stage1-bubble] Fehler 2
    make: *** [all] Fehler 2
    


  • Aha! Wenn ich in den in der Fehlermeldung genannten Ordner gehe, finde ich eine config.log, und da steht (Edit: natürlich irgendwo in der Mitte, da steht noch viel mehr):

    gcc version 4.9.0 20130818 (experimental) (GCC) 
    configure:3376: $? = 0
    configure:3365: /home/robert/Downloads/gcc-4.9-20130818/host-x86_64-unknown-linux-gnu/gcc/xgcc -B/home/robert/Downloads/gcc-4.9-20130818/host-x86_64-unknown-linux-gnu/gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include  -m32 -V >&5
    xgcc: error: unrecognized command line option '-V'
    xgcc: fatal error: no input files
    compilation terminated.
    configure:3376: $? = 1
    configure:3365: /home/robert/Downloads/gcc-4.9-20130818/host-x86_64-unknown-linux-gnu/gcc/xgcc -B/home/robert/Downloads/gcc-4.9-20130818/host-x86_64-unknown-linux-gnu/gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include  -m32 -qversion >&5
    xgcc: error: unrecognized command line option '-qversion'
    xgcc: fatal error: no input files
    compilation terminated.
    configure:3376: $? = 1
    configure:3392: /home/robert/Downloads/gcc-4.9-20130818/host-x86_64-unknown-linux-gnu/gcc/xgcc -B/home/robert/Downloads/gcc-4.9-20130818/host-x86_64-unknown-linux-gnu/gcc/ -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include  -m32 -o conftest -g -O2   conftest.c  >&5
    /usr/bin/ld: cannot find crtbegin.o: No such file or directory
    /usr/bin/ld: cannot find -lgcc
    /usr/bin/ld: skipping incompatible /lib/../lib/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: skipping incompatible /usr/lib/../lib/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: cannot find -lgcc_s
    /usr/bin/ld: skipping incompatible /lib/../lib/libc.so when searching for -lc
    /usr/bin/ld: skipping incompatible /lib/../lib/libc.a when searching for -lc
    /usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.so when searching for -lc
    /usr/bin/ld: skipping incompatible /usr/lib/../lib/libc.a when searching for -lc
    /usr/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
    /usr/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc
    /usr/bin/ld: cannot find -lc
    /usr/bin/ld: cannot find -lgcc
    /usr/bin/ld: skipping incompatible /lib/../lib/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: skipping incompatible /usr/lib/../lib/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: skipping incompatible /usr/lib/libgcc_s.so when searching for -lgcc_s
    /usr/bin/ld: cannot find -lgcc_s
    /usr/bin/ld: cannot find crtend.o: No such file or directory
    collect2: error: ld returned 1 exit status
    


  • sanitäter schrieb:

    Also, dass zum Beispiel, wenn du auf 64-Bit bist, <gnu/stubs-32.h> fehlt. Die kannst du entweder installieren (siehe Arch-Wiki) oder du kannst das Feature deaktivieren (--disable-multilib, steht im GCC-Wiki).

    Ja, steht auch in diesem Log!

    /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
    

    Aber ich habe doch multilib installiert? stubs-32.h gibt es aber nicht... merkwürdig.

    Hier der komplette Log:

    x86_64-unknown-linux-gnu/32/libgcc/config.log

    Ich habe jetzt glibc-2.18-2, libtool-2.4.2-10 und binutils-2.23.2-3 installiert und versuche es nochmal.
    Edit^x: Selber fehler... :sigh:



  • Gut, letzter Status: Ich habe mir eine PKGBUILD von hier geholt und angepasst (md5sum geändert usw.), jetzt läuft es, bzw. scheint zu laufen seit vielen Minuten. Naja, was auch immer nicht geklappt hat.. jetzt klappt es wahrscheinlich dank dem PKGBUILD.


Anmelden zum Antworten