Trying to compile libbasic 0.0.4 with gcc 3.4.4 I get
this error:
g++ -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -DHAVE_CONFIG_H
-D_LANGUAGE=0 -D_DEBUG -g -O2 -MT dataspooler.lo -MD
-MP -MF .deps/dataspooler.Tpo -c dataspooler.C -fPIC
-DPIC -o .libs/dataspooler.o
In file included from unique.h:37,
from table.h:34,
from dataspooler.C:31:
basiclist.h: In member function `int
basic_list<node>::operator-=(node)':
basiclist.h:168: error: there are no arguments to
`card' that depend on a template parameter, so a
declaration of `card' must be available
basiclist.h:168: error: (if you use `-fpermissive', G++
will accept your code, but allowing the use of an
undeclared name is deprecated)
make[2]: *** [dataspooler.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/tmp/libbasic-0.0.4/basic'
Applying the attached patch fixes this. The prior patch
for libbasic 0.0.3 also had this, but the fix for this
line in basiclist.h was not included.
This patch was also successfully tested with gcc 3.3.6.
gcc 3.4 patch for basiclist.h