我一直在尝试在OS X 10.7下构建ECL而且我一直在 遇到麻烦。当我尝试构建它时,我最终获得了一个 ecl_min阶段的段错误。
我使用以下行配置:
./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克隆):
#!/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
答案 0 :(得分:2)
此问题已在git / CVS中修复。如上所述,错误编译的原因是我们的垃圾收集器的版本:我们发送了最后一个可用的版本:7.1,但这不适用于OS X Lion。 ECL现在提供两个版本(7.1和7.2-cvs),使用OS X Lion中的最新版本。换句话说,来自git / CVS(http://ecls.sourceforge.net/download.html)的ECL应该编译并开箱即用。
答案 1 :(得分:1)
This page描述了问题的两个原因(编译器的问题,以及垃圾收集器兼容性的问题),并提供了一个临时解决方案,直到问题本身得到修复。说明归结为:
--enable-boehm=system CPPFLAGS=-I/location/for/library/include LDFLAGS=-L/location/for/library/lib
其中/location/for/library
是您用于安装垃圾收集器的前缀。
然后它应该正确构建。
我还发现this MacPorts ticket似乎正在追踪这个问题;检查那里是否有未来的更新,看看它是否会被修复。