Description of problem:
64 bit rawhide is currently broken wrt 32bit apps, when non-default NSS modules
are used. No 32bit NSS lib is provided for nss_ldap, nss_db, nss_winbindd, and
probably many others.
The same is for PAM libs.
Version-Release number of selected component (if applicable):
I copied a 32 bit version of ls on a system configured to use nss_ldap,
here are the results:
[root@rapier tmp]# ls -ald /tmp/x86_64
drwxr-xr-x 2 nalin 2516 4096 2007-03-21 16:21 /tmp/x86_64
[root@rapier tmp]# /tmp/ls32 -ald /tmp/x86_64/
drwxr-xr-x 2 2510 2516 4096 Mar 21 16:21 /tmp/x86_64/
Excerpt of /tmp/ls32 strace:
open("/lib/i686/libnss_ldap.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/lib/libnss_ldap.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/lib/sse2/libnss_ldap.so.2", O_RDONLY) = -1 ENOENT (No such file or
open("/usr/lib/libnss_ldap.so.2", O_RDONLY) = -1 ENOENT (No such file or directory)
As you can see the user name is not resolved and that's because no 32bit lib is
installed for nss_ldap. The user is provided to the system via nss_ldap of course.
Steps to Reproduce:
1. configure a 64bit system to use nss_ldap
2. use a 32bit app that needs to enumerate or resolve users
Looking at the current rawhide x86_64 tree, nss_ldap, nss_db, and samba-common
are all provided as multlib packages.