| 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 packages | Assignee: | Network Filesystems <net-fs> |
| Status: | RESOLVED OBSOLETE | ||
| Severity: | normal | ||
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
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? libtirpc has already been moved to / in newer versions |
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