web-dev-qa-db-ja.com

Ubuntu 12.04で64ビットDB2 10.5に32ビットlibpamと64ビットlibaioがありません

これは私に起こりました。それがあなたに起こっているなら、多分これはあなたに少し時間を節約することができます。

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で問題が発生しましたが、インストールdidは機能します。

悲しいことに、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++6lib32stdc++6が含まれていました。これは多くの人が自分の環境で見逃しているようです。

お役に立てれば。

8
user253706

Ubuntuサーバー14.04.02(64ビット)では、DB2 10.5をインストールする前に次のパッケージをインストールする必要がありました。

  • libx32stdc ++ 6
  • libpam0g:i386
  • libaio1
7
tangens

I386バージョンのpamライブラリをインストールした後、ldconfigを実行する必要があります。 DB2は、その依存関係についてリンカーキャッシュを検索します。したがって、インストールされていて/etc/ld.so.cache.d/にエントリがある場合、ldconfigが実行されている場合はそれを見つける必要があります。

strace db2 connect to sampleのようなものを実行すると、多くの情報が得られます。

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

Thisいハックにもかかわらず、これは私のためにトリックをしました。

apt-get install libpam0gは、すべてがインストールされており、最新であると述べました。

0
kevin