【发布时间】:2010-10-03 05:37:22
【问题描述】:
我正在尝试在我的 Win7 64 位机器上编译 ECL 10.4.1,但遇到了问题。
我已经尝试使用mingw32/MSYS 和mingw-w64/MSYS 进行构建,使用链接到此处的确切包。两者都失败了。
使用mingw32:./configure通过,make失败如下:
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
使用 mingw-w64: ./configure 失败如下:
[...]
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.
有人对这两种方法有什么建议吗?或者我可以尝试另一个构建系统吗? (除了 Cygwin,我出于许可原因避免使用。)
【问题讨论】:
-
建议:阅读您发布的错误消息。如果你这样做了,请解释你是如何尝试处理它们的(最基本的:添加 --enable-threads 来配置和/或安装 GMP 库),如果没有工作,它是如何失败的。
-
我确实阅读了这些消息。第一个:我尝试了两种不同的 MinGW32 安装。一个是经典的 MinGW 核心、Msys、GCC、w32 支持头文件等的一对一安装。两个是我后来在他们的 SF 页面上注意到的自动安装。在这两种情况下,错误都是相同的。我不知道 --enable-threads;我会试试的。 (第二个显然没有那么接近;因为我是 64 位的,所以我只是好奇是否有人知道丢失的包或类似的东西,或者我是否必须手动编译/安装该库(以及任何其他会在安装 GMP 后出现)。)
-
--enable-threads 似乎让我完成了 99% 的工作。也许我可以以某种方式从这里解决问题。我很乐意为您提供答案,但我无法发表评论...
-
你也可以从这里获得官方的 Windows 版本:sourceforge.net/projects/ecls/files 它在 Win7 中对我来说是开箱即用的
标签: windows-7 lisp mingw common-lisp windows-7-x64