The libpam that is provided by emul-linux-x86-baselibs has the path to the security modules set as /lib/security. Obviously, this isn't going to work since the libs in /lib/security are 64 bit. Any 32-bit program that uses pam is going to fail. The fix is relatively trivial. 1) When building pam for emul-linux-x86-baselibs, add the configure flag "--enable-isadir=/lib32/security" 2) Actually include the /lib32/security libs in the package (currently the libpam does not include any of the actual security libs) 3) Work with the maintainer of sys-libs/pam to have /etc/pam.d/* modified to just list the libs not the full path. Applications linked against pam will automatically find the right security directory based on the libpam they are linked against (/lib/libpam.so or /lib32/libpam.so). This is the recommended method for handling multilib systems according to the pam documentation. 4) Other applications that install files into /etc/pam.d should also be updated to only uses the lib name and not the full path. On my machine this includes x11-base/xorg-x11, sys-apps/shadow, gnome-base/gdm, net-fs/samba, and net-print/cups. There are undoubtedly others.
are there any improvements done here? is somebody working on this anyway? thx, for your contributions.....
I will have a look.
1. and 2. should be taken care of by emul-..-baselibs-2.0. Reassigning to pam-bugs@g.o. - Would 3. cause probs anywhere else?
Some of the packages are already fixed, as I'm fixing them also for Gentoo/FreeBSD compatibility. The others are mainly in that list, tomorrow I'll take care of the remaining ones and of opening bugs for the maintainers of them.
All the bugs listed are now fixed, anyway I'm taking care of all the packages which uses /lib/security that I find.