Frage

Ich versuche zu kompilieren ECL 10.4.1 auf meinem Win7 64-Bit-Feld, aber haben Probleme.

Ich habe den Build mit beiden mingw32 / MSYS und mingw-w64 / MSYS , um die genauen Pakete mit hier verlinkt sind. Beide sind gescheitert.

Mit mingw32: configure Pässe, nicht nachkommt, wie folgt:

gcc -DECLDIR="\"/usr/local/lib/ecl-10.4.1\"" -I. -Ic:/my_home/ecl-10.4.1/build -I/c/my_home/ecl-10.4.1/src/c -I../ecl/gc -DECL_API -DECL_NO_LEGACY   -g -O2   -Dmingw32 -c -o main.o tmp.c

In file included from c:/my_home/ecl-10.4.1/src/c/main.d:20:0:
c:/my_home/ecl-10.4.1/build/ecl/ecl.h:71:4: error: #error "The Windows ports cannot be built without threads."
make[2]: *** [main.o] Error 1
make[2]: Leaving directory `/c/my_home/ecl-10.4.1/build/c'
make[1]: *** [libeclmin.a] Error 2
make[1]: Leaving directory `/c/my_home/ecl-10.4.1/build'
make: *** [all] Error 2

Mit mingw-w64: configure fehlschlägt wie folgt:

[...]
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking gmp.h usability... no
checking gmp.h presence... no
checking for gmp.h... no
checking gmp/gmp.h usability... no
checking gmp/gmp.h presence... no
checking for gmp/gmp.h... no
configure: error: Can not find GMP header.

hat jemand einen Rat für eine dieser beiden? Oder gibt es ein anderes Bausystem ich versuchen könnte? (Anders als Cygwin, die ich aus lizenzrechtlichen Gründen bin zu vermeiden.)


War es hilfreich?

Lösung

Firt ist 10.4.1 wirklich alte Version. Update auf mindestens 11.1.1 oder vorzugsweise git Version. Dann müssen Sie mingw32 installieren (vorzugsweise mit mingw-get) und msys.

Danach müssen Sie mingw32-gmp-dev-Paket (oder manuell kompilieren), Boehm-gc-7.2alpha2 und libffi.

installieren

Da alles, was Sie Ihre msys Shell und geben Sie den folgenden Befehl starten sollte:

./configure CFLAGS="-Ic:/msysdir/local/include -Ic:/msysdir/local/lib/libffi-3.0.9/include" LDFLAGS="-Lc:/msysdir/local/lib" --prefix=c:/opt/ecl --enable-threads --with-system-gmp -enable-boehm=system && make 2>&1 | tee -a build.log

Dies wird 32-Bit-Version bauen. Wie für m64-Version, werden Sie Tannen müssen alle ECL-Abhängigkeiten als 64 Bit bauen. Ich habe nicht versucht, dass.

Auch können Sie möglicherweise gmp und gc mit ECL enthalten anstelle von System diejenigen. Ich mache das nicht, da ECL Build viel mehr Zeit in Anspruch nimmt auf diese Weise.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top