[Bug 267842] sysutils/u-boot-tools: error: typedef redefinition with different types ('uint64_t' (aka 'unsigned long') vs 'unsigned long long')

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 18 Nov 2022 21:10:49 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267842

--- Comment #3 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
Looks to me like the port does not deal with being set up to
find some of its own include files in a reliable way.

Note: my wrkdir example is using 2022.04 instead of 2020.07
for U-Boot. I'm not aware that such would make any difference
for what I refer to.

The u-boot-tools source code has its own types.h file:

/wrkdirs/usr/ports/sysutils/u-boot-tools/work/u-boot-2022.04/include/linux/types.h

In your type of reported output that would have been shown
as:

include/linux/types.h

But your output reports the following instead:

/usr/local/include/linux/types.h

In a poudriere bulk build there would be no:

/usr/local/include/linux/types.h

to find and:

include/linux/types.h

would have been found and used instead. (This is why
the official builds on the build server work.)

Summary: the port is  not set up to deal with there
being a:

/usr/local/include/linux/types.h

from another port with content that disagrees with the
port's own:

include/linux/types.h

The port needs to be changed to find:

include/linux/types.h

instead of finding:

/usr/local/include/linux/types.h

when such a file does exist.

A workaround is to use poudriere (or analogous) to build
the port, effectively preventing:

/usr/local/include/linux/types.h

from being present in the build context (build jail) at
the time of the build.

-- 
You are receiving this mail because:
You are the assignee for the bug.