我正在尝试使用 clang 安装 Ruby 1.9.3。我尝试了以下方法,但没有奏效:
rvm install 1.9.3-p125 --with-gcc=clang
rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr
我得到的错误是 make 日志中与 readline 相关的错误:
readline.c:1499:9: error: use of undeclared identifier 'username_completion_function'; did you mean 'rl_username_completion_function'?
rl_username_completion_function);
^
readline.c:69:42: note: expanded from macro 'rl_username_completion_function'
# define rl_username_completion_function username_completion_function
^
/usr/local/include/readline/readline.h:443:14: note: 'rl_username_completion_function' declared here
extern char *rl_username_completion_function PARAMS((const char *, int));
^
1 error generated.
make[2]: *** [readline.o] Error 1
make[1]: *** [ext/readline/all] Error 2
make: *** [build-ext] Error 2
以及第一次尝试的这个clang错误:(rvm install 1.9.3-p125 --with-gcc=clang)
clang: error: unsupported option '--with-libyaml'
clang: error: unsupported option '--with-libyaml'
第二次尝试: (rvm install 1.9.3 --with-gcc=clang --with-readline-dir=$rvm_path/usr)
clang: error: unsupported option '--with-readline'
clang: error: unsupported option '--with-opt-dir=/Users/andrewjl/.rvm/usr'
clang: error: unsupported option '--with-readline'
clang: error: unsupported option '--with-opt-dir=/Users/andrewjl/.rvm/usr'
鉴于我在这里学到的东西,我的猜测是 clang 没有识别我的命令行参数来使用特定的 gcc 和/或特定的 readline 目录。
我的 RVM 是:rvm 1.14.3 (master)
我的 Clang 是:
Apple clang version 3.1 (tags/Apple/clang-318.0.61) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.4.0
Thread model: posix
这是我的海湾合作委员会:
andrewjl$ /usr/bin/gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.9~22/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.9~22/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)
我在这里尝试了该方法,但它对我不起作用。具体来说,我使用命令行工具安装了 Xcode 4.1,并确保更新了 openssl 和 readline。有人知道我还能尝试什么吗?