Version: (using KDE Devel) Installed from: Compiled sources Compiler: gcc 3.2.2 OS: Linux I run Slakware 9.0 with recent kde-HEAD and Qt-3.2. This is the error log: Making all in common make[3]: Entering directory /usr/local/src/kde-HEAD/kdesdk/kbabel/common' Making all in libgettext make[4]: Entering directory /usr/local/src/kde-HEAD/kdesdk/kbabel/common/libgettext' if /bin/sh ../../../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -DQT_THREAD_SUPPORT -D_REENTRANT -ansi -W -Wall -pedantic -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -O2 -Wformat-security -Wmissing-format-attribute -MT fstrcmp.lo -MD -MP -MF ".deps/fstrcmp.Tpo" \ -c -o fstrcmp.lo est -f 'fstrcmp.c' || echo './' strcmp.c; \ then mv ".deps/fstrcmp.Tpo" ".deps/fstrcmp.Plo"; \ else rm -f ".deps/fstrcmp.Tpo"; exit 1; \ fi if /bin/sh ../../../libtool --silent --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../../.. -DQT_THREAD_SUPPORT -D_REENTRANT -ansi -W -Wall -pedantic -Wchar-subscripts -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -O2 -Wformat-security -Wmissing-format-attribute -MT xmalloc.lo -MD -MP -MF ".deps/xmalloc.Tpo" \ -c -o xmalloc.lo est -f 'xmalloc.c' || echo './'alloc.c; \ then mv ".deps/xmalloc.Tpo" ".deps/xmalloc.Plo"; \ else rm -f ".deps/xmalloc.Tpo"; exit 1; \ fi flex -+ -opofiles.cc ./pofiles.ll if /bin/sh ../../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../../.. -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -O2 -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -MT pofiles.lo -MD -MP -MF ".deps/pofiles.Tpo" \ -c -o pofiles.lo est -f 'pofiles.cc' || echo './' ofiles.cc; \ then mv ".deps/pofiles.Tpo" ".deps/pofiles.Plo"; \ else rm -f ".deps/pofiles.Tpo"; exit 1; \ fi In file included from /usr/include/c++/3.2.2/backward/iostream.h:31, from /usr/include/FlexLexer.h:47, from pofiles.cc:241: /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 pofiles.cc:241: /usr/include/c++/3.2.2/backward/iostream.h:36: using declaration stream' introduced ambiguous type stream' pofiles.cc:401:5: warning: "YY_STACK_USED" is not defined pofiles.cc: In member function irtual int GettextBaseFlexLexer::yylex()': pofiles.cc:683: cannot convert td::istream*' to stream*' in assignment pofiles.cc: In member function oid GettextBaseFlexLexer::yy_load_buffer_state()': pofiles.cc:1216: cannot convert stream*' to td::istream*' in assignment pofiles.cc: In member function oid GettextBaseFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream*)': pofiles.cc:1267: cannot convert td::istream*' to stream*' in assignment pofiles.cc:1458:5: warning: "YY_MAIN" is not defined make[4]: *** [pofiles.lo] Error 1 make[4]: Leaving directory /usr/local/src/kde-HEAD/kdesdk/kbabel/common/libgettext' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory /usr/local/src/kde-HEAD/kdesdk/kbabel/common' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory /usr/local/src/kde-HEAD/kdesdk/kbabel' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory /usr/local/src/kde-HEAD/kdesdk' make: *** [all] Error 2
What is the version of your flex? (flex --version)
flex version 2.5.4
It's a flex bug.
so what version of flex fixes it? I'm using flex 2.5.31 (Debian Sid) and get the same error. AHA!! from the flex notes: The behaviour of Flex has undergone a major change since version 2.5.4a; Flex scanners are now reenterant, you may have multiple scanners in the same program with differing setrs of defaults, and they play nicer with modern C and C++ compilers. The Flip side is that Flex no longer conforms to the POSIX lex behaviour, and the scanners require conforming implementations when flex is used in ANSI C mode. The package flex-old provides the older behaviour. and in fact installing flex-old DOES fix this problem. harry
*** Bug 69942 has been marked as a duplicate of this bug. ***
*** Bug 75222 has been marked as a duplicate of this bug. ***
*** Bug 74158 has been marked as a duplicate of this bug. ***
*** Bug 78408 has been marked as a duplicate of this bug. ***