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 demconfigure
Skript mehr Information geben, unterconfigure --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 kenntconfigure
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.