Subject: Re: libstdc++ does not build
To: None <drochner@zel459.zel.kfa-juelich.de>
From: C Kane <ckane@best.com>
List: current-users
Date: 12/04/1998 18:16:27
drochner@zel459.zel.kfa-juelich.de wrote:
> ckane@best.com said:
> > I am having a problem compiling libstdc++ from -current sources while
> > doing "make build".
> > [...]
> > /usr/include/g++/function.h:141: warning: to refer to a type member of a template parameter,
>
> No propblem for me.
> It seems that your /usr/include/g++ includes are
> out of date - the current "function.h" has only 93 lines
> while the old gcc one matches the error output you cited.

I don't know how to get sup to fetch a single file, but I found that
ftp.netbsd.org:/pub/NetBSD/NetBSD-current/src/gnu/lib/libg++/libstdc++/stl/function.h
is the same as my function.h.  The file date on that file matches my file as
well: Mar 9, 1996.  The problem is probably in another file, but I don't know
C++.

How could I force sup to reget everything under src/gnu, if that's what the
problem is?

For those not following along, here's the problem statement:
I type:  make UPDATE=1 build
I get:

:
all ===> libobjc
all ===> libstdc++
c++ -O2  -Werror   -I/usr/include/g++ -I/usr/netbsd-current/src/gnu/lib/libstdc++/../../dist/libstdc++ -c /usr/netbsd-current/src/gnu/lib/libstdc++/../../dist/libstdc++/stdexcepti.cc
cc1plus: warnings being treated as errors
In file included from /usr/include/g++/iterator.h:24,
                 from /usr/include/g++/iterator:6,
                 from /usr/include/g++/std/bastring.h:44,
                 from /usr/include/g++/string:6,
                 from /usr/include/g++/stdexcept:36,
                 from /usr/netbsd-current/src/gnu/lib/libstdc++/../../dist/libstdc++/stdexcepti.cc:8:
/usr/include/g++/function.h:141: warning: to refer to a type member of a template parameter,
/usr/include/g++/function.h:141: warning:   use `typename Predicate::argument_type'
/usr/include/g++/function.h:157: warning: to refer to a type member of a template parameter,
/usr/include/g++/function.h:157: warning:   use `typename Predicate::first_argument_type'
/usr/include/g++/function.h:157: warning: to refer to a type member of a template parameter,
/usr/include/g++/function.h:157: warning:   use `typename Predicate::second_argument_type'
/usr/include/g++/function.h:175: warning: to refer to a type member of a template parameter,
/usr/include/g++/function.h:175: warning:   use `typename Operation::second_argument_type'
/usr/include/g++/function.h:175: warning: to refer to a type member of a template parameter,
/usr/include/g++/function.h:175: warning:   use `typename Operation::result_type'
/usr/include/g++/function.h:178: syntax error before `;'
/usr/include/g++/function.h:180: syntax error before `&'
/usr/include/g++/function.h:181: missing ';' before right brace
/usr/include/g++/function.h:182: syntax error before `operator'
/usr/include/g++/function.h:182: syntax error before `&'
fier
/usr/include/g++/function.h:201: `operator ()(...)' must be a nonstatic member function
/usr/include/g++/function.h: In function `int operator ()(...)':
/usr/include/g++/function.h:201: redefinition of `int operator ()(...)'
/usr/include/g++/function.h:182: `int operator ()(...)' previously defined here
/usr/include/g++/function.h: In function `int operator ()(...)':
/usr/include/g++/function.h:202: confused by earlier errors, bailing out
*** Error code 1

Stop.
*** Error code 1

Stop.
*** Error code 1
1 error