|
From: James R. V. Z. <jr...@co...> - 2006-07-15 02:06:27
|
Here, wxterminal compilation fails as follows:
Script started on Fri Jul 14 21:49:29 2006
vanzandt:/usr/local/src/gnuplot/cvs/gnuplot$ make
make all-recursive
make[1]: Entering directory `/home/local/src/gnuplot/cvs/gnuplot'
Making all in config
make[2]: Entering directory `/home/local/src/gnuplot/cvs/gnuplot/config'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/local/src/gnuplot/cvs/gnuplot/config'
Making all in m4
make[2]: Entering directory `/home/local/src/gnuplot/cvs/gnuplot/m4'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/local/src/gnuplot/cvs/gnuplot/m4'
Making all in term
make[2]: Entering directory `/home/local/src/gnuplot/cvs/gnuplot/term'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/local/src/gnuplot/cvs/gnuplot/term'
Making all in src
make[2]: Entering directory `/home/local/src/gnuplot/cvs/gnuplot/src'
Making all in wxterminal
make[3]: Entering directory `/home/local/src/gnuplot/cvs/gnuplot/src/wxterminal'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/local/src/gnuplot/cvs/gnuplot/src/wxterminal'
make[3]: Entering directory `/home/local/src/gnuplot/cvs/gnuplot/src'
if g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../term -I../term -DBINDIR=\"/usr/local/bin\" -DX11_DRIVER_DIR=\"/usr/local/libexec/gnuplot/4.1\" -DGNUPLOT_PS_DIR=\"/usr/local/share/gnuplot/4.1/PostScript\" -DCONTACT=\"gnu...@li...\" -DHELPFILE=\"/usr/local/share/gnuplot/4.1/gnuplot.gih\" -DPREFIX=\"/usr/local\" -DVERSION_MAJOR=\"4.1\" -I/usr/X11R6/include -I/usr/include -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -I/usr/lib/wx/include/gtk2-unicode-release-2.6 -I/usr/include/wx-2.6 -DGTK_NO_CHECK_CASTS -D__WXGTK__ -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -DNO_GCC_PRAGMA -I/usr/include/cairo -I/usr/include/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 'wxterminal/wxt_gui.cpp' || echo './'`wxterminal/wxt_gui.cpp; \
then mv -f ".deps/wxt_gui.Tpo" ".deps/wxt_gui.Po"; else rm -f ".deps/wxt_gui.Tpo"; exit 1; fi
In file included from /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/ext/new_allocator.h:37,
from /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/i486-linux-gnu/bits/c++allocator.h:34,
from /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/allocator.h:52,
from /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/memory:54,
from /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/string:47,
from /usr/include/wx-2.6/wx/string.h:170,
from /usr/include/wx-2.6/wx/memory.h:20,
from /usr/include/wx-2.6/wx/object.h:25,
from /usr/include/wx-2.6/wx/wx.h:16,
from wxterminal/wxt_gui.h:77,
from wxterminal/wxt_gui.cpp:96:
../new:1: error: stray '@' in program
In file included from /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/stl_construct.h:65,
from /usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/memo
...
<~800 lines omitted>
...
/usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/stl_list.h:571: error: return type 'class std::allocator<gp_command>' is incomplete
/usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/stl_list.h: In member function 'std::_List_node<_Tp>* std::_List_base<_Tp, _Alloc>::_M_get_node() [with _Tp = gp_event_t, _Alloc = std::allocator<gp_event_t>]':
/usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/stl_list.h:438: instantiated from 'std::_List_node<_Tp>* std::list<_Tp, _Alloc>::_M_create_node(const _Tp&) [with _Tp = gp_event_t, _Alloc = std::allocator<gp_event_t>]'
/usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/stl_list.h:1152: instantiated from 'void std::list<_Tp, _Alloc>::_M_insert(std::_List_iterator<_Tp>, const _Tp&) [with _Tp = gp_event_t, _Alloc = std::allocator<gp_event_t>]'
/usr/lib/gcc/i486-linux-gnu/4.0.4/../../../../include/c++/4.0.4/bits/stl_list.h:774: instantiated from 'void std::list<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = gp_event_t, _Alloc = 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/stl_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/stringfwd.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/stl_list.h:313: error: '<declaration error>' is not a class or namespace
make[3]: *** [wxt_gui.o] Error 1
make[3]: Leaving directory `/home/local/src/gnuplot/cvs/gnuplot/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/local/src/gnuplot/cvs/gnuplot/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/local/src/gnuplot/cvs/gnuplot'
make: *** [all] Error 2
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 PURPOSE.
...so maybe it's being more strict about the language. However, "make
CC=gcc-3.3" fails the same way.
FWIW I think it's complaining about /usr/include/c++/4.0.4/new, but all
the "@" characters appear to be in comments:
12 lines matching "@" in buffer new.
32:/** @file new
33: * The header @c new defines several functions to manage dynamic memory and
51: * @brief Exception possibly thrown by @c new.
53: * @c bad_alloc (or classes derived from it) is used to report allocation
54: * errors from the throwing forms of @c new. */
66: /** If you write your own error handler to be called by @c new, it must
73://@{
75: * - normal single new and delete (no arguments, throw @c bad_alloc on error)
77: * - @c nothrow single new and delete (take a @c nothrow argument, return
78: * @c NULL on error)
79: * - @c nothrow array new and delete (same)
100://@}
- Jim Van Zandt
|
|
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 |