在Mac OS X 10.7 (Lion)上编译ECL 11.1.1



我一直在尝试在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

此问题已在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. 下载Boehm-Weiser垃圾收集器库的新版本,应用补丁(您可以从该页面获得下载库和补丁的链接),并将其安装在某处
  2. 用这些额外的选项配置ECL:
<>之前——enable-boehm =系统CPPFLAGS = - i/位置/图书馆//包括LDFLAGS = - l/位置//图书馆/lib之前

其中/location/for/library是用来安装垃圾收集器的前缀。

然后它应该正确构建。

我还发现了这个MacPorts票,它似乎在跟踪这个问题;查看未来的更新,看看它是否会被修复。

相关内容

  • 没有找到相关文章

最新更新