DB2 64 bit thiếu libpam 32 bit và libaio 64 bit trên Ubuntu 12.04


8

Điều này đã xảy ra với tôi. Nếu điều đó xảy ra với bạn, có lẽ điều này có thể giúp bạn tiết kiệm một chút thời gian.

Tôi đã cài đặt máy chủ DB2 10.5 64 bit (không chắc chính xác gói sản phẩm nào - ai đó đã cung cấp cho tôi) trên hệ thống Linux 64.04 Ubuntu 12.04 SoftLayer có bao gồm LAMP stack.

Dòng dưới cùng: Hóa ra tôi đã thiếu libpam 32 bit và libaio 64 bit và cần phải làm:

   apt-get install libpam0g:i386 libaio1

Hầu hết số dặm của mọi người chắc chắn sẽ thay đổi. Trong trường hợp chỉ một phần kinh nghiệm áp dụng cho bạn, và sẽ hữu ích cho bạn, đây là chi tiết hơn.

Trước khi cài đặt, db2prereqcheckphàn nàn:

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

Chắc chắn, tất cả những gì tôi có là:

   /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

Sau khi tìm kiếm trên web một chút, tôi đã làm:

   apt-get install libpam0g:i386

sau đó tôi cũng có:

   /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

Nhưng db2prereqcheck vẫn đưa ra khiếu nại tương tự.

Một số địa điểm trên web được đề xuất:

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

nhưng dường như đó là một vụ hack kỳ cục, điều đó chắc chắn sẽ khiến tôi gặp rắc rối khác nhau với các ứng dụng khác nhau ở xa hơn.

Tôi đã thử một số thứ với các biến môi trường, bao gồm LD_LIBRARY_PATHLD_LIBRARY_PATH_32, nhưng không có gì giúp được db2prereqcheck.

Một người mà tôi tin tưởng chỉ cần tiếp tục cài đặt. Tôi cũng vậy

   db2_install

(đó là một hệ thống không đầu từ xa) và mặc dù db2prereqcheck chạy như một phần của cài đặt đã phàn nàn, cài đặt đã hoạt động.

Đáng buồn thay, db2start phàn nàn:

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

Một người mà tôi tin tưởng đề nghị:

   apt-get install libaio1

đã cài đặt libaio 64 bit (trước đó hệ thống của tôi chỉ bao gồm 32 bit), sau đó tôi đã kết thúc với:

   /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

Sau đó, mọi thứ đều ổn.

Một lần nữa, điểm mấu chốt: Tôi đã thiếu libpam 32 bit và libaio 64 bit.

BTW, hình ảnh hệ thống của tôi đã bao gồm các gói libstdc++6lib32stdc++6 - thứ mà nhiều người dường như đang thiếu trong môi trường của họ.

Hi vọng điêu nay co ich.


2
Vui lòng tách câu hỏi khỏi câu trả lời.
Luis Alvarado

Câu trả lời:


7

Trên máy chủ Ubuntu 14.04.02 (64 bit) tôi đã phải cài đặt các gói sau trước khi cài đặt DB2 10.5:

  • libx32stdc ++ 6
  • libpam0g: i386
  • libaio1

3
Lưu ý: Bạn có thể cần thêm các gói cho kiến ​​trúc i386: sudo dpkg --add-architecture i386sau đó sudo apt-get updatevà cuối cùng sudo apt-get install libpam0g:i386. Lưu ý cho người mới bắt đầu cài đặt DB2: Bạn cài đặt các gói này bằng cách sử dụng apt-gettrình quản lý gói Ubuntu. Vd : apt-get install libx32stdc++6. Sử dụng sudođể chạy các lệnh này như root. (Nếu không, bạn có thể không có đủ quyền truy cập.)
SilentSteel

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

Điều này đã lừa tôi, mặc dù hack xấu xí.

apt-get install libpam0g cho biết mọi thứ đã được cài đặt và cập nhật.


0

Bạn có thể phải chạy ldconfigsau khi cài đặt phiên bản i386 của thư viện pam; DB2 tìm kiếm bộ đệm liên kết cho các phụ thuộc của nó, vì vậy nếu nó được cài đặt và có một mục nhập /etc/ld.so.cache.d/, nó sẽ tìm thấy nó nếu ldconfigđã được chạy.

Chạy một cái gì đó như strace db2 connect to samplesẽ cung cấp cho bạn rất nhiều thông tin.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.