Dear coreboot folks,
Trying to run `make test-abuild` on my system with a 32-bit userspace, it looks like quite some boards require the program futility from `util/futility`, but that fails to build with the error below.
``` /dev/shm/coreboot/util/futility(master) $ git describe 4.6-1292-g5bf3457bc4 /dev/shm/coreboot/util/futility(master) $ LANG= make MAKE futility/build/futility/futility unset CFLAGS LDFLAGS; make -C /dev/shm/coreboot/3rdparty/vboot \ BUILD=/dev/shm/coreboot/util/futility/build \ CC="cc" \ V= \ /dev/shm/coreboot/util/futility/build/futility/futility make[1]: Entering directory '/dev/shm/coreboot/3rdparty/vboot' CC futility/futility.o CC futility/cmd_dump_fmap.o CC futility/cmd_gbb_utility.o CC futility/misc.o CC futility/ryu_root_header.o CC futility/cmd_bdb.o CC futility/cmd_create.o CC futility/cmd_dump_kernel_config.o CC futility/cmd_load_fmap.o CC futility/cmd_pcr.o CC futility/cmd_show.o CC futility/cmd_sign.o CC futility/cmd_validate_rec_mrc.o CC futility/cmd_vbutil_firmware.o CC futility/cmd_vbutil_kernel.o CC futility/cmd_vbutil_key.o CC futility/cmd_vbutil_keyblock.o CC futility/file_type.o CC futility/file_type_bios.o CC futility/file_type_rwsig.o CC futility/file_type_usbpd1.o CC futility/vb1_helper.o CC futility/vb2_helper.o CC futility/bdb_helper.o GEN gen/futility_cmds.c CC gen/futility_cmds.o CC cgpt/cgpt_create.o CC cgpt/cgpt_add.o CC cgpt/cgpt_boot.o CC cgpt/cgpt_show.o CC cgpt/cgpt_repair.o CC cgpt/cgpt_prioritize.o CC cgpt/cgpt_common.o CC futility/dump_kernel_config_lib.o make[1]: *** No rule to make target '/dev/shm/coreboot/util/futility/build/host/arch/i686/lib/crossystem_arch.o', needed by '/dev/shm/coreboot/util/futility/build/libvboot_util.a'. Stop. make[1]: Leaving directory '/dev/shm/coreboot/3rdparty/vboot' Makefile.inc:4: recipe for target '/dev/shm/coreboot/util/futility/build/futility/futility' failed make: *** [/dev/shm/coreboot/util/futility/build/futility/futility] Error 2 ```
I haven’t tested this yet with a 64-bit userspace, but assume that works. Does somebody have a fix?
Thanks,
Paul
Hi,
Le jeudi 31 août 2017 à 08:13 +0200, Paul Menzel a écrit :
Dear coreboot folks,
Trying to run `make test-abuild` on my system with a 32-bit userspace, it looks like quite some boards require the program futility from `util/futility`, but that fails to build with the error below.
/dev/shm/coreboot/util/futility(master) $ git describe 4.6-1292-g5bf3457bc4 /dev/shm/coreboot/util/futility(master) $ LANG= make MAKE futility/build/futility/futility unset CFLAGS LDFLAGS; make -C /dev/shm/coreboot/3rdparty/vboot \ BUILD=/dev/shm/coreboot/util/futility/build \ CC="cc" \ V= \ /dev/shm/coreboot/util/futility/build/futility/futility make[1]: Entering directory '/dev/shm/coreboot/3rdparty/vboot' CC futility/futility.o CC futility/cmd_dump_fmap.o CC futility/cmd_gbb_utility.o CC futility/misc.o CC futility/ryu_root_header.o CC futility/cmd_bdb.o CC futility/cmd_create.o CC futility/cmd_dump_kernel_config.o CC futility/cmd_load_fmap.o CC futility/cmd_pcr.o CC futility/cmd_show.o CC futility/cmd_sign.o CC futility/cmd_validate_rec_mrc.o CC futility/cmd_vbutil_firmware.o CC futility/cmd_vbutil_kernel.o CC futility/cmd_vbutil_key.o CC futility/cmd_vbutil_keyblock.o CC futility/file_type.o CC futility/file_type_bios.o CC futility/file_type_rwsig.o CC futility/file_type_usbpd1.o CC futility/vb1_helper.o CC futility/vb2_helper.o CC futility/bdb_helper.o GEN gen/futility_cmds.c CC gen/futility_cmds.o CC cgpt/cgpt_create.o CC cgpt/cgpt_add.o CC cgpt/cgpt_boot.o CC cgpt/cgpt_show.o CC cgpt/cgpt_repair.o CC cgpt/cgpt_prioritize.o CC cgpt/cgpt_common.o CC futility/dump_kernel_config_lib.o make[1]: *** No rule to make target '/dev/shm/coreboot/util/futility/build/host/arch/i686/lib/crossystem_a rch.o', needed by '/dev/shm/coreboot/util/futility/build/libvboot_util.a'. Stop. make[1]: Leaving directory '/dev/shm/coreboot/3rdparty/vboot' Makefile.inc:4: recipe for target '/dev/shm/coreboot/util/futility/build/futility/futility' failed make: *** [/dev/shm/coreboot/util/futility/build/futility/futility] Error 2
I haven’t tested this yet with a 64-bit userspace, but assume that works. Does somebody have a fix?
Yeah sure, I'll craft one and submit it to upstream vboot soon.
Hi again,
Le jeudi 31 août 2017 à 09:30 +0300, Paul Kocialkowski a écrit :
Le jeudi 31 août 2017 à 08:13 +0200, Paul Menzel a écrit :
I haven’t tested this yet with a 64-bit userspace, but assume that works. Does somebody have a fix?
Yeah sure, I'll craft one and submit it to upstream vboot soon.
It's up at: https://chromium-review.googlesource.com/#/c/645086/
Googlers, feel free to review :)
Cheers,
Dear Paul,
Am Donnerstag, den 31.08.2017, 09:36 +0300 schrieb Paul Kocialkowski:
Le jeudi 31 août 2017 à 09:30 +0300, Paul Kocialkowski a écrit :
Le jeudi 31 août 2017 à 08:13 +0200, Paul Menzel a écrit :
I haven’t tested this yet with a 64-bit userspace, but assume that works. Does somebody have a fix?
Yeah sure, I'll craft one and submit it to upstream vboot soon.
It's up at: https://chromium-review.googlesource.com/#/c/645086/
Googlers, feel free to review :)
Thank you for the quick reaction.
Tested-by: Paul Menzel paulepanter@users.sourceforge.net
Thanks,
Paul
FWIW, there should be no reason to build crossystem as part of coreboot's compile-time utilities at all. crossystem is a helper meant to run on the target device (the one that uses vboot-enabled firmware), it doesn't make any sense to have it on the build machine. We should fix the Makefiles so that they don't even pull this in, so that coreboot can also be built on architectures that crossystem doesn't support at all (e.g. SPARC or whatever). futility itself just does some crypto stuff and should have no architecture-specific components.