de 64 bits do DB2 10.5 em falta de libpam de 32 bits e de 64 bits no Ubuntu 12.04

8

Isso aconteceu comigo. Se isso está acontecendo com você, talvez isso possa te salvar um pouco de tempo.

Eu estava instalando o servidor DB2 10.5 de 64 bits (não sei exatamente qual pacote de produto - alguém deu para mim) em um sistema Linux Ubuntu 12.04 SoftLayer de 64 bits que incluiu uma pilha LAMP.

Bottom line first: Acontece que eu estava faltando libpam de 32 bits e 64 bits libaio e precisava fazer:

   apt-get install libpam0g:i386 libaio1

A quilometragem da maioria das pessoas, sem dúvida, varia. No caso de apenas parte da experiência se aplica a você, e seria útil para você, aqui está mais detalhes.

Antes da instalação, db2prereqcheck reclamou:

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

Claro, 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 pesquisar um pouco na Web, fiz:

   apt-get install libpam0g:i386

após o qual 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.

Um número de lugares na web recomendado:

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

mas isso me pareceu um hack grotesco, isso seria certo para me aterrar em diferentes problemas com diferentes aplicações mais adiante na estrada.

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 eu confio disse que basta prosseguir com a instalação. Então eu fiz

   db2_install

(era um sistema remoto sem cabeça), e embora o db2prereqcheck que é executado como parte da instalação reclamada, a instalação fez funcionar.

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 só incluía 32 bits), após o que acabei 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.

Mais uma vez, a linha de fundo: Eu estava faltando a libpam de 32 bits e a libaio de 64 bits.

BTW, minha imagem do sistema já inclui pacotes libstdc++6 e lib32stdc++6 - algo que muita gente parece estar perdendo em seus ambientes.

Espero que isso ajude.

    
por user253706 01.03.2014 / 20:22

3 respostas

7

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

  • libx32stdc ++ 6
  • libpam0g: i386
  • libaio1
por tangens 29.04.2015 / 17:17
0
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0

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

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

    
por kevin 20.06.2014 / 17:59
0

Você pode ter que executar ldconfig depois de instalar a versão i386 da biblioteca pam; O DB2 pesquisa o cache do vinculador para suas dependências, portanto, se ele estiver instalado e houver uma entrada em /etc/ld.so.cache.d/ , ele deverá encontrá-lo se ldconfig tiver sido executado.

Executar algo como strace db2 connect to sample fornecerá muitas informações.

    
por mikewaters 16.09.2014 / 19:30