自升级到Xcode 4.1后无法安装Jekyll gem

时间:2011-08-30 15:41:23

标签: ruby gcc rubygems jekyll

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

尝试sudo gem install jekyll时,我收到如下所示的编译错误:

Building native extensions.  This could take a while...
ERROR:  Error installing jekyll:
    ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb
creating Makefile

make
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: error: stdlib.h: No such file or directory
porter.c:32:47: error: string.h: No such file or directory
porter.c: In function ‘create_stemmer’:
porter.c:85: warning: incompatible implicit declaration of built-in function ‘malloc’
porter.c: In function ‘setto’:
porter.c:199: warning: incompatible implicit declaration of built-in function ‘memmove’
make: *** [porter.o] Error 1


Gem files will remain installed in /usr/local/lib/ruby/gems/1.8/gems/fast-stemmer-1.0.0 for inspection.
Results logged to /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。

提前致谢。

3 个答案:

答案 0 :(得分:2)

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

我能够重新安装Xcode,因为根据Mac App Store它根本没有安装,即使我很高兴使用它!我认为商店必须在/Applications文件夹中查找安装XCode 应用程序的存在,我删除了该文件夹,因为它只是一个安装程序,占用超过3GB。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

RubyGems 1.3.7已经过时了。我们谈的是1.8.9 ......我建议你升级它。

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