Загрузка 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 библиотека Вы можете увидеть учебник по скрипке здесь.

Другие вопросы по тегам