/sbin/rc indirecly links with /usr/lib/libidn.so.11.5.29 through sys-libs/glibc-2.8_p20080602 so your system won't boot # ldd /sbin/rc linux-gate.so.1 => (0xb801a000) libidn.so.11 => /usr/lib/libidn.so.11 (0xb7fb6000) libutil.so.1 => /lib/libutil.so.1 (0xb7fb2000) librc.so.1 => /lib/librc.so.1 (0xb7fa7000) libeinfo.so.1 => /lib/libeinfo.so.1 (0xb7fa2000) libncurses.so.5 => /lib/libncurses.so.5 (0xb7f5d000) libdl.so.2 => /lib/libdl.so.2 (0xb7f59000) libpam.so.0 => /lib/libpam.so.0 (0xb7f4c000) libc.so.6 => /lib/libc.so.6 (0xb7e15000) /lib/ld-linux.so.2 (0xb801b000) This one is specially nasty because there is no "idn" flag for the glibc. It looks like if libidn is present during the glibc compilation it will use it instead of an internal implementation ? /lib/libcidn-2.8.so ? As a temporary workaround if you can't boot your system I only found that : chroot from a live cd, cp -p /usr/lib/libidn* /lib then ldconfig
OpenRC links to libc and libdl directly. It can optionally link to libncurses or libpam (Linux only). All these libs reside in /lib, so are SAFE to use. So one of these libs is pulling in libidn. Try emerging OpenRC without the ncurses and pam USE flags.
compiling with -pam -ncurses -unicode, ldd /sbin/rc still shows libidn... found those -lidn in the middle of the openrc compilation... building shared library libeinfo.so.1 i686-pc-linux-gnu-gcc -L/usr/lib/qca2 -lidn -Wl,--version-script=einfo.map -L/lib -Wl,-rpath=/lib -shared -Wl,-x \ -o libeinfo.so.1 -Wl,-soname,libeinfo.so.1 \ libeinfo.So ---- building shared library librc.so.1 i686-pc-linux-gnu-gcc -L/usr/lib/qca2 -lidn -Wl,--version-script=rc.map -L/lib -Wl,-rpath=/lib -shared -Wl,-x \ -o librc.so.1 -Wl,-soname,librc.so.1 \ librc.So librc-daemon.So librc-depend.So librc-misc.So librc-stringlist.So ----
Interesting. That means that -L/usr/lib/qca2 -lidn is in your LDFLAGS during the compile phase. Now, what put them there? Do you have LDFLAGS set in /etc/make.conf?
well spotted, I had a wild LDFLAGS lingering in my make.conf. My mistake, this bug is totally INVALID. Thanks !