Esto me paso a mi. Si te está sucediendo, tal vez esto pueda ahorrarte un poco de tiempo.
Estaba instalando un servidor DB2 10.5 de 64 bits (no estoy seguro de qué paquete de producto, alguien me lo dio) en un sistema Linux Ubuntu 12.04 de SoftLayer de 64 bits que incluía una pila LAMP.
En pocas palabras: resulta que me faltaba libpam de 32 bits y libaio de 64 bits y que necesitaba hacer:
apt-get install libpam0g:i386 libaio1
El kilometraje de la mayoría de las personas, sin duda, variará. En caso de que solo una parte de la experiencia se aplique a usted y le sea útil, aquí hay más detalles.
Antes de la instalación, se db2prereqcheck
quejó:
DBT3514W The db2prereqcheck utility failed to find the following
32-bit library file: "/lib/libpam.so*".
Efectivamente, todo lo que tenía 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
Después de mirar un poco por la web, hice:
apt-get install libpam0g:i386
después de lo cual también tuve:
/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
Pero db2prereqcheck todavía hizo la misma queja.
Se recomiendan varios lugares en la web:
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0
pero eso me pareció un truco grotesco, seguro que me llevaría a diferentes problemas con diferentes aplicaciones más adelante.
Intenté varias cosas con variables de entorno, incluyendo
LD_LIBRARY_PATH
y LD_LIBRARY_PATH_32
, pero nada ayudó con el db2prereqcheck
.
Alguien en quien confío dijo que de todos modos continuaría con la instalación. Así que lo hice
db2_install
(era un sistema sin cabeza remota), y aunque el db2prereqcheck que se ejecuta como parte de la instalación se quejaron, la instalación hizo el trabajo.
Lamentablemente, db2start se quejó:
sqllib/adm/db2start: error while loading shared libraries:
libaio.so.1: wrong ELF class: ELFCLASS32
Alguien en quien confié recomendó:
apt-get install libaio1
que instaló libaio de 64 bits (antes de eso mi sistema solo incluía 32 bits), después de lo cual terminé 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
Después de eso, todo salió bien.
Nuevamente, en resumen: me faltaban libpam de 32 bits y libaio de 64 bits.
Por cierto, mi imagen del sistema ya incluía paquetes libstdc++6
y lib32stdc++6
, algo que mucha gente parece faltar en sus entornos.
Espero que esto ayude.
fuente
Respuestas:
En el servidor Ubuntu 14.04.02 (64 bit) tuve que instalar los siguientes paquetes antes de instalar DB2 10.5:
fuente
sudo dpkg --add-architecture i386
luegosudo apt-get update
y finalmentesudo apt-get install libpam0g:i386
. Nota para principiantes que instalan DB2: Instala estos paquetes usandoapt-get
el administrador de paquetes de Ubuntu. Ej:apt-get install libx32stdc++6
. Usesudo
para ejecutar estos comandos como root. (De lo contrario, es posible que no tenga suficientes permisos de acceso)Esto hizo el truco para mí, a pesar del truco feo.
apt-get install libpam0g
dijo que todo estaba instalado y actualizado.fuente
Es posible que deba ejecutar
ldconfig
después de instalar la versión i386 de la biblioteca pam; DB2 busca en la memoria caché del vinculador sus dependencias, por lo que si está instalado y hay una entrada/etc/ld.so.cache.d/
, debería encontrarlo sildconfig
se ha ejecutado.Ejecutar algo así
strace db2 connect to sample
le dará mucha información.fuente