[mira_talk] Re: Problem when compile mira 3.2.1

  • From: Robert Bruccoleri <bruc@xxxxxxxxxxxxxxxxxxxxx>
  • To: mira_talk@xxxxxxxxxxxxx
  • Date: Tue, 18 Jan 2011 07:41:10 -0500

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> 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) 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))
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



begin:vcard
fn:Robert Bruccoleri
n:Bruccoleri;Robert
org:Audacious Energy, LLC and Congenomics, LLC
adr:;;;;;;USA
email;internet:bruc@xxxxxxx
title:President
version:2.1
end:vcard

Other related posts: