RVM не работает для 1.9.1, но работает для 1.8.6 и 1.8.7 - PullRequest
3 голосов
/ 26 мая 2010

ОБНОВЛЕНИЕ 6/25/10

Используя Google , я не единственный, кто столкнулся с этой проблемой. Очевидно, эта проблема связана с readline . Кто-нибудь там сталкивался с этой проблемой? (см. ошибку в make.error.log ниже). Как подсказывает Google, я скомпилировал 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

Следуя совету вышеприведенного обновления (compile readline), привел меня к новым проблемам, связанным с libxml2, подробно описанным здесь . Я выполнил эту команду: sudo port install libxml2


Обновление III 6/26/10

После компиляции readline и после действий, описанных в RVM Documentation для Readline, я столкнулся с новой ошибкой: (rvm install 1.8.7 и rvm install 1.9.1 выдают эту ошибку)

Эта команда: 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

Мне удалось заставить работать rvm, выполнив 3 действия. Смотрите похожую проблему здесь :

  1. Я перешел на usr / local / lib /
  2. sudo rm -rf libsqlite3.dylib (Осторожно, это может быть очень плохо, но это помогло решить эту проблему)
  3. Я сделал sudo port upgrade --force sqlite3 +universal и получил sqlite3 и все его зависимости для создания универсальных библиотек x86_64 / i386

Все зеленые: .

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 или профилями?

Заранее большое спасибо!

Bash Terminal

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

Ответы [ 3 ]

2 голосов
/ 24 июля 2010

Согласно этому сообщению , сначала вы должны установить readline:

rvm package install readline
0 голосов
/ 28 июня 2010

РЕШЕНИЕ !!!! * * 1002 Я смог заставить работать rvm, выполнив 3 действия:

  1. Перейдите к usr/local/lib/
  2. sudo rm -rf libsqlite3.dylib (Осторожно, это может быть очень плохо, но это помогло решить эту проблему)
  3. sudo port upgrade --force sqlite3 +universal и получил sqlite3 и все его зависимости для создания универсальных библиотек x86_64 / i386
0 голосов
/ 19 июня 2010

Попробуйте: сначала установите и используйте (!) 1.8.7.

$ rvm установить 1.8.7

$ рвм использовать 1.8.7

Затем попробуйте установить 1.9.1 снова.

...