0

我之前已经使用 Xcode 3 附带的 gcc 编译器在 Mac 上成功安装了 Jekyll gem。不幸的是,我无法在现在拥有 Xcode 4.1 的其他 Mac 上安装它。这台 Mac 曾经有 Xcode 3,但我使用命令卸载了它sudo /Developer-3.2.5/Library/uninstall-devtools --mode=all

尝试时sudo gem install jekyll出现如下所示的编译错误:

构建原生扩展。这可能需要一段时间...
错误:安装 jekyll 时出错:
    错误:无法构建 gem 原生扩展。

/usr/local/bin/ruby extconf.rb
创建 Makefile

制作
gcc -I。-I/usr/local/lib/ruby/1.8/i686-darwin10.3.2 -I/usr/local/lib/ruby/1.8/i686-darwin10.3.2 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -c porter.c
porter.c:31:44:错误:stdlib.h:没有这样的文件或目录
porter.c:32:47:错误:string.h:没有这样的文件或目录
porter.c:在函数“create_stemmer”中:
porter.c:85:警告:内置函数“malloc”的隐式声明不兼容
porter.c:在函数“setto”中:
porter.c:199:警告:内置函数“memmove”的隐式声明不兼容
制作:*** [porter.o] 错误 1


Gem 文件将继续安装在 /usr/local/lib/ruby/gems/1.8/gems/fast-stemmer-1.0.0 以供检查。
结果记录到 /usr/local/lib/ruby/gems/1.8/gems/fast-stemmer-1.0.0/ext/gem_make.out

这里似乎有一个相当基本的问题!我怎样才能解决这个问题?我正在使用 Ruby 1.8.7 和 RubyGems 1.3.7 1.8.10。

提前致谢。

4

3 回答 3

2

现在这很奇怪。我昨晚重新安装了 Xcode 4.1,它解决了问题:我可以编译原生扩展并安装 Jekyll gem。

我能够重新安装 Xcode,因为根据 Mac App Store,它根本没有安装,尽管我一直很开心地使用它!我认为商店必须在文件夹中查找Install XCode应用程序的存在/Applications,我将其删除,因为它只是一个安装程序并且占用超过 3GB。

于 2011-09-02T08:19:10.583 回答
1

在运行之前gem install jekyll尝试输入export CC=gcc-4.2RVM with Lion 如果这解决了您的问题,那是因为 gems 依赖于 GCC 而不是 LLVM,它现在是 4.1 中的默认设置。添加export CC=gcc-4.2到您的 ~/.bashrc 文件中,这样每次您需要编译 gem 时都不必输入它。

于 2011-08-30T16:47:51.027 回答
1

RubyGems 1.3.7 已经过时了。我们正在谈论 1.8.9... 我建议您升级它。

我使用 Lion 没有任何问题,但我不得不承认我没有使用系统 Ruby。我使用 RVM 安装了不同的 1.8.7(和 1.9.2)版本。

于 2011-08-31T22:56:46.407 回答