[Buildroot] [PATCH 00/23] Fix numerous defconfig build failures

Thomas Petazzoni thomas.petazzoni at bootlin.com
Sun Mar 4 21:31:14 UTC 2018


Hello,

This commit fixes a significant number of defconfig build failures:

 - Some defconfigs have a Linux kernel that needs openssl on the
   host. This requires adding a mechanism to add host-openssl as a
   dependency of the linux package. This is done by introducing
   BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL in patch 1.

   Then, numerous defconfigs are fixed to use
   BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL: patches 6 to 13.

   The qemu_x86_defconfig and qemu_x86_64_defconfig are however
   changed in a different way: by removing wireless support, which is
   the reason why host-openssl becomes necessary in recent kernel
   versions. Since Qemu doesn't emulate a wireless interface, it
   didn't make much sense to have this additional dependency. See
   patch 4 and 5.

   For all other defconfigs, we erred on the safe side, and kept the
   configuration as-is, and simply added
   BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL.

 - Some defconfigs have a Linux kernel that needs libelf on the
   host. Like host-openssl, we added a new option
   BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF. See patch 2.

   In practice, only qemu_x86_64_defconfig needed libelf and the host,
   and instead of bringing this dependency, we have disabled the ORC
   Unwinder from the kernel defconfig. See patch 4.

   Therefore, there are no in-tree defconfig that uses
   BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF.

 - In order to make the host openssl and host libelf usable by the
   Linux kernel build system, we had to ensure that HOST_CFLAGS and
   HOST_LDFLAGS were properly taken into account. This is done in
   patch 3.

 - Some defconfigs have a U-Boot that needs dtc on the host. For
   these, the fix is simple: add BR2_TARGET_UBOOT_NEEDS_DTC=y in the
   defconfig. Patches 14 to 22.

 - Finally, one defconfig, ts4900_defconfig, had a separate issue: it
   wasn't explicitly specifying a kernel version, causing a mismatch
   with the selected kernel headers version.

Best regards,

Thomas

Thomas Petazzoni (23):
  linux: add BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL
  linux: add BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF
  linux: fix passing of host CFLAGS and LDFLAGS
  configs/qemu_x86_64_defconfig: remove kernel options that need
    openssl/libelf
  configs/qemu_x86_defconfig: remove kernel options that need openssl
  configs/orangepi_zero: needs host-openssl for the Linux kernel build
  configs/orangepi_pc_plus: needs host-openssl for the Linux kernel
    build
  configs/snps_archs38_axs103: needs host-openssl for the Linux kernel
    build
  configs/snps_archs38_vdk: needs host-openssl for the Linux kernel
    build
  configs/mx53loco: needs host-openssl for the Linux kernel build
  configs/imx6-sabresd: needs host-openssl for the Linux kernel build
  configs/snps_arc700_axs101: needs host-openssl for the Linux kernel
    build
  configs/solidrun_macchiatobin_mainline: needs host-openssl for the
    Linux kernel build
  configs/freescale_imx6qsabreauto: U-Boot needs host-dtc
  configs/solidrun_macchiatobin_marvell: U-Boot needs host-dtc
  configs/freescale_imx6sololiteevk: U-Boot needs host-dtc
  configs/freescale_imx6dlsabresd: U-Boot needs host-dtc
  configs/freescale_imx6dlsabreauto: U-Boot needs host-dtc
  configs/freescale_imx7dsabresd: U-Boot needs host-dtc
  configs/imx6ulevk: U-Boot needs host-dtc
  configs/freescale_imx6qsabresd: U-Boot needs host-dtc
  configs/freescale_imx6sxsabresd: U-Boot needs host-dtc
  configs/ts4900: explicitly specify Linux kernel version

 board/qemu/x86/linux-4.15.config                 |  2 ++
 board/qemu/x86_64/linux-4.15.config              |  3 +++
 configs/freescale_imx6dlsabreauto_defconfig      |  1 +
 configs/freescale_imx6dlsabresd_defconfig        |  1 +
 configs/freescale_imx6qsabreauto_defconfig       |  1 +
 configs/freescale_imx6qsabresd_defconfig         |  1 +
 configs/freescale_imx6sololiteevk_defconfig      |  1 +
 configs/freescale_imx6sxsabresd_defconfig        |  1 +
 configs/freescale_imx7dsabresd_defconfig         |  1 +
 configs/imx6-sabresd_defconfig                   |  1 +
 configs/imx6ulevk_defconfig                      |  1 +
 configs/mx53loco_defconfig                       |  1 +
 configs/orangepi_pc_plus_defconfig               |  1 +
 configs/orangepi_zero_defconfig                  |  1 +
 configs/snps_arc700_axs101_defconfig             |  1 +
 configs/snps_archs38_axs103_defconfig            |  1 +
 configs/snps_archs38_vdk_defconfig               |  1 +
 configs/solidrun_macchiatobin_mainline_defconfig |  1 +
 configs/solidrun_macchiatobin_marvell_defconfig  |  1 +
 configs/ts4900_defconfig                         |  2 ++
 linux/Config.in                                  | 26 ++++++++++++++++++++++++
 linux/linux.mk                                   | 11 ++++++++--
 22 files changed, 59 insertions(+), 2 deletions(-)

-- 
2.14.3



More information about the buildroot mailing list