Невозможно установить любой Ruby с RVM на MacOS 10.14.2 Mojave: Ошибка при запуске '__rvm_make -j4' - PullRequest
0 голосов
/ 10 января 2019

После обновления MacOS до 10.14.2 Mojave я больше не могу устанавливать любую версию Ruby с RVM. Всегда выдает такую ​​ошибку:

$rvm install 2.5.3
ruby-2.5.3 - #removing src/ruby-2.5.3..
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.14/x86_64/ruby-2.5.3.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates bundle '/usr/local/etc/openssl@1.1/cert.pem' is already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/jdinse/.rvm/rubies/ruby-2.5.3, this may take a while depending on your cpu(s)...
ruby-2.5.3 - #downloading ruby-2.5.3, this may take a while depending on your connection...
ruby-2.5.3 - #extracting ruby-2.5.3 to /Users/jdinse/.rvm/src/ruby-2.5.3.....
ruby-2.5.3 - #configuring....................................................................
ruby-2.5.3 - #post-configuration.
ruby-2.5.3 - #compiling....................
Error running '__rvm_make -j4',
please read /Users/jdinse/.rvm/log/1547136259_ruby-2.5.3/make.log

There has been an error while running make. Halting the installation.

Глядя на make.log, единственные ошибки такие:

making srcs under enc
make[1]: Nothing to be done for `srcs'.
generating transdb.h
linking static-library libruby.2.5.3-static.a
libtool: object: dln.o malformed object (unknown load command 1)
libtool: object: localeinit.o malformed object (unknown load command 1)
libtool: object: loadpath.o malformed object (unknown load command 1)
libtool: object: array.o malformed object (unknown load command 1)
libtool: object: bignum.o malformed object (unknown load command 1)
libtool: object: class.o malformed object (unknown load command 1)
...

Что я пробовал до сих пор:

  • переустановил RVM
  • пробует предыдущий RVM 1.29.6 или основную ветку
  • переустановил Homebrew
  • переустановил XCode
  • переустановленные инструменты командной строки
  • установил gcc, gcc @ 7 или gcc @ 8 с помощью homebrew или удалил все из них
  • установил openssl или openssl@1.1 или удалил все из них

Ничего из этого и других советов по подобным вопросам не помогло.

Есть идеи? Или есть идеи, что вызвало ошибку libtool: object: dln.o malformed object (unknown load command 1) и как ее исправить?

Ответы [ 3 ]

0 голосов
/ 22 марта 2019

Я наконец смог исправить это, полностью удалив (очень старую версию) MacPorts. Все остальное давало мне те же проблемы.

Надеюсь, это работает и для вас. Мне потребовалось больше дня, чтобы найти подсказку, которая привела бы меня к этой точке.

0 голосов
/ 28 марта 2019

Я тоже столкнулся с этой проблемой. В моем случае это произошло из-за того, что MacPorts устарел после того, как я обновил до (MacOS) Mojave.

Я выполнил шаги, перечисленные в руководстве по миграции MacPorts здесь: https://trac.macports.org/wiki/Migration

Закрытый и вновь открытый терминал (только б / с)

побежал rvm install ruby и получил Install of ruby-2.6.0 - #complete, ура!

0 голосов
/ 18 января 2019

У вас установлено несколько версий boost? Я предпринял следующие шаги, чтобы исправить это (хотя я использовал rbenv).

Сначала я удалил свою библиотеку xcode: rm -rf /Library/Developer/CommandLineTools

Тогда я переустановил его: xcode-select --install

Потом я запустил brew ls и заметил, что у меня есть две версии наддува. boost и boost@1.6.0. Я удалил boost@1.6.0 и boost, переустановил boost и убедился, что он был связан через brew link boost.

Казалось, что после этого работать.

...