系统相关
首页 > 系统相关> > linux-找不到FFI错误模块

linux-找不到FFI错误模块

作者:互联网

我正在使用Ubuntu 64位和Pharo 1.2.1

我编写了一些FFI代码,可以从glibc访问crypt(3).我想将其更改为从使用apt-get安装的libxcrypt访问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位与32位库的事情,或者我需要将库链接到其他地方但不知道.

我可以检查哪些步骤或事情以尝试查找为什么找不到外部模块?

解决方法:

这既是64位还是32位库问题,也是链接问题.

阅读此:

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

帮助我了解了Pharo在哪里寻找库,因此我只需要安装32位libxcrypt并正确链接即可.

标签:ffi,smalltalk,pharo,linux
来源: https://codeday.me/bug/20191208/2091625.html