Isso aconteceu comigo. Se está acontecendo com você, talvez isso possa economizar um pouco de tempo.
Eu estava instalando o servidor DB2 10.5 de 64 bits (não sei exatamente qual pacote de produtos - alguém me deu) em um sistema Linux SoftLayer de 64 bits e Ubuntu 12.04 que incluía uma pilha LAMP.
Resumindo, primeiro: acontece que estava faltando o libpam de 32 bits e o libaio de 64 bits e precisava fazer:
apt-get install libpam0g:i386 libaio1
A milhagem da maioria das pessoas, sem dúvida, varia. Caso apenas parte da experiência se aplique a você e lhe seja útil, aqui estão mais detalhes.
Antes da instalação, db2prereqcheck
reclamou:
DBT3514W The db2prereqcheck utility failed to find the following
32-bit library file: "/lib/libpam.so*".
Com certeza, tudo que eu tinha 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
Depois de olhar um pouco pela web, fiz:
apt-get install libpam0g:i386
após o que eu também tive:
/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
Mas o db2prereqcheck ainda fez a mesma reclamação.
Vários locais na web recomendados:
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0
mas isso me pareceu um truque grotesco, que certamente me causaria problemas diferentes, com aplicações diferentes mais adiante.
Eu tentei várias coisas com variáveis de ambiente, incluindo
LD_LIBRARY_PATH
e LD_LIBRARY_PATH_32
, mas nada ajudou com o db2prereqcheck
.
Alguém em quem confio disse para continuar com a instalação de qualquer maneira. Então eu fiz
db2_install
(era um sistema sem cabeça remoto) e, embora o db2prereqcheck que é executado como parte da instalação reclamou, a instalação fez trabalho.
Infelizmente, o db2start reclamou:
sqllib/adm/db2start: error while loading shared libraries:
libaio.so.1: wrong ELF class: ELFCLASS32
Alguém em quem confiei recomendou:
apt-get install libaio1
que instalou o libaio de 64 bits (antes disso, meu sistema incluía apenas 32 bits), e depois terminei com:
/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
Depois disso, tudo correu bem.
Novamente, a questão de fundo: estava faltando o libpam de 32 bits e o libaio de 64 bits.
BTW, minha imagem do sistema já incluía pacotes libstdc++6
e lib32stdc++6
- algo que muitas pessoas parecem estar perdendo em seus ambientes.
Espero que isto ajude.
fonte
Respostas:
No servidor Ubuntu 14.04.02 (64 bits), tive que instalar os seguintes pacotes antes de instalar o DB2 10.5:
fonte
sudo dpkg --add-architecture i386
thensudo apt-get update
e finalmentesudo apt-get install libpam0g:i386
. Nota para iniciantes que instalam o DB2: Você instala esses pacotes usandoapt-get
o gerenciador de pacotes Ubuntu. Ex:apt-get install libx32stdc++6
. Usesudo
para executar esses comandos como root. (Caso contrário, você pode não ter o suficiente permissões de acesso.)Isso fez o truque para mim, apesar do truque feio.
apt-get install libpam0g
disse que tudo estava instalado e atualizado.fonte
Pode ser necessário executar
ldconfig
após instalar a versão i386 da biblioteca pam; O DB2 procura no cache do vinculador suas dependências; portanto, se ele estiver instalado e houver uma entrada/etc/ld.so.cache.d/
, ele deverá encontrar seldconfig
foi executado.A execução de algo como
strace db2 connect to sample
fornecerá muitas informações.fonte