64 bit DB2 10.5 mancante libpam a 32 bit e libaio a 64 bit su Ubuntu 12.04


8

Questo mi è successo. Se ti sta succedendo, forse questo può farti risparmiare un po 'di tempo.

Stavo installando il server DB2 10.5 a 64 bit (non sono sicuro di quale pacchetto di prodotti - qualcuno me lo ha dato) su un sistema Ubuntu 12.04 Linux SoftLayer a 64 bit che includeva uno stack LAMP.

Prima linea di fondo: si scopre che mi mancava la libpam a 32 bit e la libaio a 64 bit e che dovevo fare:

   apt-get install libpam0g:i386 libaio1

Il chilometraggio della maggior parte delle persone varierà senza dubbio. Nel caso in cui solo una parte dell'esperienza ti riguardi e ti sia utile, ecco maggiori dettagli.

Prima dell'installazione, si è db2prereqchecklamentato:

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

Abbastanza sicuro, tutto quello che avevo era:

   /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

Dopo aver guardato un po 'in giro per il web, ho fatto:

   apt-get install libpam0g:i386

dopo di che ho avuto anche:

   /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

Ma db2prereqcheck ha ancora fatto la stessa lamentela.

Alcuni posti sul web consigliati:

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

ma mi sembrava un grottesco hack, che mi avrebbe sicuramente messo nei guai con applicazioni diverse più avanti.

Ho provato un certo numero di cose con variabili d'ambiente, incluso LD_LIBRARY_PATHe LD_LIBRARY_PATH_32, ma nulla ha aiutato con db2prereqcheck.

Qualcuno di cui mi fido ha detto di continuare comunque con l'installazione. Così ho fatto

   db2_install

(era un sistema headless remoto), e sebbene il db2prereqcheck che gira come parte dell'installazione si sia lamentato, l'installazione ha funzionato.

Purtroppo, db2start si è lamentato:

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

Qualcuno di cui mi sono fidato consigliato:

   apt-get install libaio1

che ha installato libaio a 64 bit (prima che il mio sistema includesse solo 32 bit), dopo di che ho finito con:

   /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

Dopo ciò, tutto è andato bene.

Ancora una volta, linea di fondo: mi mancavano libpam a 32 bit e libaio a 64 bit.

A proposito, la mia immagine di sistema includeva già pacchetti libstdc++6e lib32stdc++6 - qualcosa che molte persone sembrano mancare nei loro ambienti.

Spero che sia di aiuto.


2
Si prega di separare la domanda dalla risposta.
Luis Alvarado

Risposte:


7

Sul server Ubuntu 14.04.02 (64 bit) ho dovuto installare i seguenti pacchetti prima di installare DB2 10.5:

  • libx32stdc ++ 6
  • libpam0g: i386
  • libaio1

3
Nota: potrebbe essere necessario aggiungere pacchetti per l'architettura i386: sudo dpkg --add-architecture i386quindi sudo apt-get updatee infine sudo apt-get install libpam0g:i386. Nota per i principianti che ottengono l'installazione di DB2: installate questi pacchetti usando apt-getil gestore di pacchetti Ubuntu. Es: apt-get install libx32stdc++6. Utilizzare sudoper eseguire questi comandi come root. (Altrimenti potresti non avere abbastanza permessi di accesso.)
SilentSteel,

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

Questo ha fatto il trucco per me, nonostante il brutto hack.

apt-get install libpam0g detto che tutto è stato installato e aggiornato.


0

Potrebbe essere necessario eseguire ldconfigdopo l'installazione della versione i386 della libreria pam; DB2 cerca le dipendenze nella cache del linker, quindi se è installato e c'è una voce /etc/ld.so.cache.d/, dovrebbe trovarla se ldconfigè stata eseguita.

Eseguire qualcosa del genere strace db2 connect to sampleti darà molte informazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.