1

我在 Mac OS 10.6.8 上使用 RVM 1.13.4 和 XCode 3.2.6。对 Snow Leopard 的升级是最近才出现的,我相信那是我开始遇到这个问题的时候。

当我运行时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

似乎 shell 在将参数libtool传递给libtool? 未找到命令,因此将字符串command not found传递给libtool,然后会喷出一堆sh尝试执行的错误输出,当然,失败了。它可能与X似乎添加到--tagand--mode选项的 s 有关吗?无论如何,鉴于我对libtooland的理解有限,这是我最好的猜测make

根据我在 SO 上看到的类似问题,我尝试添加以下选项,但无济于事:

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

我也尝试过libyaml使用 MacPorts 单独安装(没有 RVM)并从源代码编译,但都没有成功。奇怪的是,如果我在安装 Ruby 后将 Psych 作为 gem 安装,就没有问题(但我确实希望它用 Ruby 编译)。

4

1 回答 1

2

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

于 2012-05-06T17:08:34.220 回答