Macos 在Mac OS X 10.7(Lion)上编译ECL 11.1.1
我一直在尝试在OSX10.7下构建ECL,我一直在 遇到麻烦了。当我尝试建造它时,我最终得到了一个 ecl_min阶段的SEGFULT 我使用以下行进行配置:Macos 在Mac OS X 10.7(Lion)上编译ECL 11.1.1,macos,segmentation-fault,common-lisp,osx-lion,ecl,Macos,Segmentation Fault,Common Lisp,Osx Lion,Ecl,我一直在尝试在OSX10.7下构建ECL,我一直在 遇到麻烦了。当我尝试建造它时,我最终得到了一个 ecl_min阶段的SEGFULT 我使用以下行进行配置: ./configure --build=x86_64 --target=x86_64 --prefix=`pwd`/install_ecl CC=/Developer/usr/bin/gcc-4.2 编译失败,原因是: if [ -f CROSS-COMPILER ]; then \ ./CROSS-COMPILER compi
./configure --build=x86_64 --target=x86_64 --prefix=`pwd`/install_ecl
CC=/Developer/usr/bin/gcc-4.2
编译失败,原因是:
if [ -f CROSS-COMPILER ]; then \
./CROSS-COMPILER compile; \
else \
ECLDIR=`pwd`/ ./ecl_min compile; \
fi
/bin/sh: line 1: 17433 Segmentation fault: 11 ECLDIR=`pwd`/ ./ecl_min compile
我曾尝试在外部建立gmp和boehm gc,但没有使用
包括了一些,但不幸的是结果是一样的。我
我也尝试过默认的llvm gcc,但运气也不太好
是否有人能够在Lion下编译ECL,如果有,您需要应用哪些配置选项/补丁
更新:
多亏了下面被接受的答案,我才得以编译。以下是我使用的脚本(注意:这来自ECL的一个新的git克隆):
描述问题的两个原因(编译器问题和垃圾收集器兼容性问题),并提供临时解决方案,直到问题本身得到解决。这些指示可归结为:
/location/for/library
是用于安装垃圾收集器的前缀
然后它应该正确地构建
我还发现了似乎正在跟踪此问题的;在那里查看将来的更新,看看它是否会被修复。此问题已在git/CVS中修复。如上所述,错误编译的原因是我们的垃圾收集器版本:我们提供了最后一个可用版本:7.1,但这不适用于OSXLion。ECL现在有两个版本(7.1和7.2-cvs),使用OSXLion中的最新版本。换句话说,git/CVS()中的ECL应该可以编译并立即运行。我将很快试用它。我会用我的结果更新它。unicode的启用/禁用不会影响它是否编译。我禁用了它,因为我的宠物项目不使用unicode。更新了主要问题以反映更改。
#!/bin/sh
ECL_INSTALLDIR="`pwd`/install_ecl"
mkdir -p $ECL_INSTALLDIR
./configure\
--prefix=$ECL_INSTALLDIR\
--enable-boehm\
--enable-unicode=no\
CC=/Developer/usr/bin/gcc\
CXX=/Developer/usr/bin/g++\
CFLAGS="$CFLAGS"
LDFLAGS="$LDFLAGS"
make && make install
--enable-boehm=system
CPPFLAGS=-I/location/for/library/include
LDFLAGS=-L/location/for/library/lib