On 10/19/21 8:07 PM, Tianon Gravi wrote:
> 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?

I need to update my build environment to reproduce the problem. I expect
that once I do, I'll fix it upstream. I suspect that either some
conditional statements around the definition or renaming my own
in-source definition to something else will fix it.

I'll try to take a look at it this weekend.

> 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
>>


-- 
Rod Smith
rodsm...@rodsbooks.com
http://www.rodsbooks.com

Reply via email to