winnb000488 / # ldd `which ls` linux-gate.so.1 => (0xffffe000) librt.so.1 => /lib/librt.so.1 (0xb7fc3000) libacl.so.1 => /lib/libacl.so.1 (0xb7fb8000) libc.so.6 => /lib/libc.so.6 (0xb7e82000) libpthread.so.0 => /lib/libpthread.so.0 (0xb7e6a000) /lib/ld-linux.so.2 (0xb7fd1000) libattr.so.1 => /lib/libattr.so.1 (0xb7e65000) libnfsidmap.so.0 => /usr/lib/libnfsidmap.so.0 (0xb7e5a000) libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0xb7e25000) liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0xb7e17000) libresolv.so.2 => /lib/libresolv.so.2 (0xb7e05000) libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb7dc2000) libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7c77000) libdl.so.2 => /lib/libdl.so.2 (0xb7c72000) As you can see there, libldap and liblber have been linked into ls. But there's no LDAP use flag, which allows the user to disable that behaviour.
Post the output of: scanelf -qF "%F: %n" `which ls`
Not baselayout, plus as noted above, ldd is useless.
I recompiled the acl package with USE=-ldap and then recompiled coreutils. Now ldd doesn't show libldap anymore and I was able to emerge -C openldap and still run ls.