From b03577cf85784fc052b89083054d911816f8c6e1 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Wed, 25 Dec 2019 15:01:13 +0800 Subject: base.bbclass: clean up dead symlink when handling hosttools When some hosttool is a dead symlink, bitbake any recipe will fail with error like below. FileExistsError: [Errno 17] File exists: '/usr/bin/chrpath' -> '/path/to/builddir/tmp-glibc/hosttools/chrpath' So we remove dead symlink under hostools/ directory to avoid such error. Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/classes/base.bbclass | 3 +++ 1 file changed, 3 insertions(+) (limited to 'meta/classes') diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 145daea3ec..5e5cf66322 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -127,6 +127,9 @@ def setup_hosttools_dir(dest, toolsvar, d, fatal=True): for tool in tools: desttool = os.path.join(dest, tool) if not os.path.exists(desttool): + # clean up dead symlink + if os.path.islink(desttool): + os.unlink(desttool) srctool = bb.utils.which(path, tool, executable=True) # gcc/g++ may link to ccache on some hosts, e.g., # /usr/local/bin/ccache/gcc -> /usr/bin/ccache, then which(gcc) -- cgit 1.2.3-korg