Run ./scripts/feeds update -a and ./scripts/feeds install -a have some warning

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/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', which does not exist
WARNING: Makefile 'package/network/utils/iproute2/Makefile' has a dependency on 'libcap', 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
WARNING: Makefile 'package/network/utils/nftables/Makefile' has a dependency on 'jansson', which does not exist
Installing all packages from feed packages.

Run the ./scripts/feeds install -a again and you shouldn't have the errors. The issue is that the installed packages had dependencies on packages that weren't installed yet.

2 Likes

This also sometimes happens on the master branch as packages get removed or added and other packages that refer to them are not yet updated.

2 Likes

I noticed this can also happen even if you follow @Grommish's advice -- when a package gets moved from the "core" distribution into the "packages" feed, for example, you might have some stale metadata from the core package, which by default blocks the packages feed from taking over. See my patch here, which will help highlight what's going on:
https://patchwork.ozlabs.org/project/openwrt/patch/20200704025157.19097-1-computersforpeace@gmail.com/

If my patch adds an additional warning in scripts/feeds install -a, then you might need to use the force (-f) option, or else clear out some old tmp/info/.packageinfo* entries.

2 Likes

Thank you @bnorris for this post (and patch). There are dozens questions about it, and your answer is the first one to nail the problem of packages being moved out of base as being root cause.

Staying in the domain, even after --force installing offending packages (there is 6 as for now), some 'stub' in base is left. Do you know what is proper procedure/location to remove it? for example curl fuse etc. What exactly needs to be removed/regenereated? I think we should add fix for './scripts/feeds update' to cover this.

Currently:
Not overriding core package curl; use -f to force
Not overriding core package fuse; use -f to force
Not overriding core package iputils; use -f to force
Not overriding core package libconfig; use -f to force
Not overriding core package nghttp2; use -f to force

Remove "tmp" directory from OpenWrt buildroot.
It has several .dot starting files that you need to get rid of.
The rerun the feeds commands.

1 Like

Also, you can do ./scripts/feeds update -i and then ./scripts/feeds install -a -f

The update -i will force a RE-INDEX (rather than actually updating), which is useful for local packages that are being added. The install -a -f forces it to reinstall everything from what was just re-indexed..

that solved it (rm -rf tmp). thank you!

I would say we might consider it adding to update -a -i or '-a -f'.

Yes, that seems like a good idea. It probably makes sense to be precise (remove only the relevant .dot files) rather than the entire tmp/ directory. I'd have to poke around a bit more to figure out what the precise pattern should be.

rm -rf bin tmp build_dir
make defconfig

is a safe way to recreate things when things seem awry. Or use what is available via the make command of course.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.