我在 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
似乎添加到--tag
and--mode
选项的 s 有关吗?无论如何,鉴于我对libtool
and的理解有限,这是我最好的猜测make
。
根据我在 SO 上看到的类似问题,我尝试添加以下选项,但无济于事:
--with-gcc=clang
--enable-shared
我也尝试过libyaml
使用 MacPorts 单独安装(没有 RVM)并从源代码编译,但都没有成功。奇怪的是,如果我在安装 Ruby 后将 Psych 作为 gem 安装,就没有问题(但我确实希望它用 Ruby 编译)。