Re: NanoBSD: CURRENT unable to compile 13-STABLE : error: a function definition without a prototype is deprecated ... in C

From: FreeBSD User <freebsd_at_walstatt-de.de>
Date: Mon, 27 Feb 2023 21:10:02 UTC
Am Mon, 27 Feb 2023 20:57:19 +0100
Dimitry Andric <dim@FreeBSD.org> schrieb:

> On 27 Feb 2023, at 19:19, FreeBSD User <freebsd@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?
> 
> -Dimitry
> 

Using a subtree "./src" withing the tree of our own repository for FreeBSD's sources, it is a
git submodule.

According to your question about specific src.conf and make.conf - Sometimes I really do not
know what NanoBSD or any cross compiling tool is picking up which one: the host's one or the
one supposed to control NanoBSD's build.

So, the host itself does have a specific /etc/src.conf, make.conf is only about some ports
options to apply for the host.
For the NanoBSD sources, it is considered one file, a merger of make.conf, src.conf, and yes,
those ones or in that case this one is highly customized due to spefici requirements for space
reduction. Since that has been in the past a source of evil, I tried also with a "vanilla"
setup of this sepcific NanoBSD driven config (the host's src.conf/make.conf has been left
untouched) - in other words, deleting it, making a full fledged kernel/base system with all
the compiler settings at FreeBSD's default - with the same result as shown above.

Can you hint me towards what to look after in specific?

Kind regards,

Oliver

-- 
O. Hartmann