64-bitowy DB2 10.5 brakuje 32-bitowego libpam i 64-bitowego libaio na Ubuntu 12.04

8

To mi się przydarzyło. Jeśli tak się dzieje, być może zaoszczędzi ci to trochę czasu.

Instalowałem 64-bitowy serwer DB2 10.5 (nie jestem pewien, jaki dokładnie pakiet produktu - ktoś mi go dał) na 64-bitowym systemie Ubuntu 12.04 SoftLayer zawierającym stos LAMP.

Podsumowując: Okazuje się, że brakowało mi 32-bitowego libpam i 64-bitowego libaio i musiałem zrobić:

   apt-get install libpam0g:i386 libaio1

Przebieg większości ludzi będzie bez wątpienia różny. Jeśli tylko część doświadczenia dotyczy Ciebie i byłaby dla Ciebie pomocna, oto więcej szczegółów.

Przed instalacją db2prereqcheckskarżył się:

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

Rzeczywiście, wszystko, co miałem, to:

   /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

Po rozejrzeniu się po Internecie zrobiłem:

   apt-get install libpam0g:i386

po czym miałem również:

   /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

Ale db2prereqcheck nadal zgłaszał tę samą skargę.

Zalecane jest kilka miejsc w sieci:

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

ale wydawało mi się to groteskowym hackiem, który z pewnością sprawiłby mi różne kłopoty z różnymi aplikacjami w dalszej części drogi.

Próbowałem wielu rzeczy ze zmiennymi środowiskowymi, w tym LD_LIBRARY_PATHi LD_LIBRARY_PATH_32, ale nic nie pomogło z db2prereqcheck.

Ktoś, komu ufam, powiedział, że mimo wszystko kontynuuje instalację. Więc zrobiłem

   db2_install

(był to system zdalnego bez głowy), i chociaż db2prereqcheck który działa jako część instalację narzekali, instalacja nie pracę.

Niestety db2start narzekał:

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

Osoba, której zaufałem, poleciła:

   apt-get install libaio1

który zainstalował 64-bitowe libaio (wcześniej mój system zawierał tylko 32-bit), po czym skończyłem z:

   /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

Potem wszystko poszło dobrze.

Znowu najważniejsze: brakowało mi 32-bitowego libpam i 64-bitowego libaio.

BTW, mój obraz systemu już zawierał pakiety libstdc++6i lib32stdc++6 - coś, czego wielu ludziom wydaje się brakować w swoich środowiskach.

Mam nadzieję że to pomoże.

użytkownik253706
źródło
2
Proszę oddzielić pytanie od odpowiedzi.
Luis Alvarado

Odpowiedzi:

7

Na serwerze Ubuntu 14.04.02 (64-bitowym) musiałem zainstalować następujące pakiety przed zainstalowaniem programu DB2 10.5:

  • libx32stdc ++ 6
  • libpam0g: i386
  • libaio1
tangens
źródło
3
Uwaga: Może być konieczne dodanie pakietów dla architektury i386: sudo dpkg --add-architecture i386wtedy sudo apt-get updatei na końcu sudo apt-get install libpam0g:i386. Uwaga dla początkujących instalujących DB2: Te pakiety instaluje się za pomocą apt-getmenedżera pakietów Ubuntu. Np apt-get install libx32stdc++6. : Służy sudodo uruchamiania tych poleceń jako root. (W przeciwnym razie możesz nie mieć wystarczających uprawnień dostępu.)
SilentSteel,
0
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0

To załatwiło sprawę, pomimo brzydkiego włamania.

apt-get install libpam0g powiedział, że wszystko zostało zainstalowane i aktualne.

Kevin
źródło
0

Być może będziesz musiał uruchomić ldconfigpo zainstalowaniu wersji pam w bibliotece pam; DB2 przeszukuje pamięć podręczną konsolidatora pod kątem swoich zależności, więc jeśli jest zainstalowany i zawiera wpis /etc/ld.so.cache.d/, powinien go znaleźć, jeśli ldconfigzostał uruchomiony.

Uruchomienie czegoś podobnego strace db2 connect to sampleda ci wiele informacji.

mikewaters
źródło