Das ist mir passiert. Wenn es Ihnen passiert, können Sie vielleicht ein bisschen Zeit sparen.
Ich habe einen 64-Bit-DB2 10.5-Server (nicht sicher, welches Produktpaket - jemand hat es mir gegeben) auf einem 64-Bit-Ubuntu 12.04-Linux-System von SoftLayer installiert, das einen LAMP-Stack enthielt.
Fazit zuerst: Es stellt sich heraus, dass mir 32-Bit-Libpam und 64-Bit-Libaio fehlten und ich Folgendes tun musste:
apt-get install libpam0g:i386 libaio1
Die Laufleistung der meisten Leute wird zweifellos variieren. Falls nur ein Teil der Erfahrung auf Sie zutrifft und für Sie hilfreich wäre, finden Sie hier weitere Einzelheiten.
Vor der Installation db2prereqcheck
beschwert:
DBT3514W The db2prereqcheck utility failed to find the following
32-bit library file: "/lib/libpam.so*".
Sicher genug, alles was ich hatte war:
/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
Nachdem ich mich ein bisschen im Internet umgesehen hatte, tat ich Folgendes:
apt-get install libpam0g:i386
danach hatte ich auch:
/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
Aber db2prereqcheck hat immer noch die gleiche Beschwerde eingereicht.
Eine Reihe von Stellen im Internet wird empfohlen:
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0
Aber das schien mir ein grotesker Hack zu sein, der mich sicher in andere Schwierigkeiten mit verschiedenen Anwendungen bringen würde.
Ich habe eine Reihe von Dingen mit Umgebungsvariablen ausprobiert, einschließlich
LD_LIBRARY_PATH
und LD_LIBRARY_PATH_32
, aber nichts hat dabei geholfen db2prereqcheck
.
Jemand, dem ich vertraue, sagte, er solle trotzdem einfach mit der Installation fortfahren. So tat ich
db2_install
(es war ein Remote - System ohne Monitor), und obwohl die db2prereqcheck dass Läufe im Rahmen des beschwerte installieren, installieren Sie das tat Arbeit.
Leider hat sich db2start beschwert:
sqllib/adm/db2start: error while loading shared libraries:
libaio.so.1: wrong ELF class: ELFCLASS32
Jemand, dem ich vertraute, empfahl:
apt-get install libaio1
die 64-Bit-Libaio installiert hat (vorher enthielt mein System nur 32-Bit), woraufhin ich endete mit:
/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
Danach ging alles gut.
Nochmals, Fazit: Mir fehlten 32-Bit-Libpam und 64-Bit-Libaio.
Übrigens enthielt mein System-Image bereits Pakete libstdc++6
und lib32stdc++6
- etwas, das vielen Leuten in ihrer Umgebung zu fehlen scheint.
Hoffe das hilft.
quelle
Antworten:
Auf Ubuntu Server 14.04.02 (64 Bit) musste ich vor der Installation von DB2 10.5 die folgenden Pakete installieren:
quelle
sudo dpkg --add-architecture i386
dannsudo apt-get update
und schließlichsudo apt-get install libpam0g:i386
. Hinweis für Anfänger, die DB2 installieren: Sie installieren diese Pakete mitapt-get
dem Ubuntu-Paketmanager. Bsp. :apt-get install libx32stdc++6
. Verwenden Siesudo
diese Option, um diese Befehle als root auszuführen. (Andernfalls haben Sie möglicherweise nicht genügend Zugriffsberechtigungen.)Dies hat den Trick für mich getan, trotz des hässlichen Hacks.
apt-get install libpam0g
sagte, alles sei installiert und auf dem neuesten Stand.quelle
Möglicherweise müssen Sie
ldconfig
nach der Installation der i386-Version der Pam-Bibliothek ausgeführt werden. DB2 durchsucht den Linker-Cache nach seinen Abhängigkeiten. Wenn er installiert ist und ein Eintrag vorhanden ist/etc/ld.so.cache.d/
, sollte er ihn finden, wennldconfig
er ausgeführt wurde.Wenn Sie so etwas
strace db2 connect to sample
ausführen, erhalten Sie viele Informationen.quelle