It turns out that the symlink may exists already by the time the toolchain Makefile gets an opportunity to run. While we asked to replace the target, ln doesn't do so until after dereferencing the existing symlink. This results in an unintended symlink that refers to itself. Instead, create the link without dereferencing any symlinks by using the -n option. ---
While this is the only instance that's actually causing a bad link to be created, there are a couple of other spots that intend to symlink directories that aren't using the -n option. Should those be updated too? toolchain/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toolchain/Makefile b/toolchain/Makefile index bdfb29e..763381a 100644 --- a/toolchain/Makefile +++ b/toolchain/Makefile @@ -63,7 +63,7 @@ ifneq ($(ARCH),) $(if $(QUIET),,set -x;) \ mkdir -p "$$dir"; \ cd "$$dir"; \ - ln -sf lib lib64; \ + ln -nsf lib lib64; \ mkdir -p stamp lib usr/include usr/lib ; \ ); done @grep GCC_VERSION $@ >/dev/null 2>&1 || $(INSTALL_DATA) $(TOPDIR)/toolchain/info.mk $@ -- 1.8.1.1 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel