Version: 1.1.1 (using KDE KDE 3.1) Installed from: Slackware Packages Compiler: gcc version 3.2.2 OS: Linux "I'm having problems compiling tokenizer.cc" ... I did what the FAQ said, but it stil doesn't compile. I'm using slackware 9.0.0 (from the iso) with flex version 2.5.4 (I tried replacing that with 2.5.27 - with almost the same results). Here are the outputs from make, in order (./configure was run before make): Using flex 2.5.4 marcus@madonna:~/linux/src/umbrello-1.1.1$ make make all-recursive make[1]: Entering directory `/home/marcus/linux/src/umbrello-1.1.1' Making all in uml make[2]: Entering directory `/home/marcus/linux/src/umbrello-1.1.1/uml' Making all in classparser make[3]: Entering directory `/home/marcus/linux/src/umbrello-1.1.1/uml/classparser' source='tokenizer.cc' object='tokenizer.o' libtool=no \ depfile='.deps/tokenizer.Po' tmpdepfile='.deps/tokenizer.TPo' \ depmode=gcc3 /bin/sh ../../admin/depcomp \ g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/opt/kde/include -I/usr/lib/qt-3.1.2/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -O2 -O0 -fno-exceptions -fno-check-new -c -o tokenizer.o `test -f 'tokenizer.cc' || echo './'`tokenizer.cc In file included from /usr/include/c++/3.2.2/backward/iostream.h:31, from /usr/include/FlexLexer.h:47, from tokenizer.cc:238: /usr/include/c++/3.2.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated. In file included from /usr/include/FlexLexer.h:47, from tokenizer.cc:238: /usr/include/c++/3.2.2/backward/iostream.h:36: using declaration `istream' introduced ambiguous type `istream' tokenizer.cc: In member function `virtual int yyFlexLexer::yylex()': tokenizer.cc:1311: cannot convert `std::istream*' to `istream*' in assignment tokenizer.cc: In member function `void yyFlexLexer::yy_load_buffer_state()': tokenizer.cc:1842: cannot convert `istream*' to `std::istream*' in assignment tokenizer.cc: In member function `void yyFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream*)': tokenizer.cc:1893: cannot convert `std::istream*' to `istream*' in assignment make[3]: *** [tokenizer.o] Error 1 make[3]: Leaving directory `/home/marcus/linux/src/umbrello-1.1.1/uml/classparser' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/marcus/linux/src/umbrello-1.1.1/uml' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/marcus/linux/src/umbrello-1.1.1' make: *** [all] Error 2 Using flex 2.5.27 root@madonna:/home/marcus/linux/src/umbrello-1.1.1# make cd . && /bin/sh ./config.status config.h config.status: creating config.h config.status: config.h is unchanged make all-recursive make[1]: Entering directory `/home/marcus/linux/src/umbrello-1.1.1' Making all in uml make[2]: Entering directory `/home/marcus/linux/src/umbrello-1.1.1/uml' Making all in classparser make[3]: Entering directory `/home/marcus/linux/src/umbrello-1.1.1/uml/classparser' source='tokenizer.cc' object='tokenizer.o' libtool=no \ depfile='.deps/tokenizer.Po' tmpdepfile='.deps/tokenizer.TPo' \ depmode=gcc3 /bin/sh ../../admin/depcomp \ g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/opt/kde/include -I/usr/lib/qt-3.1.2/include -I. -DQT_THREAD_SUPPORT -D_REENTRANT -O2 -O0 -fno-exceptions -fno-check-new -c -o tokenizer.o `test -f 'tokenizer.cc' || echo './'`tokenizer.cc tokenizer.cc: In member function `virtual int yyFlexLexer::yylex()': tokenizer.cc:846: `cin' undeclared (first use this function) tokenizer.cc:846: (Each undeclared identifier is reported only once for each function it appears in.) tokenizer.cc:849: `cout' undeclared (first use this function) tokenizer.cc:1311: cannot convert `std::istream*' to `istream*' in assignment tokenizer.cc: At global scope: tokenizer.cc:1419: type specifier omitted for parameter `ostream' tokenizer.cc:1419: parse error before `*' token tokenizer.cc:1422: ISO C++ forbids declaration of `yyout' with no type tokenizer.cc:1422: `arg_yyout' was not declared in this scope tokenizer.cc:1423: ISO C++ forbids declaration of `yy_c_buf_p' with no type tokenizer.cc:1424: ISO C++ forbids declaration of `yy_init' with no type tokenizer.cc:1425: ISO C++ forbids declaration of `yy_start' with no type tokenizer.cc:1426: ISO C++ forbids declaration of `yy_flex_debug' with no type tokenizer.cc:1427: ISO C++ forbids declaration of `yylineno' with no type tokenizer.cc:1429: ISO C++ forbids declaration of `yy_did_buffer_switch_on_eof' with no type tokenizer.cc:1431: ISO C++ forbids declaration of `yy_looking_for_trail_begin' with no type tokenizer.cc:1432: ISO C++ forbids declaration of `yy_more_flag' with no type tokenizer.cc:1433: ISO C++ forbids declaration of `yy_more_len' with no type tokenizer.cc:1434: ISO C++ forbids declaration of `yy_more_offset' with no type tokenizer.cc:1434: invalid use of member `yyFlexLexer::yy_prev_more_offset' tokenizer.cc:1436: ISO C++ forbids declaration of `yy_start_stack_ptr' with no type tokenizer.cc:1436: invalid use of member `yyFlexLexer::yy_start_stack_depth' tokenizer.cc:1437: ISO C++ forbids declaration of `yy_start_stack' with no type tokenizer.cc:1439: ISO C++ forbids declaration of `yy_current_buffer' with no type tokenizer.cc:1442: ISO C++ forbids declaration of `yy_state_buf' with no type tokenizer.cc:1442: invalid conversion from `yy_state_type*' to `int' tokenizer.cc:1446: parse error before `}' token tokenizer.cc:1454: type specifier omitted for parameter `ostream' tokenizer.cc:1454: parse error before `*' token tokenizer.cc:1455: prototype for `void yyFlexLexer::switch_streams(...)' does not match any in class `yyFlexLexer' /usr/local/include/FlexLexer.h:126: candidate is: virtual void yyFlexLexer::switch_streams(std::istream*, std::ostream*) tokenizer.cc: In member function `void yyFlexLexer::switch_streams(...)': tokenizer.cc:1456: `new_in' undeclared (first use this function) tokenizer.cc:1462: `new_out' undeclared (first use this function) tokenizer.cc: At global scope: tokenizer.cc:1804: prototype for `void yyFlexLexer::yyrestart(istream*)' does not match any in class `yyFlexLexer' /usr/local/include/FlexLexer.h:123: candidate is: virtual void yyFlexLexer::yyrestart(std::istream*) tokenizer.cc: In member function `void yyFlexLexer::yyrestart(istream*)': tokenizer.cc:1808: no matching function for call to `yyFlexLexer:: yy_init_buffer(yy_buffer_state*&, istream*&)' /usr/local/include/FlexLexer.h:137: candidates are: void yyFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream*) tokenizer.cc: In member function `void yyFlexLexer::yy_load_buffer_state()': tokenizer.cc:1842: cannot convert `istream*' to `std::istream*' in assignment tokenizer.cc: At global scope: tokenizer.cc:1848: prototype for `yy_buffer_state* yyFlexLexer::yy_create_buffer(istream*, int)' does not match any in class ` yyFlexLexer' /usr/local/include/FlexLexer.h:121: candidate is: virtual yy_buffer_state* yyFlexLexer::yy_create_buffer(std::istream*, int) tokenizer.cc: In member function `yy_buffer_state* yyFlexLexer::yy_create_buffer(istream*, int)': tokenizer.cc:1866: no matching function for call to `yyFlexLexer:: yy_init_buffer(yy_buffer_state*&, istream*&)' /usr/local/include/FlexLexer.h:137: candidates are: void yyFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream*) tokenizer.cc: At global scope: tokenizer.cc:1890: prototype for `void yyFlexLexer::yy_init_buffer(yy_buffer_state*, istream*)' does not match any in class `yyFlexLexer' /usr/local/include/FlexLexer.h:137: candidate is: void yyFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream*) tokenizer.cc: In member function `virtual void yyFlexLexer::LexerError(const char*)': tokenizer.cc:1990: `cerr' undeclared (first use this function) make[3]: *** [tokenizer.o] Error 1 make[3]: Leaving directory `/home/marcus/linux/src/umbrello-1.1.1/uml/classparser' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/marcus/linux/src/umbrello-1.1.1/uml' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/marcus/linux/src/umbrello-1.1.1' make: *** [all] Error 2 root@madonna:/home/marcus/linux/src/umbrello-1.1.1#
Oh, I missed adding the "%option noyywrap" in tokenizer.l, sorry! It does compile so never mind this report.