|
From: <tim...@en...> - 2006-07-15 03:49:16
|
Hi James, James R. Van Zandt wrote: > Here, wxterminal compilation fails as follows: > > Script started on Fri Jul 14 21:49:29 2006 > vanzandt:/usr/local/src/gnuplot/cvs/gnuplot$ make > > (...) > if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../term -I../term -DBINDIR=3D\"/= usr/local/bin\" -DX11_DRIVER_DIR=3D\"/usr/local/libexec/gnuplot/4.1\" -DG= NUPLOT_PS_DIR=3D\"/usr/local/share/gnuplot/4.1/PostScript\" -DCONTACT=3D\= "gnu...@li...\" -DHELPFILE=3D\"/usr/local/share/gnu= plot/4.1/gnuplot.gih\" -DPREFIX=3D\"/usr/local\" -DVERSION_MAJOR=3D\"4.1\= " -I/usr/X11R6/include -I/usr/include -I/usr/include/cairo -I/usr/inclu= de/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O= 2 -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -D= GTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=3D64 -D_LARGE_FILES -D= _LARGEFILE_SOURCE=3D1 -DNO_GCC_PRAGMA -I/usr/include/cairo -I/usr/inc= lude/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -MT = wxt_gui.o -MD -MP -MF ".deps/wxt_gui.Tpo" -c -o wxt_gui.o `test -f 'wxter= minal/wxt_gui.cpp' || echo './'`wxterminal/wxt_gui.cpp; \ > =20 My g++ command looks the same. > then mv -f ".deps/wxt_gui.Tpo" ".deps/wxt_gui.Po"; else rm -f ".deps/w= xt_gui.Tpo"; exit 1; fi > > In file included from /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../inc= lude/c++/4.0.4/ext/new_allocator.h:37, > > (...) > =20 > ../new:1: error: stray '@' in program > =20 Hmm, as you said below, these @ are in comments, they are used for=20 source documentation (doxygen or similar). How can they appear in the compilation ??? > In file included from /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../inc= lude/c++/4.0.4/bits/stl_construct.h:65, > > from /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../inc= lude/c++/4.0.4/memo > ... > <~800 lines omitted> > ... > > /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/st= l_list.h:571: error: return type 'class std::allocator<gp_command>' is in= complete > /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/st= l_list.h: In member function 'std::_List_node<_Tp>* std::_List_base<_Tp, = _Alloc>::_M_get_node() [with _Tp =3D gp_event_t, _Alloc =3D std::allocato= r<gp_event_t>]': > /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/st= l_list.h:438: instantiated from 'std::_List_node<_Tp>* std::list<_Tp, _= Alloc>::_M_create_node(const _Tp&) [with _Tp =3D gp_event_t, _Alloc =3D s= td::allocator<gp_event_t>]' > /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/st= l_list.h:1152: instantiated from 'void std::list<_Tp, _Alloc>::_M_inser= t(std::_List_iterator<_Tp>, const _Tp&) [with _Tp =3D gp_event_t, _Alloc = =3D std::allocator<gp_event_t>]' > /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/st= l_list.h:774: instantiated from 'void std::list<_Tp, _Alloc>::push_back= (const _Tp&) [with _Tp =3D gp_event_t, _Alloc =3D std::allocator<gp_event= _t>]' > wxterminal/wxt_gui.cpp:2661: instantiated from here > /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/st= l_list.h:313: error: invalid use of undefined type 'class std::allocator<= gp_event_t>' > /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/st= ringfwd.h:49: error: declaration of 'class std::allocator<gp_event_t>' > /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/st= l_list.h:313: error: '<declaration error>' is not a class or namespace > =20 Hmm (again). I am far from being a C++ specialist, but I am using very basic features = of the STL (standard template library), namely the template list<>,=20 which implements a linked list. Looks like your g++ installation has problems. > This is with a recent compiler: > $ gcc --version > gcc (GCC) 4.0.4 20060422 (prerelease) (Debian 4.0.3-2) > Copyright (C) 2006 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There = is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PU= RPOSE. > > ...so maybe it's being more strict about the language. However, "make > CC=3Dgcc-3.3" fails the same way. > =20 I am using "stock" gcc-4.0.3, maybe Debian is patching it with something = wrong... I don't really know... > FWIW I think it's complaining about /usr/include/c++/4.0.4/new, but all= > the "@" characters appear to be in comments: > =20 Yes, that's a bad sign to see failures there ! Are you using some sort of bleeding-edge repository ? I am sorry, but I=20 have no clue where it might come from. And google doesn't help here. I=20 will try to ask on irc... Best regards, Timoth=C3=A9e |