Hey Rod, this is an interesting one -- looking at the definitions of
the "EFI_DEVICE_PATH_UTILITIES_PROTOCOL" typedef in both refind's code
and grub-efi's, they appear to be compatible to me (which makes sense,
probably from the same original source?)

Is this something you plan to resolve in upstream refind source, or
something we should patch around downstream in Debian?

♥,
- Tianon
  4096R / B42F 6819 007F 00F8 8E36  4FD4 036A 9C25 BF35 7DD4

On Sun, 3 Oct 2021 at 04:15, Helmut Grohne <hel...@subdivi.de> wrote:
> Source: refind
> Version: 0.12.0-1
> Severity: serious
> Tags: ftbfs
>
> refind fails to build from source in unstable on amd64 and it also fails
> to cross build for arm64 for the same reason. A build ends as follows:
>
> | make[3]: Entering directory '/<<PKGBUILDDIR>>/EfiLib'
> | /usr/bin/gcc -Os -fno-strict-aliasing -fno-tree-loop-distribute-patterns 
> -fno-stack-protector -fshort-wchar -Wall -DEFIX64 -DEFI_FUNCTION_WRAPPER -m64 
> -mno-red-zone  -fpic -I/usr/include/efi -I/usr/include/efi/x86_64 
> -I/usr/include/efi/protocol -I../include -I../refind -I../libeg -I../mok -I. 
> -I./../include \
> |       -D__MAKEWITH_GNUEFI -c gnuefi-helper.c -o gnuefi-helper.o
> | In file included from gnuefi-helper.c:19:
> | DevicePathUtilities.h:229:3: error: conflicting types for 
> ‘EFI_DEVICE_PATH_UTILITIES_PROTOCOL’
> |   229 | } EFI_DEVICE_PATH_UTILITIES_PROTOCOL;
> |       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | In file included from /usr/include/efi/efi.h:61,
> |                  from gnuefi-helper.h:24,
> |                  from gnuefi-helper.c:18:
> | /usr/include/efi/efidevp.h:648:3: note: previous declaration of 
> ‘EFI_DEVICE_PATH_UTILITIES_PROTOCOL’ was here
> |   648 | } EFI_DEVICE_PATH_UTILITIES_PROTOCOL;
> |       |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | make[3]: *** [../Make.common:164: gnuefi-helper.o] Error 1
> | make[3]: Leaving directory '/<<PKGBUILDDIR>>/EfiLib'
> | make[2]: *** [Makefile:86: gnuefi] Error 2
> | make[2]: Leaving directory '/<<PKGBUILDDIR>>'
> | dh_auto_build: error: make -j1 gnuefi ARCH=x86_64 returned exit code 2
> | make[1]: *** [debian/rules:33: override_dh_auto_build] Error 25
> | make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> | make: *** [debian/rules:26: build] Error 2
> | dpkg-buildpackage: error: debian/rules build subprocess returned exit 
> status 2
>
> Also seen by crossqa:
> http://crossqa.debian.net
>
> Reproduced natively on arm64 by reproducible builds:
> https://tests.reproducible-builds.org/debian/rbuild/unstable/arm64/refind_0.12.0-1.rbuild.log.gz
>
> Helmut
>

Reply via email to