All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Issue with the HOST_DIR/usr -> HOST_DIR move
@ 2017-07-09 16:25 Thomas Petazzoni
  2017-07-09 19:30 ` Arnout Vandecappelle
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2017-07-09 16:25 UTC (permalink / raw)
  To: buildroot

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-07-09 19:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-09 16:25 [Buildroot] Issue with the HOST_DIR/usr -> HOST_DIR move Thomas Petazzoni
2017-07-09 19:30 ` Arnout Vandecappelle
2017-07-09 19:44   ` Yann E. MORIN
2017-07-09 19:49     ` Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.