2012-05-06 146 views
1

我在Mac OS 10.6.8上使用RVM 1.13.4,XCode 3.2.6。升级到雪豹是相当新的,我相信那是当我开始有这个问题。RVM:在雪豹上安装libyaml软件包时遇到问题

当我运行rvm pkg install libyaml,我得到以下错误:

Fetching yaml-0.1.4.tar.gz to /Users/tsherif/.rvm/archives 
Extracting yaml-0.1.4.tar.gz to /Users/tsherif/.rvm/src 
Prepare yaml in /Users/tsherif/.rvm/src/yaml-0.1.4. 
Configuring yaml in /Users/tsherif/.rvm/src/yaml-0.1.4. 
Compiling yaml in /Users/tsherif/.rvm/src/yaml-0.1.4. 
Error running 'make ', please read /Users/tsherif/.rvm/log/yaml/make.log 


Database file /Users/tsherif/.rvm/config/packages does not exist. 

不知道这个故事是如何处理config/packages。该make.log文件包含以下内容:

[2012-05-06 05:37:14] make 
make all-recursive 
Making all in include 
make[2]: Nothing to be done for `all'. 
Making all in src 
/bin/sh ../libtool --tag=CC --mode=compile /usr/bin/gcc-4.2 -DHAVE_CONFIG_H -I. -I.. -I../include -g -O2 -MT api.lo -MD -MP -MF .deps/api.Tpo -c -o api.lo api.c 
../libtool: line 787: X--tag=CC: command not found 
../libtool: line 820: libtool: ignoring unknown tag : command not found 
../libtool: line 787: X--mode=compile: command not found 
../libtool: line 953: *** Warning: inferring the mode of operation is deprecated.: command not found 
../libtool: line 954: *** Future versions of Libtool will require --mode=MODE be specified.: command not found 
../libtool: line 984: libtool: warning: cannot infer operation mode from `/usr/bin/gcc-4.2': No such file or directory 
../libtool: line 7011: libtool: you must specify a MODE: command not found 
../libtool: line 7012: Try `libtool --help' for more information.: command not found 
make[2]: *** [api.lo] Error 1 
make[1]: *** [all-recursive] Error 1 
make: *** [all] Error 2 

好像壳它们传递给libtool之前试图执行参数libtool的命令?找不到这些命令,因此字符串command not found传递给libtool,然后输出sh试图执行的一堆错误输出,当然,这样做是不行的。这可能与X似乎被添加到--tag--mode选项有关吗?这是我最好的猜测,无论如何,由于我对libtoolmake的理解有限。

我已经尝试添加下列选项的基础上,我已经看到了这样类似的问题,但无济于事:

  • --with-gcc=clang
  • --enable-shared

我也尝试单独安装libyaml(没有RVM),同时使用MacPorts和从源代码编译,但都没有工作。奇怪的是,如果我在安装Ruby之后将Psych安装为gem,那么没有问题(但我确实希望它使用Ruby进行编译)。

+1

您是否尝试过使用Homebrew安装?它使大多数依赖包非常易于安装https://github.com/mxcl/homebrew,然后运行'brew instal libyaml' – bruno077

+0

@ bruno077嗯......这很简单。我也曾尝试使用MacPorts进行安装,但这并不奏效,所以我想弄明白为什么还要使用另一个软件包管理器? Homebrew =魔法?无论如何,如果你想把这个作为答案,我会选择/ upvote它。谢谢! – tsherif

+0

Homebrew是魔术,我不知道为什么,但每当我遇到一些lib问题时,Homebrew似乎都有一个包可以解决它。我很高兴你能解决你的问题! – bruno077

回答

2

您是否尝试过使用Homebrew进行安装?它使大多数依赖包非常易于安装,然后运行brew install libyaml