Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 247664 - sys-libs/glibc-2.8_p20080602: automagically links against existing libidn, breaking openrc binary when /usr is on extra partition
Summary: sys-libs/glibc-2.8_p20080602: automagically links against existing libidn, br...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] baselayout (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 398051
  Show dependency tree
 
Reported: 2008-11-20 07:18 UTC by Guillaume BINET
Modified: 2012-03-20 10:22 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Guillaume BINET 2008-11-20 07:18:05 UTC
/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
Comment 1 Roy Marples 2008-11-20 10:03:42 UTC
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.

Comment 2 Guillaume BINET 2008-11-20 10:27:15 UTC
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 

----
Comment 3 Roy Marples 2008-11-20 10:33:04 UTC
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?
Comment 4 Guillaume BINET 2008-11-20 10:42:15 UTC
well spotted, I had a wild LDFLAGS lingering in my make.conf. My mistake, this bug is totally INVALID.

Thanks !