In 64-Bit-DB2 10.5 fehlen 32-Bit-Libpam und 64-Bit-Libaio unter Ubuntu 12.04

8

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 db2prereqcheckbeschwert:

   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_PATHund 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++6und lib32stdc++6 - etwas, das vielen Leuten in ihrer Umgebung zu fehlen scheint.

Hoffe das hilft.

user253706
quelle
2
Bitte trennen Sie die Frage von der Antwort.
Luis Alvarado

Antworten:

7

Auf Ubuntu Server 14.04.02 (64 Bit) musste ich vor der Installation von DB2 10.5 die folgenden Pakete installieren:

  • libx32stdc ++ 6
  • libpam0g: i386
  • libaio1
Tangens
quelle
3
Hinweis: Möglicherweise müssen Sie Pakete für die i386-Architektur hinzufügen: sudo dpkg --add-architecture i386dann sudo apt-get updateund schließlich sudo apt-get install libpam0g:i386. Hinweis für Anfänger, die DB2 installieren: Sie installieren diese Pakete mit apt-getdem Ubuntu-Paketmanager. Bsp. : apt-get install libx32stdc++6. Verwenden Sie sudodiese Option, um diese Befehle als root auszuführen. (Andernfalls haben Sie möglicherweise nicht genügend Zugriffsberechtigungen.)
SilentSteel
0
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0

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.

Kevin
quelle
0

Möglicherweise müssen Sie ldconfignach 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, wenn ldconfiger ausgeführt wurde.

Wenn Sie so etwas strace db2 connect to sampleausführen, erhalten Sie viele Informationen.

Mikewaters
quelle