Gcc compilen



  • Hi,

    ich hoffe ich bin hier im richtigen Subforum gelandet.
    Mein Ziel ist es, AoT-Compiling für java selber auszuprobieren.
    (Betriebssystem Windows)
    Dazu benötige ich den gcj (teil der gcc).
    Leider ist dieser nicht Teil der mingw-binaries.
    Also habe ich mir den source heruntergeladen und versucht ihn zu installieren.
    Dabei stieß ich auf folgenden Error:

    ...
    checking for the correct version of gmp.h... no
    configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
    Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify their locations.
    [...]
    Make sure that you have installed both the libraries and the header files.
    They may be located in separate packages.
    

    Gmp habe ich mir natürlich geholt und installiert.
    In dem Ordner C:\Mein\Pfad\gmp-5.0.3 befindet sich sowohl eine gmp.h als auch der Unterordner .libs mit libraries.

    Gestartet ich das ganze mit ../gcc/configure --with-gmp=C:\Mein\Pfad\gmp-5.0.3

    Wieso kommt der Fehler trotzdem noch, bzw. was kann ich dagegen tun?



  • Mathews schrieb:

    Wieso kommt der Fehler trotzdem noch, bzw. was kann ich dagegen tun?

    Prüfe, ob die gesuchte Header-Datei gmp.h sich in dem von Dir angegebenen Verzeichnis (C:\Mein\Pfad\gmp-5.0.3) da ist. Wahrscheinlich nicht. Eventuell muss man dem configure Skript mehr Information geben, unter configure --help nachschauen, was man noch übergeben kann und was fehlen könnte. Ausserdem steht in der Fehlermeldung "GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+". Ist denn alles da und kennt configure die Pfade? Viel Glück...



  • Haha,

    Fehler gefunden 🙂
    Danke nochmal für das --help, habe mir das nochmal durchgelesen und entdeckt,
    dass --with-gmp=PATH dasselbe ist wie die zwei optionen
    --with-gmp-include=PATH/include und --with-gmp-lib=PATH/lib
    Die gmp.h befand sich jedoch standardmäßig nicht im Unterordner /include, sondern direkt im Pfadverzeichnis.
    Irgendwo klar, es ist immer so ein dummer Fehler 😉
    Mfg



  • Hmm, inzwischen stehe ich vor dem nächsten Problem.
    Configure hat funktioniert, make hat auch jede Menge getan, errort jedoch:

    make[3]: Entering directory '/c/mein/pfad/gcc'
    echo : /c/Mein/Pfad/./gcc/xgcc -B/c/Mein/Pfad/./gcc -E -dM - : \
    	sed -n -e 's/^#define \([^_][a-zA-Z0-9_]*\).*/\1/p' \
    		-e 's/^#define \([^_A-Z][a-zA-Z0-9_]*\).*/\1/p' : \
    	sort -u > tmp-macro_list
    -uDas System kann die angegebene Datei nicht finden.
    make[3]: *** [s-makro_list] Error 1
    make[3]: Leaving directory '/c/Mein/Pfad/gcc'
    [...]
    

    Eine Datei mit dem Namen 'tmp-macro_list' exestiert hierbei allerdings.
    Sie besitzt keinerlei Inhalt.

    Weis jemand, was jetzt wieder schiefgegangen sein könnte?
    Mfg.



  • Mathews schrieb:

    Weis jemand, was jetzt wieder schiefgegangen sein könnte?

    Es könnte an den nicht kompatiblen Tools (wie sed) liegen. Probiere es, unter irgendeiner aktueller Linux-Distribution wie Ubuntu zu bauen, mit denselben configure-Parametern usw.



  • Vielleicht ist es einfacher, wenn du es mit einem Crosscompiler unter Linux baust. Ubuntu hat zB MinGW-Pakete für so etwas.



  • Ist der GCJ nicht auch in Cygwin enthalten? Wenns dir also nicht um die GCC-Kompilier-Experience geht, könntest du einfach den benutzen.

    http://cygwin.com/


Log in to reply