Build process fails on `/scripts/feeds update -a`

While trying to build openwrt I encounter an error in the ./scripts/feeds update -a step.
From searching in the forums for similar problems (e.g., this one), I wasn't able to fully understand the problem.

I've tried to understand if the mkhash application was missing in my build system, but note I've installed all the dependencies recommended here.

Here's a sample of the error output:

# ./scripts/feeds update -a
(...)
Checking 'python'... ok.
Checking 'git'... ok.
Checking 'file'... ok.
/home/adamiaonr/workbench/openwrt/lede-ad7200/include/prereq-build.mk:155: recipe for target '/home/adamiaonr/workbench/openwrt/lede-ad7200/staging_dir/host/bin/mkhash' failed
Prerequisite check failed. Use FORCE=1 to override.
/home/adamiaonr/workbench/openwrt/lede-ad7200/include/toplevel.mk:155: recipe for target 'staging_dir/host/.prereq-build' failed
make: *** [staging_dir/host/.prereq-build] Error 1
/bin/sh: 3: mkhash: not found
Collecting package info: done
/bin/sh: 3: mkhash: not found
type or paste code here

My questions are:

  • What is the problem here?
  • Is mkhash missing in my system?
  • What is the dependency that needs to be satisfied?

The OpenWrt build system does not require "root" permissions, and should only be run as a "normal" user.

The safest thing to do is blow away then entire tree and start fresh as a normal user. If you've got a good reason to retain it, you'll have to carefully reset ownership and perhaps privilege bits (as sometimes root has a different umask or the like).

Which OS are you running? mkhash has been a challenge on non-Linux-based OSes.

@jeff

Thank you for your reply.

The OpenWrt build system does not require "root" permissions, and should only be run as a "normal" user.

Right, I'm not using root permissions actually, I just used a simple '#' prompt at the time of writing this post.

The OS I'm using is Ubuntu 16.04 LTS. Here's the output of uname -a:

Linux (...) 4.15.0-47-generic #50-16.04.1-Ubuntu (...) i686 athlon i686 GNU/Linux 
1 Like

There doesn't seem to be a resolution here and I'm having the exact problem. I have a Linux Mint 19.2 Tina system and have installed all the listed dependencies.

rayk@Mint18-VM ~/Development/imx233-olinuxino/openwrt/openwrt $ ./scripts/feeds update -a

Results in the following:

/home/rayk/Development/imx233-olinuxino/openwrt/openwrt/include/prereq-build.mk:167: recipe for target '/home/rayk/Development/imx233-olinuxino/openwrt/openwrt/staging_dir/host/bin/mkhash' failed
Prerequisite check failed. Use FORCE=1 to override.
/home/rayk/Development/imx233-olinuxino/openwrt/openwrt/include/toplevel.mk:176: recipe for target 'staging_dir/host/.prereq-build' failed
make: *** [staging_dir/host/.prereq-build] Error 1
/bin/sh: 3: mkhash: not found
Collecting package info: done
/bin/sh: 3: mkhash: not found
Collecting target info: done

I had other error when attempting to use the ImageBuilder! Can someone help me determine what is missing?

Ray