New fish building very first image. nfs-kernel-server dependency unresolved (solved)

I am sure I wlll have questions so I am documenting the steps as I take them.

This is just a test so I can eventually build an image for a WNDR4300v2.

As suggested in this thread :

I am starting with the x86_64 build root as a first step to gain experience.

Starting with : https://openwrt.org/docs/guide-developer/build-system/install-buildsystem

I have all the requisite packages installed and I have cloned the repository and checked out the 18.06 branch.

./scripts/feeds update -a completed but....
./scripts/feeds install -a ... error ...

WARNING: Makefile 'package/feeds/packages/nfs-kernel-server/Makefile' has a dependency on 'rpcbind', which does not exist

there were a number of similar warnings.

WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libgnutls', which does not exist WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libopenldap', which does not exist WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libidn2', which does not exist WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libssh2', which does not exist WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
Installing -dev packages eliminated all of them and this one about rpcbind was new.

Been stuck on this error for a day. searched openwrt site via google for "make download" and found this page https://openwrt.org/docs/guide-developer/build-system/use-buildsystem

~/src/openwrt$ ./scripts/feeds install rpcbind
WARNING: Makefile 'package/feeds/packages/nfs-kernel-server/Makefile' has a dependency on 'rpcbind', which does not exist
WARNING: No feed for package 'rpcbind' found

So, I ignored the error ran make, creating a .vdi image which seemed to boot just fine in vbox.

I am guessing if I try to mount an nfs share I will fail.

I also tried make download but rpcbind is not among the packages downloaded.

~/src/openwrt$ make download
WARNING: Makefile 'package/feeds/packages/nfs-kernel-server/Makefile' has a dependency on 'rpcbind', which does not exist
 make[1] tools/download
 make[2] -C tools/gmp download
 make[2] -C tools/mpfr download
 make[2] -C tools/mpc download
 make[2] -C tools/libelf download
 make[2] -C tools/expat download
 make[2] -C tools/m4 download
 make[2] -C tools/libtool download
 make[2] -C tools/autoconf download
 make[2] -C tools/automake download
 make[2] -C tools/flex download
 make[2] -C tools/bison download
 make[2] -C tools/pkg-config download
 make[2] -C tools/mklibs download
 make[2] -C tools/zlib download
 make[2] -C tools/sstrip download
 make[2] -C tools/make-ext4fs download
 make[2] -C tools/e2fsprogs download
 make[2] -C tools/mtd-utils download
 make[2] -C tools/mkimage download
 make[2] -C tools/firmware-utils download
 make[2] -C tools/patch-image download
 make[2] -C tools/quilt download
 make[2] -C tools/padjffs2 download
 make[2] -C tools/mm-macros download
 make[2] -C tools/missing-macros download
 make[2] -C tools/cmake download
 make[2] -C tools/scons download
 make[2] -C tools/bc download
 make[2] -C tools/findutils download
 make[2] -C tools/gengetopt download
 make[2] -C tools/patchelf download
 make[2] -C tools/mtools download
 make[2] -C tools/dosfstools download
 make[2] -C tools/libressl download
 make[2] -C tools/qemu download
 make[2] -C tools/lzma download
 make[2] -C tools/squashfs4 download
 make[2] -C tools/b43-tools download
 make[2] -C tools/tar download
 make[2] -C tools/xz download
 make[2] -C tools/patch download
 make[2] -C tools/flock download
 make[2] -C tools/sed download
 make[1] toolchain/download
 make[2] -C toolchain/gdb download
 make[2] -C toolchain/kernel-headers download
 make[2] -C toolchain/binutils download
 make[2] -C toolchain/gcc/initial download
 make[2] -C toolchain/gcc/final download
 make[2] -C toolchain/musl download
 make[2] -C toolchain/fortify-headers download
 make[2] -C toolchain/yasm download
 make[1] package/download
 make[2] -C package/base-files download
 make[2] -C package/boot/grub2 download
 make[2] -C package/boot/uboot-envtools download
 make[2] -C feeds/packages/libs/dmx_usb_module download
 make[2] -C feeds/packages/net/jool download
 make[2] -C feeds/packages/kernel/mtd-rw download
 make[2] -C feeds/packages/net/openvswitch download
 make[2] -C feeds/packages/net/siit download
 make[2] -C feeds/packages/net/wifidog-ng download
 make[2] -C feeds/packages/libs/xr_usb_serial_common download
 make[2] -C feeds/packages/net/xtables-addons download
 make[2] -C feeds/routing/batman-adv download
 make[2] -C feeds/routing/nat46 download
 make[2] -C feeds/telephony/libs/dahdi-linux download
 make[2] -C package/firmware/b43legacy-firmware download
 make[2] -C package/firmware/linux-firmware download
 make[2] -C package/firmware/prism54-firmware download
 make[2] -C package/firmware/wireless-regdb download
 make[2] -C package/kernel/ath10k-ct download
 make[2] -C package/kernel/button-hotplug download
 make[2] -C package/kernel/gpio-button-hotplug download
 make[2] -C package/kernel/gpio-nct5104d download
 make[2] -C package/kernel/i2c-gpio-custom download
 make[2] -C package/kernel/kmod-sched-cake download
 make[2] -C package/kernel/leds-apu2 download
 make[2] -C package/kernel/linux download
 make[2] -C package/kernel/mac80211 download
 make[2] -C package/kernel/mt76 download
 make[2] -C package/kernel/spi-gpio-custom download
 make[2] -C package/kernel/trelay download
 make[2] -C package/kernel/w1-gpio-custom download
 make[2] -C package/libs/libjson-c download
 make[2] -C package/libs/libnl-tiny download
 make[2] -C package/libs/libubox download
 make[2] -C package/libs/toolchain download
 make[2] -C package/libs/uclient download
 make[2] -C package/network/config/firewall download
 make[2] -C package/network/config/netifd download
 make[2] -C package/network/ipv6/odhcp6c download
 make[2] -C package/network/services/dnsmasq download
 make[2] -C package/network/services/dropbear download
 make[2] -C package/network/services/hostapd download
 make[2] -C package/network/services/odhcpd download
 make[2] -C package/network/services/ppp download
 make[2] -C package/network/services/wireguard download
 make[2] -C package/network/utils/comgt download
 make[2] -C package/network/utils/iptables download
 make[2] -C package/network/utils/iw download
 make[2] -C package/network/utils/iwinfo download
 make[2] -C package/network/utils/umbim download
 make[2] -C package/network/utils/uqmi download
 make[2] -C package/network/utils/wwan download
 make[2] -C package/system/fstools download
 make[2] -C package/system/fwtool download
 make[2] -C package/system/mtd download
 make[2] -C package/system/openwrt-keyring download
 make[2] -C package/system/opkg download
 make[2] -C package/system/procd download
 make[2] -C package/system/ubox download
 make[2] -C package/system/ubus download
 make[2] -C package/system/uci download
 make[2] -C package/system/usign download
 make[2] -C package/utils/busybox download
 make[2] -C package/utils/e2fsprogs download
 make[2] -C package/utils/f2fs-tools download
 make[2] -C package/utils/jsonfilter download
 make[2] -C package/utils/lua download
 make[2] -C package/utils/util-linux download
 make[1] target/download
 make[2] -C target/linux download

