Загрузка Ruby FFI - OSX
Мне интересно, если кто-то может помочь с проблемой, которая была открыта здесь:
https://github.com/technion/ruby-argon2/issues/1
В частности, я выпустил драгоценный камень и получил уведомление о том, что у пользователя возникла проблема. Это следующая ошибка при загрузке моего драгоценного камня:
LoadError: cannot find 'argon2_wrap' library
from /Users/me/.rvm/gems/ruby-2.2.1/gems/ffi-compiler-0.1.3/lib/ffi-compiler/loader.rb:21:in `find'
Я считаю, что это очень вероятно, проблема OSX, так как я сделал все возможное, чтобы повторить это и не имел успеха. И ошибка в основном показывает, что происходит на моей машине с Linux, если я не собираю общую библиотеку. У меня, однако, нет Mac, и, следовательно, нет возможности проверить это.
Я действительно хочу серьезно относиться к поддержке этого драгоценного камня, и любой, кто может дать мне несколько советов, будет очень признателен.
1 ответ
Удачи!!!:-(
Почему грустное лицо? потому что это проблема FFI, и я понятия не имею, как обойти это.
Кажется, что присвоение имени пути приводит к сбою загрузки библиотеки FFI в OS X.
Я попробовал это:
require 'ffi'
module Hello
extend FFI::Library
ffi_lib "Users/USERNAME/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/argon2-0.1.1/ext/argon2_wrap/libargon2_wrap.dylib"
end
# => FAILS to load library
Я скопировал скомпилированную библиотеку на рабочий стол и загрузил ее, используя FFI и чистый путь:
require 'ffi'
module Hello
extend FFI::Library
ffi_lib "/Users/USERNAME/Desktop/libargon2_wrap.dylib"
end
# => Success, the library loaded
Теперь мы знаем, откуда возникла проблема, и мы могли бы помочь решить проблему с библиотекой FFI.
редактировать
Я бы (извините) попытался бы перенести FFI в ядро Ruby fiddle
библиотека Вы можете увидеть учебник по скрипке здесь.