Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 375813

Summary: net-nds/rpcbind-0.2.0's libraries dynamic loading fails with /usr on nfs
Product: Gentoo Linux Reporter: Nicolas Bigaouette <nbigaouette>
Component: Current packagesAssignee: Network Filesystems <net-fs>
Status: RESOLVED OBSOLETE    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Nicolas Bigaouette 2011-07-20 21:03:17 UTC
Our diskless nodes are failing to boot after the upgrade to portmap -> net-nds/rpcbind-0.2.0

After long investigation, I think I've isolated the problem. It seems rpcbind is linked against a library located in /usr:
ldd sbin/rpcbind 
        linux-vdso.so.1 =>  (0x00007fff945ff000)
        libtirpc.so.1 => /usr/lib64/libtirpc.so.1 (0x00007f4d0f6be000)  <------
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4d0f4a1000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f4d0f139000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f4d0ef21000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f4d0f8e2000)
But /usr is mounted over nfs for the diskless nodes.

But rpcbind is needed to get onto the network (net-fs/nfs-utils-1.2.3-r1 and net-nds/ypbind-1.32 depends on it), but it can't run until /usr is nfs mounted to expose /usr/lib64/libtirpc.so.1, creating a dependency loop.

I'm verifying right now if copying /usr/lib64/libtirpc.so* to the diskless's /lib64 (located in an initrd, booted over pxe) fixes this.

Reproducible: Always
Comment 1 Nicolas Bigaouette 2011-07-20 21:09:54 UTC
I confirm that copying /usr/lib64/libtirpc.so.1* into /lib64/ made the diskless nodes boot again.

Would libtirpc be allowed to be installed in /lib64? Or could rpcbind be compiled statically? How could that be fixed?
Comment 2 SpanKY gentoo-dev 2011-07-20 21:31:09 UTC
libtirpc has already been moved to / in newer versions