[Monetdb-developers] Error compiling MEL w/ flex 2.5.33 & bison 2.3

Stefan Manegold Stefan.Manegold at cwi.nl
Mon Oct 2 17:03:25 CEST 2006


On Mon, Oct 02, 2006 at 12:47:39PM +0200, Niels Nes wrote:
> On Mon, Oct 02, 2006 at 12:32:22PM +0200, Riham wrote:
> > Hi,
> > 
> > I am a new PhD student at the University of Twente. I am working with 
> > Dr. Maurice van Keulen on Optimizing Pathfinder queries. I was 
> > installing Monet on my new linux system and I got the following error:
> > 
> > ===========================================================================
> > kader at netloosewi840:~/home/MonetDB_XQuery_CVS/build/buildtools> make
> > cd 
> > ""/local/kader/home/MonetDB_XQuery_CVS/build/buildtools/../../src/buildtools"/autogen" 
> > && python setup.py build
> > running build
> > running build_py
> > running build_scripts
> > cd _MX && make MAKE=make all
> > make[1]: Entering directory 
> > `/local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MX'
> > make  all-am
> > make[2]: Entering directory 
> > `/local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MX'
> > make[2]: Nothing to be done for `all-am'.
> > make[2]: Leaving directory 
> > `/local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MX'
> > make[1]: Leaving directory 
> > `/local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MX'
> > cd _MEL && make MAKE=make all
> > make[1]: Entering directory 
> > `/local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MEL'
> > make  all-am
> > make[2]: Entering directory 
> > `/local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MEL'
> > g++  -g    -o mel   any_arg.o atom_arg.o atom.o atomops.o bat_arg.o 
> > builtin.o command.o debug.o depend.o dependency.o epilogue.o FileInfo.o 
> > glue.o html.o iterator.o link.o ListIterator.o mel.o mel.tab.o mel.yy.o 
> > mil.o module.o object.o operator.o ops.o prelude.o proto.o symbol.o 
> > symtable.o type_arg.o use.o var_arg.o
> > mel.tab.o: In function `semerror()':
> > /local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MEL/mel.yy:471: 
> > undefined reference to `yylineno'
> > /local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MEL/mel.yy:472: 
> > undefined reference to `yylineno'
> > mel.tab.o: In function `yyparse()':
> > /local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MEL/mel.yy:59: 
> > undefined reference to `yylineno'
> > /local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MEL/mel.yy:67: 
> > undefined reference to `yylineno'
> > /local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MEL/mel.yy:131: 
> > undefined reference to `yylineno'
> > mel.yy.o:/local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MEL/mel.ll:253: 
> > more undefined references to `yylineno' follow
> > collect2: ld returned 1 exit status
> > make[2]: *** [mel] Error 1
> > make[2]: Leaving directory 
> > `/local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MEL'
> > make[1]: *** [all] Error 2
> > make[1]: Leaving directory 
> > `/local/kader/home/MonetDB_XQuery_CVS/build/buildtools/_MEL'
> > make: *** [all] Error 2
> > ===========================================================================
> > 
> > The flex and bison versions I have are 2.5.33 and 2.3 respectively.
> > I was advised by Jan Flokstra to report the error to you. I hope you 
> > have sufficient information to know the origin of the problem, if not 
> > please let me know.
> > 
> > Thank you for your help,
> > Riham Abdel Kader.
> 
> As of flex 2.5.31 the yylineno was defined by flex. Normaly we define
> it our selfs.
> 
> You could try to patch the following line from mel.mx
> 
> #if !defined(YY_FLEX_SUBMINOR_VERSION) || YY_FLEX_SUBMINOR_VERSION < 5
> /* flex 2.5.31 declares yylineno.  I don't know which other versions
>    do as well. */
> int yylineno;
> #endif
> 
> Simply removed the #if/#endif should work. A better solution is to know
> which range between 2.5.6 and 2.5.31/32 have a yylineno defined. And
> fix the second part of the #ifdef.
> 
> Niels


Niels, Riham,

I haven't analysed the problem any further, yet, but I think it might also
be related to bison 2.3 or the combination of bison 2.3 and flex 2.5.33. In
out nightly testing pool (cf., http://monetdb.cwi.nl/Development/TestWeb/),
we use flex 2.5.4 & flex 2.5.33 and bison 1.875, 2.0, 2.1, 2.2, and
everything works fine. We don't use bison 2.3, yet ...

Riham,

which linux distribution (name & version) are you using?

Does Niels' patch work for you?


Stefan

-- 
| Dr. Stefan Manegold | mailto:Stefan.Manegold at cwi.nl |
| CWI,  P.O.Box 94079 | http://www.cwi.nl/~manegold/  |
| 1090 GB Amsterdam   | Tel.: +31 (20) 592-4212       |
| The Netherlands     | Fax : +31 (20) 592-4312       |




More information about the developers-list mailing list