Posts Tagged ‘ python

两个小问题(lcrypto, Py_InitModule4),记录一下~

一、cannot find -lcrypto
编译 fitx 时遇到的。一番 Google 之后,原来是指,而这个库属于 libssl-dev 包。

PS:因为 scim-python 是直接 make install 的,没有打包。fitx 依赖于 scim-python,我没有改依赖关系,而是用 dpkg -i –force- 安装。然后dpkg给出提示说:



二、undefined symbol: Py_InitModule4
运行 awn-manager 时遇到的。这是配置错误,/usr/bin/awn-manager:

SITE_PKG = ‘/usr/lib/python2.4/site-packages’


原因是,python2.5 中,将 64bit 系统下的 Py_InitModule4 改名为 Py_InitModule4_64 了。改名目的是为了阻止2.4的模块调用2.5的解析器。因为2.5针对64bit机做了不兼容于2.4的修改,以支持 4GB+ 内存。

/* On a 64-bit system, rename the Py_InitModule4 so that 2.4 modules cannot get loaded into a 2.5 interpreter */
#define Py_InitModule4 Py_InitModule4_64

In Python 2.4, indices of sequences are restricted to the C type int. On 64-bit machines, sequences therefore cannot use the full address space, and are restricted to 2**31 elements. This PEP proposes to change this, introducing a platform-specific index type Py_ssize_t.

As the proposed change will cause incompatibilities on 64-bit machines, it should be carried out while such machines are not in wide use (IOW, as early as possible).