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 >