找不到FFI错误模块

时间:2011-05-01 13:53:03

标签: linux smalltalk ffi pharo

我正在使用Ubuntu 64bit和Pharo 1.2.1

我写了一些从glibc访问crypt(3)的FFI代码。我想将其更改为从libxcrypt访问我使用apt-get安装的crypt。当我从以下方法更改方法时:

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位vs 32位库的东西,或者我需要将库链接到其他地方,但不知道。

我可以检查哪些步骤或事项,以尝试找出无法找到外部模块的原因?

1 个答案:

答案 0 :(得分:3)

这是一个64位到32位的库问题和一个链接问题。

读这个:

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

帮助我了解了Pharo寻找库的位置,所以我只需安装32位libxcrypt并正确链接到它。