From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] Issue with the HOST_DIR/usr -> HOST_DIR move
Date: Sun, 9 Jul 2017 18:25:32 +0200 [thread overview]
Message-ID: <20170709182532.40ff2614@windsurf> (raw)
Hello Arnout,
I've started rebuilding the pre-built Buildroot external toolchains
after the HOST_DIR/usr -> HOST_DIR move. I've dropped my hack on the
toolchain wrapper to support the fact that I was moving the toolchain
out of the usr/ folder... because obviously this is no longer needed.
So basically, I'm building on top of master + a patch that builds
host-flex, host-gmp, host-mpc, etc. as static libraries instead of
shared ones.
Using this defconfig:
BR2_arm=y
BR2_HOST_DIR="/opt/br-arm-full-2017.05-1071-gef605f5"
BR2_JLEVEL=16
BR2_KERNEL_HEADERS_3_10=y
BR2_TOOLCHAIN_BUILDROOT_LOCALE=y
BR2_GCC_VERSION_4_9_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
# BR2_TARGET_ROOTFS_TAR is not set
I'm seeing this build failure:
ESC[7m>>> uclibc 1.0.25 BuildingESC[27m
/usr/bin/make -j16 -C /opt/toolchain-build/build/uclibc-1.0.25 ARCH="arm" CROSS_COMPILE="/opt/br-arm-full-2017.05-1071-gef605f5/bin/arm-buildroot-linux-uclibcgnueabi-" UCLIBC_EXTRA_CFLAGS=" " HOSTCC="/usr/bin/gcc" headers
/opt/br-arm-full-2017.05-1071-gef605f5/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc.br_real: No such file or directory
/opt/br-arm-full-2017.05-1071-gef605f5/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc.br_real: No such file or directory
/opt/br-arm-full-2017.05-1071-gef605f5/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc.br_real: No such file or directory
/opt/br-arm-full-2017.05-1071-gef605f5/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc.br_real: No such file or directory
make[1]: Entering directory `/opt/toolchain-build/build/uclibc-1.0.25'
MKDIR include/bits
GEN include/bits/uClibc_config.h
/opt/br-arm-full-2017.05-1071-gef605f5/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc.br_real: No such file or directory
/opt/br-arm-full-2017.05-1071-gef605f5/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc.br_real: No such file or directory
/opt/br-arm-full-2017.05-1071-gef605f5/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc.br_real: No such file or directory
/opt/br-arm-full-2017.05-1071-gef605f5/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc.br_real: No such file or directory
LN include/semaphore.h
LN include/pthread.h
LN include/bits/libc-lock.h
LN include/bits/stdio-lock.h
LN include/bits/pthreadtypes.h
LN include/bits/semaphore.h
GEN include/bits/sysnum.h
/opt/br-arm-full-2017.05-1071-gef605f5/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc.br_real: No such file or directory
/opt/br-arm-full-2017.05-1071-gef605f5/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc.br_real: No such file or directory
There are two problems here:
* First, the problem that $(HOST_DIR)/usr didn't exist. The reason is
that you rule that creates $(HOST_DIR)/usr is only triggered if the
Buildroot Makefile creates $(HOST_DIR). But when you're building a
SDK inside /opt/foo/, therefore setting BR2_HOST_DIR=/opt/foo/, it's
pretty likely that /opt/foo/ might exist before Buildroot gets
triggered. In such a situation, your $(HOST_DIR) rule in the main
Makefile doesn't get triggered, and $(HOST_DIR)/usr is not created.
* Even if the symlink doesn't exist, the build should still work.
Indeed, the symlink was kept for backward compatibility reasons, but
here I'm doing a full build from scratch, which I would expect to
work even without the usr/ compatibility symlink.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
next reply other threads:[~2017-07-09 16:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-09 16:25 Thomas Petazzoni [this message]
2017-07-09 19:30 ` [Buildroot] Issue with the HOST_DIR/usr -> HOST_DIR move Arnout Vandecappelle
2017-07-09 19:44 ` Yann E. MORIN
2017-07-09 19:49 ` Arnout Vandecappelle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170709182532.40ff2614@windsurf \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox