I'm a little stumped on this one, as I move from Ubuntu to
Debian 9.4 for my build box.
Right now, looks like SetupHostCommand
isn't robust enough.
Destroying staging_dir/
and re-running make menuconfig
was required.
jeff@deb-devel:~/devel/openwrt$ make V=s
make[1] clean
time: invalid option -- 'f'
BusyBox v1.22.1 (Debian 1:1.22.0-19+b3) multi-call binary.
Usage: time [-v] PROG ARGS
Run PROG, display resource usage when it exits
-v Verbose
target/Makefile:23: recipe for target 'target/linux/prereq' failed
[...]
I've already installed the Debian package for time
jeff@deb-devel:~/devel/openwrt$ dpkg -L time
/.
/usr
/usr/bin
/usr/bin/time
[...]
jeff@deb-devel:~/devel/openwrt$ which time
/usr/bin/time
yet, for some reason, the build system is picking up busybox
which is not symlinked from time
anywhere that I can find
jeff@deb-devel:~/devel/openwrt$ sudo find / -xdev -name time
/usr/bin/time
/usr/src/linux-headers-4.9.0-6-amd64/include/config/generic/time
/usr/src/linux-headers-4.9.0-6-amd64/include/config/have/irq/time
/usr/share/doc-base/time
/usr/share/doc/time
jeff@deb-devel:~/devel/openwrt$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Very fresh Debian "minimal" debootstrap
install with updated with tasksel install standard
(which is still pretty barebones) and htop, git, gitk, git-gui, rsync, ccache, build-essential, libncurses5-dev gawk unzip time
Edit:
$(eval $(call SetupHostCommand,time,Please install GNU 'time' or BusyBox 'time', \
gtime --version 2>&1 | grep GNU, \
time --version 2>&1 | grep GNU, \
busybox time 2>&1 | grep BusyBox))
include/subdir.mk: env time -f "time: $(1)$(if $(4),/$(4))/$(if $(3),$(3)-)$(2)\#%U\#%S\#%e" -- \
jeff@deb-devel:~/devel/openwrt$ env time -V
GNU time 1.7
time
alone is a reserved word in bash
, not an executable, but that doesn't explain why the build system had decided to call busybox
.
jeff@deb-devel:~/devel/openwrt$ ls -l staging_dir/host/bin/
total 28
lrwxrwxrwx 1 jeff jeff 13 Jul 1 16:06 awk -> /usr/bin/gawk
lrwxrwxrwx 1 jeff jeff 9 Jul 1 16:05 bash -> /bin/bash
lrwxrwxrwx 1 jeff jeff 10 Jul 1 16:05 bzip2 -> /bin/bzip2
lrwxrwxrwx 1 jeff jeff 7 Jul 1 16:05 cp -> /bin/cp
lrwxrwxrwx 1 jeff jeff 13 Jul 1 16:05 diff -> /usr/bin/diff
lrwxrwxrwx 1 jeff jeff 13 Jul 1 16:05 file -> /usr/bin/file
lrwxrwxrwx 1 jeff jeff 13 Jul 1 16:05 find -> /usr/bin/find
lrwxrwxrwx 1 jeff jeff 12 Jul 1 16:06 g++ -> /usr/bin/g++
lrwxrwxrwx 1 jeff jeff 12 Jul 1 16:05 gcc -> /usr/bin/gcc
lrwxrwxrwx 1 jeff jeff 15 Jul 1 16:05 getopt -> /usr/bin/getopt
lrwxrwxrwx 1 jeff jeff 12 Jul 1 16:05 git -> /usr/bin/git
lrwxrwxrwx 1 jeff jeff 9 Jul 1 16:05 grep -> /bin/grep
-rwxr-xr-x 1 jeff jeff 0 Jul 1 16:06 ldconfig
-rwxr-xr-x 1 jeff jeff 22144 Jul 1 16:05 mkhash
lrwxrwxrwx 1 jeff jeff 14 Jul 1 16:05 patch -> /usr/bin/patch
lrwxrwxrwx 1 jeff jeff 13 Jul 1 16:05 perl -> /usr/bin/perl
lrwxrwxrwx 1 jeff jeff 18 Jul 1 16:05 python -> /usr/bin/python2.7
lrwxrwxrwx 1 jeff jeff 12 Jul 1 16:05 seq -> /usr/bin/seq
lrwxrwxrwx 1 jeff jeff 13 Jul 1 16:05 stat -> /usr/bin/stat
lrwxrwxrwx 1 jeff jeff 8 Jul 1 16:05 tar -> /bin/tar
lrwxrwxrwx 1 jeff jeff 12 Jul 1 16:05 time -> /bin/busybox
lrwxrwxrwx 1 jeff jeff 14 Jul 1 16:06 unzip -> /usr/bin/unzip
lrwxrwxrwx 1 jeff jeff 13 Jul 1 16:05 wget -> /usr/bin/wget