Fixed
Created: Dec 12, 2017
Updated: Dec 15, 2018
Resolved Date: Jan 14, 2018
Found In Version: 8.0.0.23
Fix Version: 8.0.0.25
Severity: Standard
Applicable for: Wind River Linux 8
Component/s: Userspace
rpc.idmapd cannot be started in wrlinux 8 (systemd)
1. configure and build a wrlinux 8 RCPL23 project, based on:
--enable-board=qemux86-64 --enable-build=production --enable-kernel=cgl --enable-rootfs=glibc-cgl --enable-ccache=no --enable-jobs=10 --enable-parallel-pkgbuilds=16 --enable-reconfig --enable-rm-work=yes --with-layer=wr-security,cgp --enable-doc-pages=yes --with-rcpl-version=0023
2. start qemu and run:
root@qemu0:~# systemctl start nfs-statd
root@qemu0:~# rpc.idmapd -f -v
rpc.idmapd: libnfsidmap: Unable to determine the NFSv4 domain; Using 'localdomain' as the NFSv4 domain which means UIDs will be mapped to the 'Nobody-User' user defined in /etc/idmapd.conf
rpc.idmapd: libnfsidmap: using (default) domain: localdomain
rpc.idmapd: libnfsidmap: Realms list: 'LOCALDOMAIN'
rpc.idmapd: libnfsidmap: Unable to load plugin: /usr/lib/libnfsidmap/nsswitch.so: cannot open shared object file: No such file or directory
rpc.idmapd: libnfsidmap: requested translation method, 'nsswitch', is not available
rpc.idmapd: Unable to create name to user id mappings.
Here, we can see that the libnfsidmap is indeed present but it is located in another directory than expected:
root@qemu0:~# find / -name libnfsidmap
/usr/lib64/libnfsidmap
Even if we copy it to the expected location, the rpc.idmapd process still does not work:
root@qemu0:~# mkdir -p /usr/lib/libnfsidmap/
root@qemu0:~# cd /usr/lib/libnfsidmap/
root@qemu0:/usr/lib/libnfsidmap# ls /usr/lib64/libnfsidmap/
nsswitch.so static.so
root@qemu0:/usr/lib/libnfsidmap# cp /usr/lib64/libnfsidmap/* .
root@qemu0:/usr/lib/libnfsidmap# rpc.idmapd -f -v
rpc.idmapd: libnfsidmap: Unable to determine the NFSv4 domain; Using 'localdomain' as the NFSv4 domain which means UIDs will be mapped to the 'Nobody-User' user defined in /etc/idmapd.conf
rpc.idmapd: libnfsidmap: using (default) domain: localdomain
rpc.idmapd: libnfsidmap: Realms list: 'LOCALDOMAIN'
rpc.idmapd: libnfsidmap: loaded plugin /usr/lib/libnfsidmap/nsswitch.so for method nsswitch
rpc.idmapd: Expiration time is 600 seconds.
rpc.idmapd: nfsdopenone: Opening /proc/net/rpc/nfs4.nametoid/channel failed: errno 2 (No such file or directory)
rpc.idmapd: main: open(/var/lib/nfs/rpc_pipefs//nfs): No such file or directory