Cela m'est arrivé. Si cela vous arrive, cela peut peut-être vous faire gagner un peu de temps.
J'installais 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 Ubuntu 12.04 SoftLayer 64 bits qui comprenait une pile LAMP.
Conclusion: il s'avère que je manquais libpam 32 bits et 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. Dans le cas où seule une partie de l'expérience s'applique à vous et serait utile pour vous, voici plus de détails.
Avant l'installation, se db2prereqcheck
plaignait:
DBT3514W The db2prereqcheck utility failed to find the following
32-bit library file: "/lib/libpam.so*".
Effectivement, 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 parcouru un peu le Web, j'ai fait:
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, qui me ferait sûrement des ennuis différents avec des applications différentes plus loin.
J'ai essayé un certain nombre de choses avec des variables d'environnement, y compris
LD_LIBRARY_PATH
et LD_LIBRARY_PATH_32
, mais rien n'a aidé avec le db2prereqcheck
.
Quelqu'un en qui j'ai confiance a dit de procéder à l'installation de toute façon. J'ai donc fait
db2_install
(il s'agissait d'un système sans tête distant), et bien que le db2prereqcheck qui s'exécute dans le cadre de l'installation se soit plaint, l'installation a fonctionné.
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'ai 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, l'essentiel: il me manquait libpam 32 bits et libaio 64 bits.
BTW, mon image système comprenait déjà des packages libstdc++6
et lib32stdc++6
- quelque chose que beaucoup de gens semblent manquer dans leur environnement.
J'espère que cela t'aides.
la source
Réponses:
Sur le serveur Ubuntu 14.04.02 (64 bits), j'ai dû installer les packages suivants avant d'installer DB2 10.5:
la source
sudo dpkg --add-architecture i386
puissudo apt-get update
et enfinsudo apt-get install libpam0g:i386
. Remarque pour les débutants qui installent DB2: vous installez ces packages à l'aideapt-get
du gestionnaire de packages Ubuntu. Ex:apt-get install libx32stdc++6
. Utilisezsudo
pour exécuter ces commandes en tant que root. (Sinon, vous pourriez ne pas avoir suffisamment d'autorisations d'accès.)Cela a fait l'affaire pour moi, malgré le vilain hack.
apt-get install libpam0g
dit que tout était installé et à jour.la source
Vous devrez peut-être 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, donc s'il est installé et qu'il y a une entrée/etc/ld.so.cache.d/
, il devrait le trouver s'illdconfig
a été exécuté.Exécuter quelque chose comme
strace db2 connect to sample
vous donnera beaucoup d'informations.la source