web-dev-qa-db-fra.com

DB2 10.5 64 bits manquant dans libpam 32 bits et libaio 64 bits sur Ubuntu 12.04

Cela m'est arrivé Si cela vous arrive, cela vous permettra peut-être de gagner un peu de temps.

J'étais en train d'installer un serveur DB2 10.5 64 bits (je ne sais pas exactement quel package de produit - quelqu'un me l'a donné) sur un système Linux SoftLayer 64 bits Ubuntu 12.04 comprenant une pile LAMP.

La ligne de fond en premier: il s’avère que je manquais de libpam 32 bits et de libaio 64 bits et que je devais faire:

   apt-get install libpam0g:i386 libaio1

Le kilométrage de la plupart des gens variera sans aucun doute. Si seulement une partie de l'expérience s'applique à vous et vous serait utile, voici plus de détails.

Avant l'installation, db2prereqcheck s'est plaint:

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

Bien sûr, tout ce que j'avais était:

   /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

Après avoir un peu cherché sur le Web, j'ai:

   apt-get install libpam0g:i386

après quoi j'ai aussi eu:

   /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

Mais db2prereqcheck a toujours fait la même plainte.

Un certain nombre d'endroits sur le Web ont recommandé:

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

mais cela me semblait être un hack grotesque, cela ne manquerait pas de me poser des problèmes différents avec des applications différentes plus tard.

J'ai essayé un certain nombre de choses avec des variables d'environnement, dont LD_LIBRARY_PATH et LD_LIBRARY_PATH_32, mais rien n'a aidé avec le db2prereqcheck.

Quelqu'un en qui j'ai confiance m'a dit de continuer l'installation. Alors j'ai fait

   db2_install

(c’était un système sans tête à distance), et bien que le db2prereqcheck qui s’exécute dans le cadre de l’installation se plaint, l’installation a fait fonctionne.

Malheureusement, db2start s'est plaint:

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

Quelqu'un en qui j'avais confiance a recommandé:

   apt-get install libaio1

qui a installé libaio 64 bits (avant cela, mon système ne comprenait que 32 bits), après quoi je me suis retrouvé avec:

   /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

Après cela, tout s'est bien passé.

Encore une fois, en bout de ligne: il me manquait libpam 32 bits et libaio 64 bits.

En passant, mon image système incluait déjà les paquets libstdc++6 et lib32stdc++6 - quelque chose qui manque à beaucoup de gens dans leurs environnements.

J'espère que cela t'aides.

8
user253706

Sur le serveur Ubuntu 14.04.02 (64 bits), je devais installer les packages suivants avant d'installer DB2 10.5:

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

Il se peut que vous deviez exécuter ldconfig après avoir installé la version i386 de la bibliothèque pam; DB2 recherche dans le cache de l'éditeur de liens ses dépendances. Par conséquent, s'il est installé et qu'il contient une entrée dans /etc/ld.so.cache.d/, il devrait le trouver si ldconfig a été exécuté.

Exécuter quelque chose comme strace db2 connect to sample vous donnera beaucoup d’informations.

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

Cela a fait le tour pour moi, malgré le hack laid.

apt-get install libpam0g a dit que tout était installé et à jour.

0
kevin