[mira_talk] Re: Trouble building Mira 3.2.0

  • From: Scott Michael <scamicha@xxxxxxxxxxx>
  • To: <mira_talk@xxxxxxxxxxxxx>
  • Date: Mon, 07 Mar 2011 12:23:37 -0500

Hello again,

Sorry to reply to my own thread, but I seem to have solved the problem. Even
though I had a current version of flex installed and in my path, the include
was picking up the system version in /usr/include. So the header files were
from flex 2.5.4 and didn't have all of the function definitions. Adding
-I/N/soft/linux-rhel4-x86_64/mira-3.2.1/flex-2.5.35/include/ to the CPPFLAGS
to point at my installed version of flex seemed to have fixed things.

On a related note I also needed
-I/N/soft/linux-rhel4-x86_64/mira-3.2.1/expat-2.0.1/include/ in my CPPFLAGS
even though I had set ?with-expat. It seems the ?with-expat flag doesn't add
the include directory along with the bin and lib directories?

-- Scott


From:  Scott Michael <scamicha@xxxxxxxxxxx>
Reply-To:  <mira_talk@xxxxxxxxxxxxx>
Date:  Mon, 07 Mar 2011 11:50:41 -0500
To:  <mira_talk@xxxxxxxxxxxxx>
Subject:  [mira_talk] Trouble building Mira 3.2.0

> Hello all,
> 
> I'm trying to build Mira 3.2.1 on our supercomputing cluster for one of our
> customers, but I have run into a bit of trouble. All of the system libs are
> rather old as the cluster runs RHEL4. I've installed flex-2.5.35, google
> perftools-1.5, libunwind-0.99, and boost-1.46.0 in my home directory. Added
> flex to my path, linked flex++ to flex, configured with
> 
>  ./configure --prefix=/N/soft/linux-rhel4-x86_64/mira-3.2.1/
> --with-boost=/N/soft/linux-rhel4-x86
> _64/mira-3.2.1/boost-1.46.0
> --with-boost-libdir=/N/soft/linux-rhel4-x86_64/mira-3.2.1/boost-1.46.0/l
> ib 
> --with-tcmalloc-dir=/N/soft/linux-rhel4-x86_64/mira-3.2.1/gperftool-1.5/lib/
> 
> Which said I was good to go. The problem arises with the make which gives?
> 
> scamicha@b002|11:46am> make
> Making all in src
> make[1]: Entering directory `/N/dcwan/scratch/scamicha/builds/mira-3.2.1/src'
> Making all in lec
> make[2]: Entering directory
> `/N/dcwan/scratch/scamicha/builds/mira-3.2.1/src/lec'
> make[2]: Nothing to be done for `all'.
> make[2]: Leaving directory
> `/N/dcwan/scratch/scamicha/builds/mira-3.2.1/src/lec'
> Making all in io
> make[2]: Entering directory
> `/N/dcwan/scratch/scamicha/builds/mira-3.2.1/src/io'
> g++ -DPACKAGE_NAME=\"mira\" -DPACKAGE_TARNAME=\"mira\"
> -DPACKAGE_VERSION=\"3.2.1\" -DPACKAGE_STRING=\"mira\ 3.2.1\"
> -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"mira\"
> -DVERSION=\"3.2.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
> -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
> -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
> -DLT_OBJDIR=\".libs/\" -DYYTEXT_POINTER=1 -DSTDC_HEADERS=1 -DHAVE__BOOL=1
> -DHAVE_STDBOOL_H=1 -Drestrict=__restrict -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1
> -DHAVE_STDLIB_H=1 -DHAVE_REALLOC=1 -DLSTAT_FOLLOWS_SLASHED_SYMLINK=1
> -DHAVE_STRFTIME=1 -DHAVE_MEMSET=1 -DHAVE_ISBLANK=1 -DHAVE_NAMESPACES=/\*\*/
> -DHAVE_STD=/\*\*/ -DHAVE_STL=/\*\*/ -DHAVE_LIBZ=1 -DHAVE_BOOST=/\*\*/
> -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_REGEX=/\*\*/ -DDEVELOPMENTVERSION=0
> -DBOUNDTRACKFLAG=1 -DBUGTRACKFLAG=1 -DENABLE64=1 -I. -I../../src
> -I/usr/include  -DPUBLICQUIET -DAJ_Linux64
> -I/N/soft/linux-rhel4-x86_64/mira-3.2.1/include -O3 -funroll-loops -pthread
> -I/N/soft/linux-rhel4-x86_64/mira-3.2.1/boost-1.46.0/include -MT exp_flexer.o
> -MD -MP -MF .deps/exp_flexer.Tpo -c -o exp_flexer.o exp_flexer.cc
> exp_flexer.cc:315: error: no 'int EXPFlexLexer::yywrap()' member function
> declared in class 'EXPFlexLexer'
> exp_flexer.cc: In member function 'virtual int EXPFlexLexer::yylex()':
> exp_flexer.cc:756: error: 'yy_buffer_stack' was not declared in this scope
> exp_flexer.cc:756: error: 'yy_buffer_stack_top' was not declared in this scope
> exp_flexer.cc:757: error: 'yyensure_buffer_stack' was not declared in this
> scope
> .
> .
> .
> exp_flexer.cc:1970: error: 'yy_buffer_stack' was not declared in this scope
> exp_flexer.cc:1985: error: 'yy_buffer_stack_max' was not declared in this
> scope
> exp_flexer.cc:1986: error: 'yy_buffer_stack_top' was not declared in this
> scope
> exp_flexer.cc:1990: error: 'yy_buffer_stack_top' was not declared in this
> scope
> exp_flexer.cc:1990: error: 'yy_buffer_stack_max' was not declared in this
> scope
> exp_flexer.cc:1996: error: 'yy_buffer_stack' was not declared in this scope
> make[2]: *** [exp_flexer.o] Error 1
> make[2]: Leaving directory
> `/N/dcwan/scratch/scamicha/builds/mira-3.2.1/src/io'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/N/dcwan/scratch/scamicha/builds/mira-3.2.1/src'
> make: *** [all-recursive] Error 1
> 
> My guess was that there was a problem with the setting of flex so I tried
> setting the environment variable FLEX but that didn't help. Versions of flex
> and flex++ match
> scamicha@b002|11:46am> flex -V
> flex 2.5.35
> scamicha@b002|11:48am> flex++ -V
> flex++ 2.5.35
> 
> System info:
> Linux b002 2.6.9_78.0.22.EL_lustre.1.6.7.2_custom #6 SMP Mon Nov 9 14:28:25
> EST 2009 x86_64 x86_64 x86_64 GNU/Linux
> 
> I also tried mira 3.2.0 because I read that the flexing was different, but I
> got the same error. Any help would be greatly appreciated.
> 
> -- Scott
> 


Other related posts: