Модуль ошибки FFI не найден - PullRequest
3 голосов
/ 01 мая 2011

Я использую Ubuntu 64bit и Pharo 1.2.1

Я написал некоторый код FFI, который обращается к crypt (3) из glibc.Я хотел бы изменить его для доступа к crypt из 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

, я получаю ошибки External Module Not Found.Я связался с файлом libxcrypt.so.1 из каталога, в котором находится мое изображение.

Я подозреваю, что это может быть 64-битная или 32-битная библиотека или что мне нужно связать библиотеку где-нибудь еще,не знаю.

Какие шаги или вещи я могу проверить, чтобы попытаться выяснить, почему внешний модуль не может быть найден?

1 Ответ

3 голосов
/ 05 мая 2011

Это была проблема 64-битной и 32-битной библиотек, а также проблема с связью.

Чтение этого:

http://forum.world.st/FFI-library-dependency-howto-td50461.html#a50462

помогло мне узнать, где Pharo ищет библиотекипоэтому мне просто нужно было установить 32-битный libxcrypt и правильно связать его.

...