Ping. It's fairly straightforward once you figure it out, but I lost half-an-hour looking at cproto before I figured out the cache problem. On Thu, Jun 25, 2026 at 12:26:31PM +0200, Marc Espie wrote: > I was trying to port cproto (port attached more or less) > and couldn't figure out why it broke. > > > Turns out the 3 tests for lex/flex are bogus ! specifically > they generate a lex.yy.c and only clean it up if the value > is not cached somewhere ! > > This is often not a problem, because normal builds rarely use > the generic lex.yy.c > > Enter cproto... > > > I'd advise removing those cache entries like so: > > Index: config.site > =================================================================== > RCS file: /build/data/openbsd/cvs/ports/infrastructure/db/config.site,v > diff -u -p -r1.34 config.site > --- config.site 30 Jul 2024 14:58:32 -0000 1.34 > +++ config.site 25 Jun 2026 10:23:15 -0000 > @@ -23,6 +23,10 @@ > #ac_cv_func_tigetstr=${ac_cv_func_tigetstr=yes} > # gnulib's stdbool.m4 disagrees for gcc2.95 > #ac_cv_header_stdbool_h=${ac_cv_header_stdbool_h=yes} > +# XXX all 3 lex tests are intertwined and don't clean up properly > +#ac_cv_prog_LEX=${ac_cv_prog_LEX=flex} > +#ac_cv_prog_lex_root=lex.yy > +#ac_cv_prog_lex_yytext_pointer=${ac_cv_prog_lex_yytext_pointer=yes} > ac_cv_accept_arg=${ac_cv_accept_arg=socklen_t} > ac_cv_argtype_accept3=${ac_cv_argtype_accept3=socklen_t *} > ac_cv_argtype_poll2=${ac_cv_argtype_poll2=nfds_t} > @@ -871,7 +875,6 @@ ac_cv_path_fp_prog_sort=${ac_cv_path_fp_ > ac_cv_path_passwd_program=${ac_cv_path_passwd_program=/usr/bin/passwd} > ac_cv_path_path_su=${ac_cv_path_path_su=/usr/bin/su} > ac_cv_prog_AWK=${ac_cv_prog_AWK=awk} > -ac_cv_prog_LEX=${ac_cv_prog_LEX=flex} > ac_cv_prog_PERL=${ac_cv_prog_PERL=/usr/bin/perl} > ac_cv_prog_SED=${ac_cv_prog_SED=/usr/bin/sed} > ac_cv_prog_SORT=${ac_cv_prog_SORT=sort} > @@ -885,7 +888,6 @@ ac_cv_prog_egrep=${ac_cv_prog_egrep='gre > ac_cv_prog_f77_g=${ac_cv_prog_f77_g=yes} > ac_cv_prog_gcc=${ac_cv_prog_gcc=yes} > ac_cv_prog_have_hp2ps=${ac_cv_prog_have_hp2ps=1} > -ac_cv_prog_lex_yytext_pointer=${ac_cv_prog_lex_yytext_pointer=yes} > ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set=yes} > ac_cv_sizeof_char=${ac_cv_sizeof_char=1} > ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8} > > > or else, if someone is brave enough to try to fix the autoconf macros > upstream, maybe in ten years, we'll have fixed aclocal and fixed autoconfs.
No comments:
Post a Comment