Weird bmake behaviour from within installworld

Paul Herman pherman at frenchfries.net
Wed Aug 6 11:22:03 UTC 2014


[...note not subscribed...]

> Ollivier Robert <roberto at keltia.freenix.fr> writes:
> > ub_c_lex_destroy() in daemon.c is used through LEX_HAS_YYLEX_DESTROY
> > but never defined.  MFH issue?
>
> ub_c_lex_destroy() is in libunbound and is generated at build time by
> flex, see /usr/obj/usr/src/lib/libundound/configlexer.c.

It *should* be, but it isn't. This is because yylex_destroy() isn't in 
flex 2.5.4 (9-STABLE) but it is in 2.5.37 (10-STABLE).

9-STABLE:
[pherman at cow ~]$ echo %% | lex -t | grep yylex_destroy
[pherman at cow ~]$ flex -V
flex version 2.5.4
[pherman at cow ~]$ nm /usr/obj/usr/src/lib/libunbound/configlexer.o | grep 
destroy
[pherman at cow ~]

10-STABLE:
[pherman at tom ~]$ echo %% | lex -t | grep yylex_destroy
int yylex_destroy (void );
[...]
[pherman at tom ~]$ flex -V
flex 2.5.37
[pherman at tom ~]$ nm /usr/obj/usr/src/lib/libunbound/configlexer.o | grep 
destroy
0000000000003d80 T ub_c_lex_destroy

Also, updating base flex to 2.5.37 didn't help me.

  I've found that removing / undef-ing:

   /* if lex has yylex_destroy */
   #define LEX_HAS_YYLEX_DESTROY 1

from /usr/src/contrib/unbound/config.h allows the build to complete, 
although not sure what kind of side effects this causes.

Cheers,

-Paul.


More information about the freebsd-stable mailing list