Skip to contentSkip to conversation

u-boot-tools: fix compile error

PATCH In review [email protected] 2 participants 3 messages Nov 30, 2018 – Dec 6, 2018

lore
Share & tools
lore
#0 lore raw

cover u-boot-tools: fix compile error

From: Kai Kang <[email protected]>

The following changes since commit 41d89552620bfbc94031d314e6b3d0324f7a330e:

bitbake: fetch2: Avoid warning about incorrect character escaping in regex (2018-11-27 22:15:34 +0000)

are available in the Git repository at:

git://git.pokylinux.org/poky-contrib kangkai/uboot
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kangkai/uboot

Kai Kang (1):
u-boot-tools: fix compile error

 meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
Signature · 1 line
2.19.0.rc2
#1 lore raw

PATCH 1/1 u-boot-tools: fix compile error

From: Kai Kang <[email protected]>

It uses sandbox_defconfig to produce u-boot tools. But EFI is only supported by arm and x86, then it fails to run task do_compile on other arches:

| include/config_distro_bootcmd.h:267:3: error: #error "sandbox EFI | support is only supported on ARM and x86"

Only enable EFI support for u-boot-tools on x86 and arm to fix the issue.

---
 meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb +8 -1
index 127c4c15d1..7893d2aebc 100644
@@ -17,13 +17,20 @@ EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS
 EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
 EXTRA_OEMAKE_class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
 
+SED_CONFIG_EFI = '-e "s/CONFIG_EFI_LOADER=.*/# CONFIG_EFI_LOADER is not set/"'
+SED_CONFIG_EFI_x86 = ''
+SED_CONFIG_EFI_x86-64 = ''
+SED_CONFIG_EFI_arm = ''
+SED_CONFIG_EFI_armeb = ''
+SED_CONFIG_EFI_aarch64 = ''
+
 do_compile () {
 	oe_runmake sandbox_defconfig
 
 	# Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
 	# generating it requires bin2header tool, which for target build
 	# is built with target tools and thus cannot be executed on host.
-	sed -i "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" .config
+	sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} .config
 
 	oe_runmake cross_tools NO_SDL=1
 }
Signature · 1 line
2.19.0.rc2
#2 lore raw

Richard,

Please pick this patch up. This fixes the build issue for this recipe on every architecture besides arm/x86
e.g. see http://errors.yoctoproject.org/Errors/Details/203569/

Quoted 51 lines · On Thu, Nov 29, 2018 at 5:59 PM <[email protected]> wrote:

From: Kai Kang <[email protected]>

It uses sandbox_defconfig to produce u-boot tools. But EFI is only supported by arm and x86, then it fails to run task do_compile on other arches:

| include/config_distro_bootcmd.h:267:3: error: #error "sandbox EFI | support is only supported on ARM and x86"

Only enable EFI support for u-boot-tools on x86 and arm to fix the issue.

---
 meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
meta/recipes-bsp/u-boot/u-boot-tools_2018.11.bb +8 -2
index 127c4c15d1..7893d2aebc 100644
@@ -17,13 +17,20 @@ EXTRA_OEMAKE_class-target = 'CROSS_COMPILE="${TARGET_PREFIX}" CC="${CC} ${CFLAGS
 EXTRA_OEMAKE_class-native = 'CC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
 EXTRA_OEMAKE_class-nativesdk = 'CROSS_COMPILE="${HOST_PREFIX}" CC="${CC} ${CFLAGS} ${LDFLAGS}" HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" STRIP=true V=1'
 
+SED_CONFIG_EFI = '-e "s/CONFIG_EFI_LOADER=.*/# CONFIG_EFI_LOADER is not set/"'
+SED_CONFIG_EFI_x86 = ''
+SED_CONFIG_EFI_x86-64 = ''
+SED_CONFIG_EFI_arm = ''
+SED_CONFIG_EFI_armeb = ''
+SED_CONFIG_EFI_aarch64 = ''
+
 do_compile () {
        oe_runmake sandbox_defconfig
 
        # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
        # generating it requires bin2header tool, which for target build
        # is built with target tools and thus cannot be executed on host.
-       sed -i "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" .config
+       sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} .config
 
        oe_runmake cross_tools NO_SDL=1
 }
--

2.19.0.rc2

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core