On Feb 27, 2023, at 2:57 PM, Dimitry Andric <d...@freebsd.org> wrote:

> On 27 Feb 2023, at 19:19, FreeBSD User <free...@walstatt-de.de> wrote:
>> 
>> Running recent CURRENT as host (FreeBSD 14.0-CURRENT #23 
>> main-n261147-b8bb73ab724b: Sun Feb 26
>> 17:39:38 CET 2023 amd64), and nanoBSD (recent 13-STABLE, git stable/13).
>> 
>> Building an appliance based on 13-STABLE sources, a customized kernel via 
>> nanoBSD, since a
>> couple of weeks for now building the sources fails in kernel sources:
>> 
>> [...]
>> --- modules-all ---
>> --- all_subdir_an ---
>> /pool/home/ohartmann/Projects/router/router/apu2c4/src/sys/dev/an/if_an_pci.c:143:1:
>>  error: a
>> function definition without a prototype is deprecated in all versions of C 
>> and is not
>> supported in C2x [-Werror,-Wdeprecated-non-prototype]
>> [..]
>> 
>> Disabling all wireless options in the kernel config starts dropping errors 
>> of a similar kind
>> on other kernel places.
>> 
>> Compiling on FBSD 13-STABLE seems to be all right.
>> 
>> Can this be fixed. please? What causes the error and how can this be 
>> resolved if the subtree
>> of FreeBSD's sources is a submodule?
> 
> Not sure what you mean with "subtree is a submodule", but this is likely
> caused by skipping the cross-tools stage somehow. Do you have any
> specific make.conf or src.conf settings for that?


I got bitten by this recently.  In my case, it was Poudriere (running on 
14-CURRENT) trying to build a 13-STABLE jail.  The Poudriere jail's "src.conf" 
was taken from the actual system for which Poudriere builds packages.  It had 
(amongst others) these two options:

WITH_SYSTEM_COMPILER=yes
WITHOUT_CROSS_COMPILER=yes


When I commented these out in the jail-src.conf Poudriere file the jail built 
correctly.

I figure the system built fine because its system compiler is LLVM 14.x.  The 
Poudriere system compiler is LLVM 15.x, which has the breaking change wrt. 
old-style prototypes.

Cheers,

Paul.

Reply via email to