DB2 10.5 de 64 bits ausente libpam de 32 bits e libaio de 64 bits no Ubuntu 12.04

8

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, db2prereqcheckreclamou:

   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_PATHe 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++6e lib32stdc++6 - algo que muitas pessoas parecem estar perdendo em seus ambientes.

Espero que isto ajude.

user253706
fonte
2
Separe a pergunta da resposta.
Luis Alvarado

Respostas:

7

No servidor Ubuntu 14.04.02 (64 bits), tive que instalar os seguintes pacotes antes de instalar o DB2 10.5:

  • libx32stdc ++ 6
  • libpam0g: i386
  • libaio1
tangens
fonte
3
Nota: Pode ser necessário adicionar pacotes para a arquitetura i386: sudo dpkg --add-architecture i386then sudo apt-get updatee finalmente sudo apt-get install libpam0g:i386. Nota para iniciantes que instalam o DB2: Você instala esses pacotes usando apt-geto gerenciador de pacotes Ubuntu. Ex: apt-get install libx32stdc++6. Use sudopara executar esses comandos como root. (Caso contrário, você pode não ter o suficiente permissões de acesso.)
SilentSteel
0
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0

Isso fez o truque para mim, apesar do truque feio.

apt-get install libpam0g disse que tudo estava instalado e atualizado.

Kevin
fonte
0

Pode ser necessário executar ldconfigapó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 se ldconfigfoi executado.

A execução de algo como strace db2 connect to samplefornecerá muitas informações.

mikewaters
fonte