rvm установить 1.8.7 (снежный барс) make.log ошибка - PullRequest
2 голосов
/ 08 сентября 2011

Я устанавливаю ruby ​​1.8.7 с rvm на новый MacBook Pro.Я на 10.6.8 и у меня есть xcode 4.0.2.RVM работает.Я могу установить 1.9.2 без проблем.Но когда я пробую 1.8.7, я получаю сообщение об ошибке:

ERROR: Error running 'make ', please read /Users/brentw/.rvm/log/ruby-1.8.7-p352/make.log
ERROR: There has been an error while running make. Halting the installation.

В файле make.log прочитано несколько последних строк:

ld: warning: ignoring file ../../../libruby.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
compiling win32ole
compiling zlib
making ruby
/usr/bin/gcc-4.2 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp  -fno-common -pipe -fno-common    -DRUBY_EXPORT  -L. -arch i386 -arch x86_64 -bind_at_load   main.o  -lruby -lpthread -ldl -lobjc   -o ruby
ld: warning: ignoring file ./libruby.dylib, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols for architecture i386:
  "_ruby_init_stack", referenced from:
      _main in main.o
  "_ruby_init", referenced from:
      _main in main.o
  "_ruby_options", referenced from:
      _main in main.o
  "_ruby_run", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/ay/aypnf68iFrumAawnjs+96FjhQuk/-Tmp-//cc7BuLDX.out (No such file or directory)
make[1]: *** [ruby] Error 1
make: *** [all] Error 2

Я искал по всемуместо, пытаясь несколько вещей, но я не могу подняться 1.8.7.Я пробовал разные патчи (хотя, вероятно, не все), вместо этого пытался установить ree, установил rvm readline, попробовал "rvm install 1.8.7 -C --with-arch = x86_64, --with-readline-dir = $ rvm_path / usr"... не повезло ...

Ответы [ 5 ]

2 голосов
/ 29 сентября 2012

В моем случае я, наконец, опустился до версии 1.8.0 и также использовал флаг --with-readline-dir для установки ruby ​​1.8.7.Наконец-то это сработало !!Спасибо за подсказки.

1 голос
/ 14 сентября 2011

На самом деле, все, что нужно было сделать, это rvm get head, который привел бы вас к 1.8.3, который решил проблему, удалив случайно добавленный -arch i386 в процесс сборки.Кроме того, простая установка zlib из Homebrew устранит проблему с zlib, а также сделает

rvm install 1.8.7 --with-zlib-dir=/usr/local/Cellar/zlib/x.x.x

или если вы установили zlib, используя rvm в качестве 'rvm pkg install zlib', вы могли бы затем сделать

rvm install 1.8.7 --with-zlib-dir=$rvm_path/usr

Мне кажется, я обновил документацию на сайте, чтобы отразить это.Если вы обнаружите, что это ошибка, пожалуйста, откройте проблему с https://github.com/rvm/rvm-site/issues/, и я буду рад ее исправить.

1 голос
/ 09 сентября 2011

ааа, нашел ответ здесь: https://rvm.io/os/darwin/

rvm_archflags="-arch i386" CFLAGS="-arch i386" LDFLAGS="-arch i386" rvm install 1.8.7 --patch osx-arch-fix

Теперь у меня возникает проблема с libz, когда я пытаюсь установить гемы .. нужно решить ..

1 голос
/ 09 сентября 2011

Проблема в rvm 1.8.2.Нужно откатиться на 1.8.0 и все будет работать как положено.

rvm get 1.8.0

Если вы удалили rvm, установите 1.8.0 с помощью этой команды:

curl -s https://rvm.beginrescueend.com/install/rvm -o rvm-installer ; chmod +x rvm-installer ; ./rvm-installer --version 1.8.0

Вы не получите ошибку zlib, если вы используете rvm 1.8.0 и выдля его установки не нужны флаги.

0 голосов
/ 08 сентября 2011

Это не решение, но это то, что я сделал, когда у меня было это ...

Я потратил много времени на эту проблему, в конечном итоге я собрал и скомпилировал ruby ​​и использовал другойМенеджер версий ruby ​​называется rbenv , после его установки:

Установите readline, используя home brew: brew install readline

, затем загрузите последнюю версию ruby, например 1.9.2-p290: http://ftp.ruby -lang.org / pub / ruby ​​/ 1.9 / ruby-1.9.2-p290.tar.gz и распакуйте его в $ HOME / .rbenv / версии /

, затем перейдитена:

cd $HOME/.rbenv/versions

затем создайте версию ruby, выполнив следующее:

./configure --prefix=$HOME/.rbenv/versions/1.9.2-p290  --with-readline-dir=/usr/local/Cellar/readline/6.2.1/
make
sudo make install

Не забудьте установить текущую версию как:

rbenv global 1.9.2-p290
rbenv rehash
...