From: Yann E. MORIN Date: Thu, 17 Aug 2017 19:19:46 +0000 (+0200) Subject: core/pkg-toolchain-external: quiesce spurious stderr X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e4ebf9b0beae85e65eeb05106c1fce0e1379d1db;p=buildroot.git core/pkg-toolchain-external: quiesce spurious stderr Since 392b0a26f5 (toolchain-external: default BR2_TOOLCHAIN_EXTERNAL_PATH to empty), calling 'make clean' or similar can yield a spurious stderr message: dirname: missing operand Try 'dirname --help' for more information. Which is definitely baffling and unsettling... It turns out that it is pretty trivial to reproduce, and this defconfig is just enough: $ cat my-defconfig BR2_TOOLCHAIN_EXTERNAL=y $ make BR2_DEFCONFIG=$(pwd)/my-defconfig defconfig $ make clean dirname: missing operand Try 'dirname --help' for more information. [--snip--] This is because the cross-compiler is not found in the PATH (and for good reasons, I don't have it in the PATH, not even at all). So, when the cross-compiler is not found in the path, we simply continue as if all was good, and postpone the check to much later, when we try to copy the toolchain libs... So, use a make construct rather than calling to the shell: $(dir ...) does not whine if passed nothing. Signed-off-by: "Yann E. MORIN" Cc: Arnout Vandecappelle Cc: Thomas Petazzoni Cc: Thomas De Schampheleire Reviewed-by: Arnout Vandecappelle (Essensium/Mind) Signed-off-by: Thomas Petazzoni --- diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk index 23cdf30b9f..dc0588c536 100644 --- a/toolchain/toolchain-external/pkg-toolchain-external.mk +++ b/toolchain/toolchain-external/pkg-toolchain-external.mk @@ -74,7 +74,7 @@ endif ifeq ($(TOOLCHAIN_EXTERNAL_INSTALL_DIR),) ifneq ($(TOOLCHAIN_EXTERNAL_PREFIX),) # if no path set, figure it out from path -TOOLCHAIN_EXTERNAL_BIN := $(shell dirname $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc)) +TOOLCHAIN_EXTERNAL_BIN := $(dir $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc)) endif else TOOLCHAIN_EXTERNAL_BIN := $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin