我在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
在将libtool
传递给libtool
之前,shell似乎试图将command not found
的参数作为命令执行?找不到这些命令,因此字符串libtool
被传递给sh
,然后X
会发出一堆--tag
尝试执行的错误输出,当然,却没有。是否可能与--mode
s似乎添加到libtool
和make
选项中有关?无论如何,这是我最好的猜测,因为我对--with-gcc=clang
和--enable-shared
的理解有限。
我尝试根据我在SO上看到的类似问题添加以下选项,但无济于事:
libyaml
我还尝试使用MacPorts和从源代码编译单独安装{{1}}(没有RVM),但都没有工作。奇怪的是,如果我在安装Ruby之后将Psych安装为gem,那就没问题(但我确实希望用Ruby编译)。