Ubuntu 12.04上的64位DB2 10.5缺少32位libpam和64位libaio


8

这发生在我身上。如果发生这种情况,也许可以为您节省一些时间。

我在包含LAMP堆栈的SoftLayer 64位Ubuntu 12.04 Linux系统上安装了64位DB2 10.5服务器(不确定到底是哪个产品软件包-有人给了我)。

最重要的是:事实证明我缺少32位libpam和64位libaio,需要这样做:

   apt-get install libpam0g:i386 libaio1

多数人的里程无疑会有所不同。如果只有部分经验适用于您,并且会对您有所帮助,请参阅此处的详细信息。

安装之前,db2prereqcheck抱怨:

   DBT3514W  The db2prereqcheck utility failed to find the following
   32-bit library file: "/lib/libpam.so*".

果然,我所拥有的只是:

   /lib/x86_64-linux-gnu/libpam.so.0.83.0
   /lib/x86_64-linux-gnu/libpamc.so.0
   /lib/x86_64-linux-gnu/libpam.so.0
   /lib/x86_64-linux-gnu/libpam_misc.so.0.82.0
   /lib/x86_64-linux-gnu/libpamc.so.0.82.1
   /lib/x86_64-linux-gnu/libpam_misc.so.0

在网上浏览了一下之后,我做了:

   apt-get install libpam0g:i386

之后,我还拥有:

   /lib/i386-linux-gnu/libpam.so.0.83.0
   /lib/i386-linux-gnu/libpamc.so.0
   /lib/i386-linux-gnu/libpam.so.0
   /lib/i386-linux-gnu/libpam_misc.so.0.82.0
   /lib/i386-linux-gnu/libpamc.so.0.82.1
   /lib/i386-linux-gnu/libpam_misc.so.0

但是db2prereqcheck仍然提出相同的投诉。

在网上推荐了许多地方:

   ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0

但是在我看来,这就像是一个怪诞的骇客,这一定会使我在更远的地方使用不同的应用程序时遇到麻烦。

我尝试了许多使用环境变量的方法,包括 LD_LIBRARY_PATHLD_LIBRARY_PATH_32,但是使用时没有任何帮助db2prereqcheck

我相信有人说无论如何都要继续进行安装。所以我做了

   db2_install

(这是一个远程的无头系统),尽管抱怨作为安装的一部分运行的db2prereqcheck,但安装确实可以正常工作。

可悲的是,db2start抱怨:

   sqllib/adm/db2start: error while loading shared libraries:
   libaio.so.1: wrong ELF class: ELFCLASS32

我信任的人推荐:

   apt-get install libaio1

它安装了64位libaio(在我的系统仅包含32位之前),之后我得到了:

   /lib/i386-linux-gnu/libaio.so.1.0.1
   /lib/i386-linux-gnu/libaio.so.1
   /lib/x86_64-linux-gnu/libaio.so.1.0.1
   /lib/x86_64-linux-gnu/libaio.so.1

之后,一切正常。

再次强调:我缺少32位libpam和64位libaio。

顺便说一句,我的系统映像已经包含了软件包,libstdc++6而且lib32stdc++6 -许多人似乎在他们的环境中缺少这些东西。

希望这可以帮助。


2
请把问题和答案分开。
路易斯·阿尔瓦拉多

Answers:


7

在Ubuntu服务器14.04.02(64位)上,我必须在安装DB2 10.5之前安装以下软件包:

  • libx32stdc ++ 6
  • libpam0g:i386
  • libaio1

3
注意:您可能需要添加i386体系结构的软件包:sudo dpkg --add-architecture i386然后sudo apt-get update,最后sudo apt-get install libpam0g:i386。对于安装DB2的初学者的注意事项:您可以使用apt-getUbuntu软件包管理器来安装这些软件包。例如:apt-get install libx32stdc++6。用于sudo以超级用户身份运行这些命令。(否则,您可能没有足够的访问权限。)
SilentSteel

0
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0

尽管有难看的骇客,但这对我还是有用的。

apt-get install libpam0g 说一切都已安装并且是最新的。


0

您可能需要ldconfig在安装i386版本的pam库之后运行;DB2在链接器高速缓存中搜索它的依赖项,因此,如果已安装它并且在中有一个条目/etc/ld.so.cache.d/,则它应该已找到它(如果ldconfig已运行)。

运行类似的东西strace db2 connect to sample会给您很多信息。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.