Re: NanoBSD: CURRENT unable to compile 13-STABLE : error: a function definition without a prototype is deprecated ... in C
- Reply: Dimitry Andric : "Re: NanoBSD: CURRENT unable to compile 13-STABLE : error: a function definition without a prototype is deprecated ... in C"
- In reply to: Dimitry Andric : "Re: NanoBSD: CURRENT unable to compile 13-STABLE : error: a function definition without a prototype is deprecated ... in C"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 27 Feb 2023 21:23:40 UTC
On Feb 27, 2023, at 2:57 PM, Dimitry Andric <dim@FreeBSD.org> wrote: > 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? 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.