From: Todd C. Miller Date: Sun, 4 Feb 1996 21:13:17 +0000 (+0000) Subject: updated wrt lex/flex X-Git-Tag: SUDO_1_5_0~290 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b220613b8b222b76733e02628d84af10d1a6703c;p=sudo updated wrt lex/flex --- diff --git a/README b/README index a6c167598..f508e1807 100644 --- a/README +++ b/README @@ -37,10 +37,10 @@ System requirements Sudo requires a machine running UN*X (most flavors of BSD, SYSV, or POSIX will do), a C compiler, and a yacc-compatible parser generator -(yacc, byacc, bison). If you wish to modify the tokenizer then a -version of lex or flex is required (sudo comes with a pre-flex'd -tokenizer). Note that there are a lot of broken lex's out there -so I really recommend using flex (ftp://ftp.ee.lbl.gov/pub/flex*). +(yacc, byacc, bison). If you wish to modify the tokenizer then you +will need flex version 2.5.2 or later. (sudo comes with a pre-flex'd +tokenizer). You can get flex via anonymous ftp from +ftp://ftp.ee.lbl.gov/pub/flex* as well as any GNU mirror. Building the release =================== diff --git a/TROUBLESHOOTING b/TROUBLESHOOTING index 3eb45d0e5..a0ccd3406 100644 --- a/TROUBLESHOOTING +++ b/TROUBLESHOOTING @@ -79,13 +79,6 @@ A) Yes, the s/key support requires that you use tgetpass() since to get tgetpass() to work, send mail to sudo-bugs@cs.colorado.edu if you need help. -Q) I overwrote the distributed lex.yy.c with a lex-generated one and - now sudo does not work. -A) The simplest thing to do is "rm -f lex.yy.c ; ln sudo-lex.yy.c lex.yy.c" - which will set you back up with a pre-flexed lex.yy.c. - If you want to hack on the lexer you should get a copy of flex - from ftp.ee.lbl.gov - Q) My C compiler complains about: "./options.h", line xx "/*" detected in comment Should I be worried? @@ -93,3 +86,11 @@ A) No, this is due to the way options are commented out in options.h. Some ANSI compilers are just a bit too protective. If anyone have a better way to that is just as easy to uncomment and that doesn't produce a similar warning, please let me know. + +Q) I modified parse.lex but the Makefile is not generating a new + lex.yy.c. +A) You need to uncomment the rule in Makefile (or Makefile.in) + that generates lex.yy.c from parse.lex. This is not enable + by default since sudo comes with a pre-flex'd parse.lex. + May sure you are using flex version 2.5.2 or higher--the + lex that came with your OS may not like parse.lex.