Библиотека не загружена: /opt/local/lib/libffi.5.dylib, но я использую homebrew - PullRequest
5 голосов
/ 28 февраля 2012

Я пытаюсь запустить guard на Mac OS X Lion (XCode 4.3 + OSX GCC Installer + Homebrew)

Сообщение об ошибке:

Library not loaded: /opt/local/lib/libffi.5.dylib

У меня нет каталога /opt/localтак как я не использую MacPorts, но Homebrew

я попробовал brew install libffi, что было успешно, но драгоценный камень все еще не работает.

Я также попытался удалить и переустановить драгоценный камень безsuccess.

Проблема также возникает в OSX 10.9 (Mavericks) с установленным apple-gcc42.

Я также пытался сообщить gem о наличии libffi следующим образом:

gem install ffi:1.0.7 -- --with-ldflags='-L/usr/local/opt/libffi/lib'

Ответы [ 4 ]

1 голос
/ 25 марта 2015

Я попал в эту ситуацию после удаления MacPorts (я думал, что доморощенного будет достаточно, но это не так). Это остановило мои cocoapods от обновления / установки.

Чтобы заставить его работать как шарм, я сделал:

$ sudo port install libffi
0 голосов
/ 10 августа 2013

Я использую rvm, и я решил ее, переустановив ffi gem

gem uninstall ffi

gem install ffi ##or inside rails project folder run bundle install

0 голосов
/ 10 апреля 2014

Я думаю, это лучше всего объяснить как проблему совместимости между Mac OS X и более ранними версиями ffi gem. Вот почему в некоторых случаях простая деинсталляция и повторная установка гема может работать.

В моем случае в Gemfile проекта была указана версия ffi 1.0.7 . Мои тесты провалились с Library not loaded: /opt/local/lib/libffi.5.dylib на этой версии, но если я попробовал последнюю версию 1.9.3 , он установился и работал без суеты.

Мне повезло, и необходимость в этом ограничении проекта была введена много лет назад и больше не является обязательным требованием. В итоге я перешел к более поздней версии ffi gem.

Я подозреваю, что может быть способ получить версию 1.0.7 , успешно установленную и работающую на OS X 10.9.2, но я не знаю, что это может быть.

0 голосов
/ 28 февраля 2012

С помощью otool и install_name_tool вы можете решить проблему зависимости. Подробнее см. Создание рабочих dylibs .

...