64-bit DB2 10.5 hilang libpam 32-bit dan libaio 64-bit di Ubuntu 12.04

8

Ini terjadi pada saya. Jika itu terjadi pada Anda, mungkin ini dapat menghemat sedikit waktu.

Saya sedang menginstal 64-bit DB2 10.5 server (tidak yakin persis paket produk apa - seseorang memberikannya kepada saya) pada sistem Linux 12L Ubuntu 12.04 SoftLayer yang termasuk tumpukan LAMP.

Intinya dulu: Ternyata saya kehilangan 32-bit libpam dan 64-bit libaio dan perlu dilakukan:

   apt-get install libpam0g:i386 libaio1

Jarak tempuh kebanyakan orang pasti akan bervariasi. Jika hanya sebagian pengalaman yang berlaku untuk Anda, dan akan sangat membantu bagi Anda, berikut ini lebih detail.

Sebelum menginstal, db2prereqcheckmengeluh:

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

Benar saja, yang saya miliki adalah:

   /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

Setelah melihat-lihat web sedikit, saya lakukan:

   apt-get install libpam0g:i386

setelah itu saya juga punya:

   /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

Tapi db2prereqcheck masih membuat keluhan yang sama.

Sejumlah tempat di web direkomendasikan:

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

tetapi bagi saya itu seperti retasan yang aneh, yang pasti akan membuat saya berada dalam masalah yang berbeda dengan aplikasi yang berbeda lebih jauh di jalan.

Saya mencoba beberapa hal dengan variabel lingkungan, termasuk LD_LIBRARY_PATHdan LD_LIBRARY_PATH_32, tetapi tidak ada yang membantu db2prereqcheck.

Seseorang yang saya percaya berkata untuk tetap melanjutkan instalasi saja. Jadi saya lakukan

   db2_install

(itu adalah sistem tanpa kepala remote), dan meskipun db2prereqcheck yang berjalan sebagai bagian dari instalasi mengeluh, instalasi melakukan pekerjaan.

Sayangnya, db2start mengeluh:

   sqllib/adm/db2start: error while loading shared libraries:
   libaio.so.1: wrong ELF class: ELFCLASS32

Seseorang yang saya percayai merekomendasikan:

   apt-get install libaio1

yang menginstal libaio 64-bit (sebelumnya sistem saya hanya menyertakan 32-bit), setelah itu saya berakhir dengan:

   /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

Setelah itu, semuanya baik-baik saja.

Sekali lagi, intinya: Saya kehilangan 32-bit libpam dan 64-bit libaio.

BTW, gambar sistem saya sudah termasuk paket libstdc++6dan lib32stdc++6 - sesuatu yang banyak orang tampaknya hilang di lingkungan mereka.

Semoga ini membantu.

pengguna253706
sumber
2
Pisahkan pertanyaan dari jawaban.
Luis Alvarado

Jawaban:

7

Di server Ubuntu 14.04.02 (64 bit) saya harus menginstal paket berikut sebelum menginstal DB2 10.5:

  • libx32stdc ++ 6
  • libpam0g: i386
  • libaio1
tangens
sumber
3
Catatan: Anda mungkin perlu menambahkan paket untuk arsitektur i386: sudo dpkg --add-architecture i386dulu sudo apt-get updatedan akhirnya sudo apt-get install libpam0g:i386. Catatan untuk pemula yang menginstal DB2: Anda menginstal paket ini menggunakan apt-get, manajer paket Ubuntu. Ex: apt-get install libx32stdc++6. Gunakan sudountuk menjalankan perintah ini sebagai root. (Kalau tidak, Anda mungkin tidak memiliki izin akses yang cukup.)
SilentSteel
0
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0

Ini melakukan trik untuk saya, meskipun hack jelek.

apt-get install libpam0g mengatakan semuanya telah diinstal dan terkini.

kevin
sumber
0

Anda mungkin harus menjalankan ldconfigsetelah menginstal pam pam versi i386; DB2 mencari cache linker untuk dependensinya, jadi jika itu diinstal dan ada entri di /etc/ld.so.cache.d/dalamnya, ia harus menemukannya jika ldconfigtelah dijalankan.

Menjalankan sesuatu seperti strace db2 connect to sampleakan memberi Anda banyak informasi.

mikewaters
sumber