Hi, I did all the steps as following: make distclean ln -s `which flex` flex; ln -s `which flex` flex++ export PATH=/tmp/xiaoli/mira-3.2.1:$PATH ./configure --enable-mirastatic --with-boost-regex=no --prefix=/programe/mira-3.2.1 --with-boost=/programe/boost-1.4.3 make But still get the same errors when compile: exp_flexer.cc: In member function 'virtual int EXPFlexLexer::yylex()': exp_flexer.cc:759: error: 'yy_buffer_stack' was not declared in this scope exp_flexer.cc:759: error: 'yy_buffer_stack_top' was not declared in this scope exp_flexer.cc:760: error: 'yyensure_buffer_stack' was not declared in this scope exp_flexer.cc:781: error: 'yy_buffer_stack' was not declared in this scope exp_flexer.cc:781: error: 'yy_buffer_stack_top' was not declared in this scope …… Xiaoli Martin Mokrejs <mmokrejs@xxxxxxxxxxxxxxxxxx> wrote: >There was mistakenly a semicolon instead of : , redo it all again with >the correct >command as below: > >export PATH=/tmp/xiaoli:$PATH > >martin > > >Xiaoli Zhang wrote: >> Dear Robert, >> >> But if did this way. flex and flex++ can be found under /tmp/xiaoli, >other commands cannot be found any more. (sed, expr, rm, make ....) >> >> So I should link all the commands existed in the counfigure file? >> >> Xiaoli >> >> Robert Bruccoleri <bruc@xxxxxxxxxxxxxxxxxxxxx> wrote: >> >>> >>> Dear Xiaoli, >>> >>> The version of flex only matters when you are compiling mira, not >>> when it is being run. Here's an example way that you can do it (assume >>> you are running Bash): >>> >>> >>> >>> mkdir /tmp/xiaoli >>> >>> (cd /tmp/xiaoli; ln -s `which flex` flex; ln -s `which flex` flex++) >>> >>> export PATH=/tmp/xiaoli;$PATH >>> >>> >>> >>> At this point you can build mira with a consistent 'flex' and 'flex++' >>> >>> >>> >>> When done, delete /tmp/xiaoli >>> >>> >>> >>> I hope this is helpful. >>> >>> >>> >>> Regards, >>> >>> Bob >>> >>> >>> >>> Xiaoli Zhang wrote: >>> >>> Hi, >>> >>> Thank you Robert. >>> >>> But if I want to install mira in a public system where several versions >of >>> flex exist. >>> Is it possible to give the right version of flex with path to the >configure >>> file. >>> If it is poosible, what do I need to do? >>> >>> Xiaoli >>> >>> Robert Bruccoleri <bruc@xxxxxxxxxxxxxxxxxxxxx> >>> (mailto:bruc@xxxxxxxxxxxxxxxxxxxxx) wrote: >>> >>> >>> >>> Dear Xiaoli, >>> >>> Xiaoli Zhang wrote: >>> >>> Dear Robert, >>> >>> Thanks for your patient. >>> >>> Do you mean after I make the flex and flex++ match with each other and >then >>> do the ./configure again and after these then run the rm as a single >>> command on top of mira directory? >>> >>> >>> Slightly different. Here's the order: >>> >>> >>> 1. Make flex and flex++ match. >>> >>> 2. Remove the lexers: >>> >>> change default directory (cd) to the mira-3.2.1 directory >>> >>> rm `find . -iname '*flexer.cc'` >>> >>> 3. Run configure >>> >>> 4. Make mira. >>> >>> >>> Regards, >>> >>> Bob >>> >>> >>> >>> >>> Xiaoli >>> >>> Robert Bruccoleri <bruc@xxxxxxxxxxxxxxxxxxxxx> >>> (mailto:bruc@xxxxxxxxxxxxxxxxxxxxx) >>> (mailto:bruc@xxxxxxxxxxxxxxxxxxxxx (mailto:bruc@xxxxxxxxxxxxxxxxxxxxx)) >>> wrote: >>> >>> >>> >>> Dear Xiaoli, >>> >>> The Flex mismatch is the problem. 2.5.33 and 2.5.4 generate >>> different lexers, and they are not compatible. >>> >>> On my system, they are the same program, which flex++ being a >>> symbolic link to flex. >>> >>> You will need to modify your shell's path to ensure that flex and >>> flex++ point to the same executable for Flex 2.5.33. In addition, you >>> will have to delete the flex output within the mira distribution so it >>> will remake the lexers from the lex source code. That's why you need to >>> execute the 'rm' command below. >>> >>> With regard to your question below, execute the 'rm' command first >>> before you configure mira for compilation. You do not have to modify >>> the configure script. >>> >>> Regards, >>> >>> Bob >>> >>> >>> Xiaoli Zhang wrote: >>> >>> Robert Bruccoleri <bruc@xxxxxxxxxxxxxxxxxxxxx> >>> (mailto:bruc@xxxxxxxxxxxxxxxxxxxxx) >>> (mailto:bruc@xxxxxxxxxxxxxxxxxxxxx (mailto:bruc@xxxxxxxxxxxxxxxxxxxxx)) >>> (mailto:bruc@xxxxxxxxxxxxxxxxxxxxx (mailto:bruc@xxxxxxxxxxxxxxxxxxxxx) >>> (mailto:bruc@xxxxxxxxxxxxxxxxxxxxx (mailto:bruc@xxxxxxxxxxxxxxxxxxxxx))) >>> wrote: >>> >>> >>> Dear Xiaoli, >>> >>> This could be due to a mismatch between Flex and Flex++ versions. >>> Try the following: >>> >>> flex -V >>> >>> flex++ -V >>> >>> >>> >>> Yes, my flex 2.5.33 and flex++ version 2.5.4 >>> >>> Is that a must these two versions should be match each other? >>> >>> >>> Also, prior to the configure, try the following: >>> rm `find . -iname '*flexer.cc'` >>> >>> >>> >>> I am not very understand this. Is that meaning open the configure file >and >>> remove all the *flexer.cc ? >>> >>> Thanks. >>> >>> Xiaoli >> >> > >-- >You have received this mail because you are subscribed to the mira_talk >mailing list. For information on how to subscribe or unsubscribe, please >visit http://www.chevreux.org/mira_mailinglists.html > -- You have received this mail because you are subscribed to the mira_talk mailing list. For information on how to subscribe or unsubscribe, please visit http://www.chevreux.org/mira_mailinglists.html