Message ID | 20190114035532.23010-1-vadim4j@gmail.com |
---|---|
State | Accepted |
Commit | 89fdf21d58c44b58f566d14056a13598e99cd538 |
Headers | show |
Series | [1/1] package/dash: Create $(TARGET_DIR)/bin before install | expand |
Hi Vadim, On Mon, Jan 14, 2019 at 05:55:32AM +0200, Vadim Kochan wrote: > The build fails because $(TARGET_DIR)/bin folder may not exist if for > example to use the following defconfig: > > BR2_x86_64=y > BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y > BR2_SYSTEM_BIN_SH_DASH=y > BR2_TARGET_GENERIC_GETTY_PORT="tty1" > BR2_LINUX_KERNEL=y > BR2_LINUX_KERNEL_CUSTOM_VERSION=y > BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" > BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y > BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" > BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y > BR2_PACKAGE_S6_LINUX_INIT=y > BR2_TARGET_ROOTFS_EXT2=y > > Signed-off-by: Vadim Kochan <vadim4j@gmail.com> > --- > package/dash/dash.mk | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/package/dash/dash.mk b/package/dash/dash.mk > index f699f40686..606b5db34a 100644 > --- a/package/dash/dash.mk > +++ b/package/dash/dash.mk > @@ -28,6 +28,7 @@ DASH_CONF_OPTS += --without-libedit > endif > > define DASH_INSTALL_TARGET_CMDS > + mkdir -p $(TARGET_DIR)/bin > $(INSTALL) -m 0755 $(@D)/src/dash $(TARGET_DIR)/bin/dash > endef I can't reproduce this issue here. I tested this config: BR2_arm=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-basic-2018.05.tar.bz2" BR2_TOOLCHAIN_EXTERNAL_GCC_6=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_16=y # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_DASH=y BR2_PACKAGE_S6_LINUX_INIT=y The build log shows this: >>> skeleton-init-common Installing to target rsync -a --ignore-times --exclude .svn --exclude .git --exclude .hg --exclude .bzr --exclude CVS --chmod=u=rwX,go=rX --exclude .empty --exclude '*~' system/skeleton/ /.../buildroot/output/target/ /usr/bin/install -d -m 0755 /home/baruch/git/buildroot/output/target/bin /usr/bin/install -d -m 0755 /home/baruch/git/buildroot/output/target/sbin /usr/bin/install -d -m 0755 /home/baruch/git/buildroot/output/target/lib The SYSTEM_USR_SYMLINKS_OR_DIRS macro defined in system/system.mk created the /bin directory. Do you have any idea why it doesn't work in your case? baruch
Hello, On Mon, 14 Jan 2019 05:55:32 +0200, Vadim Kochan wrote: > The build fails because $(TARGET_DIR)/bin folder may not exist if for > example to use the following defconfig: > > BR2_x86_64=y > BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y > BR2_SYSTEM_BIN_SH_DASH=y > BR2_TARGET_GENERIC_GETTY_PORT="tty1" > BR2_LINUX_KERNEL=y > BR2_LINUX_KERNEL_CUSTOM_VERSION=y > BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" > BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y > BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" > BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y > BR2_PACKAGE_S6_LINUX_INIT=y > BR2_TARGET_ROOTFS_EXT2=y > > Signed-off-by: Vadim Kochan <vadim4j@gmail.com> > --- > package/dash/dash.mk | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/package/dash/dash.mk b/package/dash/dash.mk > index f699f40686..606b5db34a 100644 > --- a/package/dash/dash.mk > +++ b/package/dash/dash.mk > @@ -28,6 +28,7 @@ DASH_CONF_OPTS += --without-libedit > endif > > define DASH_INSTALL_TARGET_CMDS > + mkdir -p $(TARGET_DIR)/bin > $(INSTALL) -m 0755 $(@D)/src/dash $(TARGET_DIR)/bin/dash Please use $(INSTALL) -D instead, which does exactly what is needed here: create the intermediate directories if missing. Thanks! Thomas
>>>>> "Vadim" == Vadim Kochan <vadim4j@gmail.com> writes: > The build fails because $(TARGET_DIR)/bin folder may not exist if for > example to use the following defconfig: > BR2_x86_64=y > BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y > BR2_SYSTEM_BIN_SH_DASH=y > BR2_TARGET_GENERIC_GETTY_PORT="tty1" > BR2_LINUX_KERNEL=y > BR2_LINUX_KERNEL_CUSTOM_VERSION=y > BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" > BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y > BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" > BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y > BR2_PACKAGE_S6_LINUX_INIT=y > BR2_TARGET_ROOTFS_EXT2=y > Signed-off-by: Vadim Kochan <vadim4j@gmail.com> Committed after chaning it to use install -D instead, thanks.
>>>>> "Vadim" == Vadim Kochan <vadim4j@gmail.com> writes: > The build fails because $(TARGET_DIR)/bin folder may not exist if for > example to use the following defconfig: > BR2_x86_64=y > BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y > BR2_SYSTEM_BIN_SH_DASH=y > BR2_TARGET_GENERIC_GETTY_PORT="tty1" > BR2_LINUX_KERNEL=y > BR2_LINUX_KERNEL_CUSTOM_VERSION=y > BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" > BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y > BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" > BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y > BR2_PACKAGE_S6_LINUX_INIT=y > BR2_TARGET_ROOTFS_EXT2=y > Signed-off-by: Vadim Kochan <vadim4j@gmail.com> Committed to 2018.02.x and 2018.11.x, thanks.
diff --git a/package/dash/dash.mk b/package/dash/dash.mk index f699f40686..606b5db34a 100644 --- a/package/dash/dash.mk +++ b/package/dash/dash.mk @@ -28,6 +28,7 @@ DASH_CONF_OPTS += --without-libedit endif define DASH_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/bin $(INSTALL) -m 0755 $(@D)/src/dash $(TARGET_DIR)/bin/dash endef
The build fails because $(TARGET_DIR)/bin folder may not exist if for example to use the following defconfig: BR2_x86_64=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16=y BR2_SYSTEM_BIN_SH_DASH=y BR2_TARGET_GENERIC_GETTY_PORT="tty1" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.16.7" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_S6_LINUX_INIT=y BR2_TARGET_ROOTFS_EXT2=y Signed-off-by: Vadim Kochan <vadim4j@gmail.com> --- package/dash/dash.mk | 1 + 1 file changed, 1 insertion(+)