If I browse https://git.openwrt.org/feed/ and use the search feature to look for rpc it locates
|project/librpc-uclibc.git|Standalone librpc forked from...|Git|3 years ago|summary | shortlog | log | tree|
|---|---|---|---|---|
|project/rpcd.git|OpenWrt ubus RPC daemon|Git|7 weeks ago|summary | shortlog | log | tree|

Since the rpcbind package does not exist then should the nfs-server depend on librpc or libtirpc instead? Or should the rpcbind package actually exist even though it does not?

edit: I created a folder "my_packages" and referenced it in the default.feeds.conf . Ran ./scripts/feeds update -a and ./scripts/feeds install -a . The same error appears

 ./scripts/feeds install -a
WARNING: Makefile 'package/feeds/packages/nfs-kernel-server/Makefile' has a dependency on 'rpcbind', which does not exist

there is only one reference to rpcbind in that Makefile:
define Package/nfs-kernel-server
$(call Package/nfs-kernel-server/Default)
TITLE:=Kernel NFS server support
DEPENDS+= +kmod-fs-nfsd +kmod-fs-nfs +rpcbind
endef

Is there another strategy for addressing this error message?

end-edit 4-30-2019 1:54pm pacific time

it's in master ( devel ) ... use that while your figuring out 18.

sometimes feeds install spits errors.... generally no good when there are many... not too sure what the cause is ( something to do with upstream consisency - updates i think ) but usually.... the next time they are gone.

so it's worth trying from scratch.... at a later day.... also.....

2 Likes

I created a local feed directory, modified the feeds.conf.default and ran ./scripts install rpcbind. I dowlnoaded the Makefile from Github and the source from sources.openwrt.org. It worked. I updated the following doc to reflect what I learned under "creating a local feed" heading.
https://openwrt.org/docs/guide-developer/build-system/use-buildsystem

The error is gone!

Correct me if I am wrong but ......
rpcbind is only needed for nfs-kernel-server if v3 is selected in .config. If v4 is selected then rpcbind is irrelevant. Soooo, The reference to rpcbind as a dependency could simply be deleted from the Makefile for nfs-kernel-server.

1 Like

there is only one reference to rpcbind in that Makefile:
define Package/nfs-kernel-server
$(call Package/nfs-kernel-server/Default)
TITLE:=Kernel NFS server support
DEPENDS+= +kmod-fs-nfsd +kmod-fs-nfs +rpcbind
endef

Is there another strategy for addressing this error message?

end-edit 4-30-2019 1:54pm pacific time

I setup the buiild system for the wndr4300v1 and did not get this error message. Looking at ./openwrt/package/feeds/packages/nfs-kernel-server/Makefile ... it depends on +portmap instead of +rpcbind.