2014-10-21 5 views
2

С обновлением я получаю эту ошибку при выполнении моих тестов:OS X Yosemite FFI-Hunspell dyld ленивый символ Ошибка привязки: символ не найден

dyld: lazy symbol binding failed: Symbol not found: __ZN8HunspellC2EPKcS1_S1_ 
    Referenced from: /usr/lib/libhunspell-1.2.dylib 
    Expected in: flat namespace 

dyld: Symbol not found: __ZN8HunspellC2EPKcS1_S1_ 
    Referenced from: /usr/lib/libhunspell-1.2.dylib 
    Expected in: flat namespace 
  • Я пытался переустановить камень, свежий рубин установки, то рубин 1.9.3 и 2.1.2
  • Она зависит от версии системы Hunspell, но я не могу видеть, как остановить загрузку FFI, что без редактирования FFI-Hunspell камня
  • Я установил обновленный xcode app и инструменты командной строки с помощью xcode-select -install, которые фиксировали некоторые проблемы с nokogi ри, но не с этим

Я думаю, что это проблема с Hunspell 1.2 сборки Apple, а if I remove 1.2 from the ffi-hunspell gem (с расслоением открытым FFI-Hunspell) тесты проходят, предположительно загрузки Hunspell 1.3 Я установил с самогон.

Есть ли способ ограничить, где ffi ищет библиотеки?

Кроме того, что случилось с системной библиотекой?

+0

Не знаете, если это проблема, но вы обновили до последнего XCode? –

+0

Да, и закончил xcode-select --install снова, чтобы получить инструменты командной строки/libs. – nruth

ответ

3
  1. необязательно brew update
  2. brew install hunspell установить версию 1.3
  3. Укажите ваш Gemfile в gem 'ffi-hunspell', github: 'postmodern/ffi-hunspell'

Это остановит загрузку системной библиотеки, и не больше ошибок.

+1

Кроме того, вам, возможно, придется запустить 'brew update && brew upgrade', как указано здесь: http://stackoverflow.com/a/22631734/308315 .. Это, наконец, заставило меня работать на меня. – iwasrobbed

+0

Да, это хороший момент. Драгоценный камень был обновлен, чтобы попытаться загрузить более новую версию, которая будет обновляться homebrew, прежде чем она попытается загрузить более старую и сломанную версию системы. – nruth

-1

Часто после обновления ОС вам придется перестроить свои родные библиотеки для драгоценных камней. Попытка:

gem pristine --all 

The documentation объясняет это.

+0

Хотя я ценю предложение, к сожалению, это не проблема. Это также происходит на новой рубиновой установке (rbenv). – nruth

1

Связывание драгоценного камня с репутацией github должно исправить это до тех пор, пока не будет выпущена версия, более поздняя, ​​чем 0.3.0, для рубигемов (This commit содержит исправление, но по какой-то причине не была выпущена).

gem 'ffi-hunspell', github: 'postmodern/ffi-hunspell' 

Вы должны не нужно сделать настежь brew upgrade. Сначала попробуйте связать с github.

 Смежные вопросы

  • Нет связанных вопросов^_^