Package: grap Version: 1.40-1 Usertags: ftbfs-gcc-4.3 Your package fails to build with GCC 4.3. Version 4.3 has not been released yet but I'm building with a snapshot in order to find errors and give people an advance warning. In GCC 4.3, the C++ header dependencies have been cleaned up. The advantage of this is that programs will compile faster. The downside is that you actually need to directly #include everything you use (but you really should do this anyway, otherwise your program won't work with any compiler other than GCC). There's some more information about this at http://www.cyrius.com/journal/2007/05/10#gcc-4.3-include
You can reproduce this problem with gcc-snapshot from unstable. Note that Red Hat, Novell and Ubuntu have done some work getting packages to build with GCC 4.3 so there might be patches floating around somewhere. I suggest you talk to your upstream. > Automatic build of grap_1.40-1 on em64t by sbuild/amd64 0.53 ... > mv y.tab.c grap.cc > x86_64-linux-gnu-g++ -Wall -DHAVE_CONFIG_H -c -o grap.o grap.cc > In file included from > /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/backward/hash_map:64, > from grap.h:85, > from grap.y:28: > /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/backward/backward_warning.h:32:2: > warning: #warning This file includes at least one deprecated or antiquated > header. Please consider use of an equivalent, non-deprecated interface for > the requested functionality. A list of valid replacements is as follows: Use: > Instead of: <sstream>, basic_stringbuf <strstream>, strstreambuf <sstream>, > basic_istringstream <strstream>, istrstream <sstream>, basic_ostringstream > <strstream>, ostrstream <sstream>, basic_stringstream <strstream>, strstream > <unordered_set>, unordered_set <ext/hash_set>, hash_set <unordered_set>, > unordered_multiset <ext/hash_set>, hash_multiset <unordered_map>, > unordered_map <ext/hash_set>, hash_map <unordered_map>, unordered_multimap > <ext/hash_set>, hash_multimap <functional>, bind <functional>, binder1st > <functional>, bind <functional>, binder2nd <functional>, bind <functional>, > bind1st <functional>, bind <functional>, bind2nd <memory>, unique_ptr > <memory>, auto_ptr To disable this warning use -Wno-deprecated. > In file included from grap.y:28: > grap.h:90: error: ISO C++ forbids declaration of 'hash' with no type > grap.h:90: error: expected ';' before '<' token > grap.h: In member function 'size_t Strhash::operator()(const std::string&) > const': > grap.h:93: error: 'h' was not declared in this scope > grap.h: At global scope: > grap.h:97: error: expected initializer before '<' token > grap.h:98: error: expected initializer before '<' token > grap.h:99: error: expected initializer before '<' token > grap.h:100: error: expected initializer before '<' token > grap.h:101: error: expected initializer before '<' token > In file included from grap.y:30: > grap_draw.h: In constructor 'DisplayString::DisplayString(double, const > DisplayString*)': > grap_draw.h:193: warning: deprecated conversion from string constant to > 'char*' > grap_draw.h: In constructor 'frame::frame()': > grap_draw.h:430: warning: deprecated conversion from string constant to > 'char*' > grap_draw.h: At global scope: > grap_draw.h:636: error: 'coordinateDictionary' was not declared in this scope > grap_draw.h:636: error: wrong number of template arguments (1, should be 2) > /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_function.h:103: > error: provided for 'template<class _Arg, class _Result> struct > std::unary_function' > grap_draw.h:638: error: 'coordinateDictionary' has not been declared > grap_draw.h:638: error: expected ',' or '...' before 'ci' > grap_draw.h:647: error: 'lineDictionary' was not declared in this scope > grap_draw.h:647: error: wrong number of template arguments (1, should be 2) > /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_function.h:103: > error: provided for 'template<class _Arg, class _Result> struct > std::unary_function' > grap_draw.h:649: error: 'lineDictionary' has not been declared > grap_draw.h:649: error: expected ',' or '...' before 'li' > grap_draw.h:658: error: 'coordinateDictionary' was not declared in this scope > grap_draw.h:658: error: wrong number of template arguments (1, should be 2) > /usr/lib/gcc-snapshot/lib/gcc/x86_64-linux-gnu/4.3.0/../../../../include/c++/4.3.0/bits/stl_function.h:103: > error: provided for 'template<class _Arg, class _Result> struct > std::unary_function' > grap_draw.h:660: error: 'coordinateDictionary' has not been declared > grap_draw.h:660: error: expected ',' or '...' before 'cp' > grap_draw.h:669: error: 'coordinateDictionary' does not name a type > grap_draw.h:670: error: 'lineDictionary' does not name a type > grap_draw.h: In member function 'int graph::coord_freer_f::operator()(int)': > grap_draw.h:639: error: 'ci' was not declared in this scope > grap_draw.h: In member function 'int graph::line_freer_f::operator()(int)': > grap_draw.h:650: error: 'li' was not declared in this scope > grap_draw.h: In member function 'int graph::addmargin_f::operator()(int)': > grap_draw.h:661: error: 'cp' was not declared in this scope > grap_draw.h: In constructor 'graph::graph()': > grap_draw.h:675: error: class 'graph' does not have any field named 'coords' > grap_draw.h:675: error: class 'graph' does not have any field named 'lines' > grap_draw.h: In member function 'virtual void graph::init(std::string*, > std::string*)': > grap_draw.h:691: error: 'coordinateDictionary' has not been declared > grap_draw.h:691: error: expected `;' before 'c' > grap_draw.h:692: error: 'lineDictionary' has not been declared > grap_draw.h:692: error: expected `;' before 'l' > grap_draw.h:700: error: 'c' was not declared in this scope > grap_draw.h:700: error: 'coords' was not declared in this scope > grap_draw.h:704: error: 'l' was not declared in this scope > grap_draw.h:704: error: 'lines' was not declared in this scope > grap.y: At global scope: > grap.y:32: error: 'doubleDictionary' does not name a type > grap.y:35: error: 'macroDictionary' does not name a type > grap.y: In function 'int yyparse()': > grap.y:482: error: 'doubleDictionary' has not been declared > grap.y:482: error: expected `;' before 'di' > grap.y:484: error: 'di' was not declared in this scope > grap.y:484: error: 'vars' was not declared in this scope > grap.y:797: error: 'coordinateDictionary' has not been declared > grap.y:797: error: expected `;' before 'ci' > grap.y:800: error: 'ci' was not declared in this scope > grap.y:800: error: 'class graph' has no member named 'coords' > grap.y:801: error: 'class graph' has no member named 'coords' > grap.y:804: warning: deprecated conversion from string constant to 'char*' > grap.y:992: warning: deprecated conversion from string constant to 'char*' > grap.y:1078: error: 'macros' was not declared in this scope > grap.y:1223: warning: deprecated conversion from string constant to 'char*' > y.tab.c:3682: warning: deprecated conversion from string constant to 'char*' > y.tab.c:3828: warning: deprecated conversion from string constant to 'char*' > make[1]: *** [grap.o] Error 1 -- Martin Michlmayr http://www.cyrius.com/