Date: Mon, 07 Aug 2023 16:38:36 -0700 From: James Gritton <jamie@freebsd.org> To: FreeBSD Current <freebsd-current@freebsd.org> Cc: Yoshihiro Ota <ota@j.email.ne.jp>, Dimitry Andric <dim@freebsd.org> Subject: Re: Jail compile error on CURRENT? Message-ID: <b6e0e4233d745f70e50477f92db394dd@freebsd.org> In-Reply-To: <C4FC6C3D-73E2-4824-8D56-02B1FF60D5A6@FreeBSD.org> References: <20230806225055.bbccc4fc13e41f50ec524621@j.email.ne.jp> <C4FC6C3D-73E2-4824-8D56-02B1FF60D5A6@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2023-08-07 13:29, Dimitry Andric wrote: > On 7 Aug 2023, at 04:50, Yoshihiro Ota <ota@j.email.ne.jp> wrote: >> >> Am I the only one seeing this error? >> I'm on 12.4-RELEASE amd64 and building CURRENT as of now. >> >> jaillex.c:2228:43: error: unused parameter 'yyscanner' >> [-Werror,-Wunused-parameter] >> void *yyalloc (yy_size_t size , yyscan_t yyscanner) >> ^ >> jaillex.c:2233:58: error: unused parameter 'yyscanner' >> [-Werror,-Wunused-parameter] >> void *yyrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner) >> ^ >> jaillex.c:2245:36: error: unused parameter 'yyscanner' >> [-Werror,-Wunused-parameter] >> void yyfree (void * ptr , yyscan_t yyscanner) >> ^ >> 6 errors generated. >> *** [jaillex.o] Error code 1 >> > > It seems you are not crazy. :) I can reproduce the error, and I think > it > might be caused by: > > https://cgit.freebsd.org/src/commit/?id=086e0149ae56641af245ce472e787c2f67d3aea5 > > However, as to why this does not result in an error (or even a warning) > on -CURRENT, I have no clue. Maybe in the mean time flex in -CURRENT > got > updated... That is indeed the culprit. Fortunately, it builds from 13.2-RELEASE, so building CURRENT from 12 can be done in two steps. I hate to be the reason the update doesn't work directly, but the include capability I added to jail(8) requires re-entrant lex, which apparently managed to work around the error in 13. They reason it doesn't give a warning BTW is these two lines that lex adds: struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; (void)yyg; That makes yyscanner officially "used" even though its value is never actually read. I suspect the version of lex in 12.4-RELEASE doesn't have one or both of those lines. Perhaps you could add such lines to the offending functions yourself, and continue the make. Or maybe build (and install) lex on its own first; by the time you see this error, there should already be a newer version of lex you could pop into place. There's probably something I should do to make this work better, or perhaps some note I should put into UPDATING before 14.0 is released. - Jamie
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b6e0e4233d745f70e50477f92db394dd>