Модуль ошибок FFI не найден
Вопрос
Я использую Ubuntu 64bit и Pharo 1.2.1
Я написал какой -то код FFI, который обращается к Crypt (3) из Glibc. Я хотел бы изменить его, чтобы получить доступ к крипту из LibxCrypt, который я устанавливаю с помощью APT-GET. Когда я меняю метод с:
ffiCrypt: aKey with: aSalt
<cdecl: char* 'crypt' (char* char*) module: 'crypt'>
^self externalCallFailed
к:
ffiCrypt: aKey with: aSalt
<cdecl: char* 'crypt' (char* char*) module: '/lib/libxcrypt.so.1'>
^self externalCallFailed
Я получаю внешний модуль, не найденный ошибок. Я связан с файлом libxcrypt.so.1 из каталога, в котором находится мое изображение.
Я подозреваю, что это может быть 64 -битная библиотека с 32 -битной библиотекой или что мне нужно связать библиотеку где -то еще, но не знаю.
Какие шаги или вещи я мог бы проверить, чтобы попытаться отследить, почему внешний модуль не может быть найден?
Решение
Это была как 64 -битная библиотечная проблема, так и проблема связывания.
Чтение этого:
http://forum.world.st/ffi-library-tependency-howto-td50461.html#a50462
Помогал мне узнать о том, где Фаро ищет библиотеки, поэтому мне просто нужно было установить 32 -битный LibxCrypt и правильно ссылаться на него.