[Buildroot] [PATCH 1/2] package/toolchain-external: ensure ARCH_LIB_DIR exist

Mao Han han_mao at c-sky.com
Thu Jan 2 03:57:20 UTC 2020

Different architecture may have different arch library folder structure
for their multilib toolchain. RISC-V toolchain has folder structure
The first level is for ISA and the second level is for ABI.
Current buildroot only creat lib and lib64, some error is reported
while installing the external toolchain:
>>> toolchain-external-custom  Installing to staging directory
/usr/bin/install -D -m 0755 /.../build/toolchain-external-custom/toolchain-wrapper /.../host/bin/toolchain-wrapper
ln: failed to create symbolic link '/.../host/riscv64-buildroot-linux-gnu/sysroot/lib64/lp64': No such file or directory
ln: failed to create symbolic link '/.../host/riscv64-buildroot-linux-gnu/sysroot/usr/lib64/lp64': No such file or directory

Signed-off-by: Qu Xianmiao <xianmiao_qu at c-sky.com>
Signed-off-by: Chen Hongdeng <hongdeng_chen at c-sky.com>
Signed-off-by: Guo Ren<ren_guo at c-sky.com>
Signed-off-by: Mao Han <han_mao at c-sky.com>
Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
Cc: Mark Corbin <mark.corbin at embecosm.com>
 toolchain/toolchain-external/pkg-toolchain-external.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/toolchain/toolchain-external/pkg-toolchain-external.mk b/toolchain/toolchain-external/pkg-toolchain-external.mk
index baf719a..13b2468 100644
--- a/toolchain/toolchain-external/pkg-toolchain-external.mk
+++ b/toolchain/toolchain-external/pkg-toolchain-external.mk
@@ -454,6 +454,8 @@ create_lib_symlinks = \
 	ARCH_LIB_DIR="$(call toolchain_find_libdir,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))" ; \
 	if [ ! -e "$${DESTDIR}/$${ARCH_LIB_DIR}" -a ! -e "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ]; then \
 		relpath="$(call relpath_prefix,$${ARCH_LIB_DIR})" ; \
+		mkdir -p "$${DESTDIR}/$${ARCH_LIB_DIR}" ; \
+		mkdir -p "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ; \
 		ln -snf $${relpath}lib "$${DESTDIR}/$${ARCH_LIB_DIR}" ; \
 		ln -snf $${relpath}lib "$${DESTDIR}/usr/$${ARCH_LIB_DIR}" ; \

More information about the buildroot mailing list