This happened to me. If it's happening to you, maybe this can save you a bit of time.
I was installing 64-bit DB2 10.5 server (not sure exactly what product package -- someone gave it to me) on a SoftLayer 64-bit Ubuntu 12.04 Linux system that included a LAMP stack.
Bottom line first: It turns out that I was missing 32-bit libpam and 64-bit libaio and needed to do:
apt-get install libpam0g:i386 libaio1
Most folks' mileage will undoubtedly vary. In case only part of the experience applies to you, and would be helpful for you, here is more detail.
Before the install, db2prereqcheck
complained:
DBT3514W The db2prereqcheck utility failed to find the following
32-bit library file: "/lib/libpam.so*".
Sure enough, all I had was:
/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
After looking around the web a bit, I did:
apt-get install libpam0g:i386
after which I also had:
/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
But db2prereqcheck still made the same complaint.
A number of places on the web recommended:
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0
but that seemed to me like a grotesque hack, that would be sure to land me in different trouble with different applications farther down the road.
I tried a number of things with environment variables, including
LD_LIBRARY_PATH
and LD_LIBRARY_PATH_32
, but nothing
helped with the db2prereqcheck
.
Someone I trust said to just go ahead with the install anyway. So I did
db2_install
(it was a remote headless system), and although the db2prereqcheck that runs as part of the install complained, the install did work.
Sadly, db2start complained:
sqllib/adm/db2start: error while loading shared libraries:
libaio.so.1: wrong ELF class: ELFCLASS32
Someone I trusted recommended:
apt-get install libaio1
which installed 64-bit libaio (prior to that my system only included 32-bit), after which I ended up with:
/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
After that, everything went fine.
Again, bottom line: I was missing 32-bit libpam and 64-bit libaio.
BTW, my system image already included packages libstdc++6
and lib32stdc++6
-- something which a lot of folks seem to be missing in their environments.
Hope this helps.