问题描述
更新6/25/10
使用 Google ,我不是唯一遇到此问题的人.显然,此问题与 readline 有关.有没有人遇到这个问题? (请参见下面的make.error.log上的错误).正如Google所建议的,我编译了readline:
Using Google, I am not the only person to encounter this problem. Apparently this problem has to do with readline. Has anyone out there encountered this issue? (see error at make.error.log below) As google suggests, I compiled readline:
curl -O ftp://ftp.gnu.org/gnu/readline/readline-6.1.tar.gz
tar xzvf readline-6.1.tar.gz
cd readline-6.1
./configure --prefix=/usr/local
make
sudo make install
更新II
根据上述更新的建议(编译readline),使我遇到了与libxml2相关的新问题,详细说明了此处.我运行了以下命令:sudo port install libxml2
Following the advice of the above update (compile readline), has led me to new problems associated with libxml2, described in detail here. I ran this command: sudo port install libxml2
更新III 6/26/10
在编译readline之后,并按照 RVM文档中概述的步骤进行操作遇到新错误:(rvm安装1.8.7和rvm安装1.9.1会产生此错误)
After compiling readline, and following the steps outlined at the RVM Documentation for Readline I'm met with a new error: (rvm install 1.8.7 and rvm install 1.9.1 produces this error)
此命令:rvm install 1.9.1 -C --with-readline-dir=$HOME/.rvm/usr
结果是:
main.c: In function ‘objcdummyfunction’:
main.c:19: warning: implicit declaration of function ‘objc_msgSend’
main.c: At top level:
main.c:19: warning: ‘objcdummyfunction’ defined but not used
eval.c: In function ‘ruby_cleanup’:
eval.c:139: warning: passing argument 1 of ‘ruby_init_stack’ discards qualifiers from pointer target type
gc.c: In function ‘garbage_collect_with_gvl’:
gc.c:597: warning: cast from pointer to integer of different size
w: illegal option -- L
usage: w [hi] [user ...]
make: [libruby.1.9.1.dylib] Error 1 (ignored)
ld: in /usr/local/lib/libsqlite3.dylib, file was built for i386 which is not the architecture being linked (x86_64)
collect2: ld returned 1 exit status
make[1]: *** [../../.ext/i386-darwin10.4.0/tcltklib.bundle] Error 1
make: *** [mkmain.sh] Error 1
解决方案!!!!更新IV 6/27/10
我通过做3件事就可以使rvm正常运行.在此处 a>:
SOLUTION!!!! Update IV 6/27/10
I was able to get rvm to function by doing 3 things. See a similar problem here :
- 我导航到usr/local/lib/
-
sudo rm -rf libsqlite3.dylib
(警告这可能是一件非常糟糕的事情;但是它可以解决此问题) - 我做了
sudo port upgrade --force sqlite3 +universal
并获得了sqlite3及其所有依赖项来构建x86_64/i386通用库
- I navigated to usr/local/lib/
sudo rm -rf libsqlite3.dylib
(Caution this could be a really bad thing to do; but it worked to solve this problem)- I did
sudo port upgrade --force sqlite3 +universal
and got sqlite3 and all its dependencies to build x86_64/i386 universal libraries
全绿色:
justinz$ rvm remove 1.9.1
info: Removing /Users/justinz/.rvm/src/ruby-1.9.1-p378...
info: it seems that /Users/justinz/.rvm/rubies/ruby-1.9.1-p378 is already non existent.
info: Removing ruby-1.9.1-p378 aliases...
info: Removing ruby-1.9.1-p378 wrappers...
info: Removing ruby-1.9.1-p378 environments...
info: Removing ruby-1.9.1-p378 binaries...
justin-zollarss-mac-pro:ruby-1.9.1-p378 justinz$ rvm install 1.9.1 -C --with-readline-dir=$HOME/.rvm/usr
info: Installing Ruby from source to: /Users/justinz/.rvm/rubies/ruby-1.9.1-p378
info: Extracting ruby-1.9.1-p378 ...
info: Configuring ruby-1.9.1-p378, this may take a while depending on your cpu(s)...
info: Compiling ruby-1.9.1-p378, this may take a while, depending on your cpu(s)...
info: Installing ruby-1.9.1-p378
info: Installation of ruby-1.9.1-p378 is complete.
info: Updating rubygems for /Users/justinz/.rvm/gems/ruby-1.9.1-p378
info: adjusting shebangs for ruby-1.9.1-p378 (gem irb erb ri rdoc testrb rake).
info: Importing initial gems...
justin-zollarss-mac-pro:ruby-1.9.1-p378 justinz$ rvm list
rvm rubies
ruby-1.8.6-p399 [ x86_64 ]
ruby-1.8.7-p299 [ x86_64 ]
ruby-1.9.1-p378 [ x86_64 ]
justin-zollarss-mac-pro:ruby-1.9.1-p378 justinz$
我在正确设置 RVM 时遇到了问题,我真的很感兴趣使用RVM,但在我尝试安装新版本的ruby后中止;您的Bashrc或个人资料文件有什么问题吗?
I'm running into problems properly setting up RVM, I am really interested in using RVM, but it aborts after I attempt to install a new version of ruby; can you see anything wrong with my Bashrc or Profile file(s)?
非常感谢!
Bash终端
justin-zollarss-mac-pro:~ justinz$ rvm install 1.9.1
Installing Ruby from source to: /Users/justinz/.rvm/rubies/ruby-1.9.1-p378
/Users/justinz/.rvm/src/ruby-1.9.1-p378 has already been extracted.
Configuring ruby-1.9.1-p378, this may take a while depending on your cpu(s)...
Compiling ruby-1.9.1-p378, this may take a while, depending on your cpu(s)...
Error running 'make ', please check /Users/justinz/.rvm/log/ruby-1.9.1-p378/make*.log
There has been an error while running make. Aborting the installation.
Bashrc
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then
return
fi
PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
if [[ -s /Users/justinz/.rvm/scripts/rvm ]] ; then source /Users/justinz/.rvm/scripts/rvm ; fi
make.error.log
[2010-05-25 23:14:45] make
readline.c: In function ‘username_completion_proc_call’:
readline.c:1159: error: ‘username_completion_function’ undeclared (first use in this function)
readline.c:1159: error: (Each undeclared identifier is reported only once
readline.c:1159: error: for each function it appears in.)
make[1]: *** [readline.o] Error 1
make: *** [mkmain.sh] Error 1
个人资料
# System-wide .profile for sh(1)
if [ -x /usr/libexec/path_helper ]; then
eval `/usr/libexec/path_helper -s`
fi
if [ "${BASH-no}" != "no" ]; then
[ -r /etc/bashrc ] && . /etc/bashrc
fi
if [[ -s /Users/justinz/.rvm/scripts/rvm ]] ; then source /Users/justinz/.rvm/scripts/rvm ; fi
推荐答案
解决方案!! 通过执行以下三项操作,我可以使rvm正常运行:
SOLUTION!!!!I was able to get rvm to function by doing 3 things:
- 导航到
usr/local/lib/
-
sudo rm -rf libsqlite3.dylib
(警告这可能是一件非常糟糕的事情;但它可以解决此问题) -
sudo port upgrade --force sqlite3 +universal
并获得了sqlite3及其所有依赖关系,以构建x86_64/i386通用库
- Navigate to
usr/local/lib/
sudo rm -rf libsqlite3.dylib
(Caution this could be a really bad thing to do; but it worked to solve this problem)sudo port upgrade --force sqlite3 +universal
and got sqlite3 and all its dependencies to build x86_64/i386 universal libraries
这篇关于RVM不适用于1.9.1,但适用于1.8.6和1.8.7的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!