我正在尝试在 bsd 上使用专为 linux 设计的 lib 用于 IBM-db 连接:
我已经按照适用于 linux 的 ibmdocs 安装,并将所需的 linux 库放在/compat/linux/lib/中
但是我得到导入错误:
>>> import ibm_db
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: Shared object "libdb2.so.1" not found, required by "ibm_db.so"
如果我手动将文件放在/usr/lib 或符号链接(symbolic link)中,我会收到读取错误:
>>> import ibm_db
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/lib/libdb2.so.1: Undefined symbol "strcspn"
如果有人能对此提供帮助,我将永远感激!!
我已经成功安装了 ibm_db 和 ibm_db_sa,我只是认为尝试在 bsd 上使用 linux 应用程序更像是一个问题。
请您参考如下方法:
由于它在/usr/lib 中寻找库,您似乎正在运行 Python 的 FreeBSD 版本。
由于 FreeBSD 的 Linux 兼容性是每个进程 兼容性,您不能将 Linux 库加载到 FreeBSD 进程中。如果要动态加载 Linux 库,则需要运行 Linux 版本的 Python。
