开发者

Help with installing ECL (Embeddable Common Lisp) via mingw32 or mingw-64 on Win7-64

I'm trying to compile ECL 10.4.1 on my Win7 64-bit box, but am having issues.

I've attempted the build with both mingw32/MSYS and mingw-w64/MSYS, using the exact packages linked to here. Both have failed.

With mingw32: ./configure passes, make fails as follows:

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

With mingw-w64: ./configure fails as follows:

[...]
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.

Does anyone have any advice for either of these? Or is there another build system I could try? (Other t开发者_如何学编程han Cygwin which I'm avoiding for licensing reasons.)



Firt, 10.4.1 is really old release. Update to at least 11.1.1, or, preferably git version. Then, you need to install mingw32 (preferably using mingw-get) and msys.

After that, you need to install mingw32-gmp-dev package (or manually compile it), boehm-gc-7.2alpha2 and libffi.

Given all that you should start your msys shell and type the following command:

./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

This will build 32 bit version. As for m64 version, you will firs need to build all ECL dependencies as 64 bit. I havent tried that.

Also, you might be able to use gmp and gc included with ECL instead of system ones. I don't do that since ECL build takes much more time that way.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