【问题标题】:'pecl install ibm_db2' can't find library'pecl install ibm_db2' 找不到库
【发布时间】:2015-07-10 00:44:45
【问题描述】:

我正在尝试通过 pecl 安装 ibm_db2:

pecl install ibm_db2

然后当它要求安装目录时,我尝试了不同的地方,但结果相同。它经过一堆检查等,然后尝试“制作”并得到一个错误:

/usr/bin/ld: skipping incompatible /home/db2inst1/sqllib/lib32//libdb2.so when searching for -ldb2
/usr/bin/ld: cannot find -ldb2

它总是在那里寻找库。它们存在,因为当我执行时:

locate libdb2.so

它显示:

/opt/ibm/db2/V10.1/lib32/libdb2.so
/opt/ibm/db2/V10.1/lib32/libdb2.so.1
/opt/ibm/db2/V10.1/lib64/libdb2.so
/opt/ibm/db2/V10.1/lib64/libdb2.so.1

但它们在 /opt/ibm 中。

我正在查看此链接:pecl instal ibm_db2 fails,这似乎与标头/库配置不正确有关?

我目前正在运行 RHEL 6.6。

【问题讨论】:

  • 看起来您可能正在尝试构建 ibm_db2 的 64 位版本,而您的 DB2 实例是 32 位。你的操作系统位数是多少? /home/db2inst1/sqllib/lib 指向哪里?
  • 认为这已解决:我正在使用 php,并且在我的 php.ini 文件中包含一些(看似无关的)扩展,这些扩展会导致问题。注释掉这些扩展并安装 ibm_db2 的“开发”版本似乎已经解决了这个问题。但是,还有一些我需要安装失败的库的情况,所以我会在 php.ini 周围做更多的挖掘......

标签: linux db2 rhel pecl


【解决方案1】:

所以事实证明我实际上不需要在 php.ini 或通过 pecl 包含这些库(这样做意味着它正在寻找由于某种原因找不到的路径),因为它们已经从我的 PHP 配置命令设置。它将标头放在某个位置,通过使该位置可供 Apache 使用,应用程序运行良好,无需将它们包含在 php.ini 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    • 2021-09-03
    • 2019-04-05
    • 2010-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多