これは私に起こりました。それがあなたに起こっているなら、多分これはあなたに少し時間を節約することができます。
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_PATH
やLD_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++6
とlib32stdc++6
が含まれていました。これは多くの人が自分の環境で見逃しているようです。
お役に立てれば。
Ubuntuサーバー14.04.02(64ビット)では、DB2 10.5をインストールする前に次のパッケージをインストールする必要がありました。
I386バージョンのpamライブラリをインストールした後、ldconfig
を実行する必要があります。 DB2は、その依存関係についてリンカーキャッシュを検索します。したがって、インストールされていて/etc/ld.so.cache.d/
にエントリがある場合、ldconfig
が実行されている場合はそれを見つける必要があります。
strace db2 connect to sample
のようなものを実行すると、多くの情報が得られます。
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0
Thisいハックにもかかわらず、これは私のためにトリックをしました。
apt-get install libpam0g
は、すべてがインストールされており、最新であると述べました。