My test.cpp is just a stupid program like this:
#include <iostream.h>

void main()
{
 for(int i = 0; i < 11; i++)
  cout << i << endl;
}

[root@localhost /root]# gcc test.cpp
In file included from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/_G_config.h:9,

                 from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:31,

                 from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:36,

                 from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:31,

                 from test.cpp:1:
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/include/gnu/types.h:4:
gnu/types.h: No such file or directory

Here's my
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/include/gnu/types.h:

/* This file fixes __FD_ZERO bug for glibc-1.x. */
#ifndef _TYPES_H_WRAPPER
#include <features.h>
#include_next <gnu/types.h>

#if defined(__FD_ZERO) && !defined(__GLIBC__)
#undef __FD_ZERO
# define __FD_ZERO(fdsetp) \
  do { \
    int __d0, __d1; \
 __asm__ __volatile__("cld ; rep ; stosl" \
         : "=&c" (__d0), "=&D" (__d1) \
         : "a" (0), "0" (__FDSET_LONGS), \
    "1" ((__fd_set *) (fdsetp)) :"memory"); \
  } while (0)
#endif

#define _TYPES_H_WRAPPER
#endif /* _TYPES_H_WRAPPER */
Q

I created a link in /usr/include/gnu to the former,

[root@localhost /root]# gcc test.cpp
In file included from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/include/gnu/types.h:4,
                 from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/_G_config.h:9,

                 from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:31,

                 from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:36,

                 from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:31,

                 from test.cpp:1:
/usr/include/gnu/types.h:4: No include path in which to find gnu/types.h

What's the difference between
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/include/gnu/types.h and
/usr/include/gnu/types.h?
I copied /usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/include/gnu/types.h

to /usr/include/gnu and remarked the fourth line,

[root@localhost /root]# gcc test.cpp
In file included from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/_G_config.h:13,

                 from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:31,

                 from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:36,

                 from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:31,

                 from test.cpp:1:
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/include/stddef.h:170: syntax

error before `typedef'
In file included from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:36,

                 from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:31,

                 from test.cpp:1:
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:210:

syntax error before `;'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:237:

`read' was not declared in this scope
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:237:

type specifier omitted for parameter
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:237:

function `int __ssize_t(_IO_FILE *, void *)' is initialized like a
variable
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:238:

`write' was not declared in this scope
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:238:

type specifier omitted for parameter
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:238:

function `int __ssize_t(_IO_FILE *, const void *)' is initialized like a

variable
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:238:

declaration of C function `int __ssize_t(_IO_FILE *, const void *)'
conflicts with
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:237:

previous declaration `int __ssize_t(_IO_FILE *, void *)' here
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:239:

`seek' was not declared in this scope
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:239:

type specifier omitted for parameter
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:239:

function `int __off_t(_IO_FILE *, int)' is initialized like a variable
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:240:

invalid exception specifications
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:318:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:319:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:321:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/libio.h:322:

syntax error before `('
In file included from
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:31,

                 from test.cpp:1:
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:77:

syntax error before `;'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:78:

syntax error before `;'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:80:

syntax error before `;'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:133:

parse error before `;'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:356:

`streamsize' declared as a `virtual' field
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:356:

parse error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:357:

`streamsize' declared as a `virtual' field
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:357:

declaration of `int streambuf::streamsize'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:356:

conflicts with previous declaration `int streambuf::streamsize'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:357:

parse error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:358:

`streampos' declared as a `virtual' field
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:358:

parse error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:359:

`streampos' declared as a `virtual' field
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:359:

declaration of `int streambuf::streampos'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:358:

conflicts with previous declaration `in
t streambuf::streampos'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:359:

parse error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:361:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:357:

duplicate member `streambuf::streamsize'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:359:

duplicate member
`streambuf::streampos'/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:363:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:365:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:366:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:367:

virtual outside class declaration
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:368:

virtual outside class declaration
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:369:

virtual outside class declaration
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:

In function `int unbuffered()':
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:374:

`_flags' undeclared (first use this function)
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:374:

(Each undeclared identifier is reported only once
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:374:

for each function it appears in.)
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:

In function `int allocate()':
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:381:

implicit declaration of function `int base(...)'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:

In function `void allocbuf()':
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:384:

warning: NULL used in arithmetic
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:384:

implicit declaration of function `int doallocbuf(...)'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:

In function `int in_avail()':
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:386:

`_IO_read_end' undeclared (first use this function)
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:386:

`_IO_read_ptr' undeclared (first use this function)
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:

In function `int out_waiting()':
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:387:

`_IO_write_ptr' undeclared (first use this function)
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:387:

`_IO_write_base' undeclared (first use this function)
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:

At top level:
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:388:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:389:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:390:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:394:

type specifier omitted for parameter
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:394:

parse error before `,'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:

In function `int sputc(int)':
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:395:

invalid use of `this' in non-member function
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:

In function `int sbumpc()':
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:396:

invalid use of `this' in non-member function
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:

In function `int sgetc()':
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:397:

invalid use of `this' in non-member function
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:

In function `int snextc()':
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:399:

invalid use of `this' in non-member function
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:

At top level:
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:411:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:412:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:413:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:414:

virtual outside class declaration
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:415:

virtual outside class declaration
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:420:

parse error before `}'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:446:

`streampos' declared as a `virtual' field
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:446:

parse error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:448:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:449:

syntax error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:458:

`streamsize' declared as a `virtual' field
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:458:

parse error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:459:

`streampos' declared as a `virtual' field
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:459:

declaration of `int filebuf::streampos'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:446:

conflicts with previous declaration `int filebuf::streampos'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:459:

parse error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:460:

`streamsize' declared as a `virtual' field
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:460:

declaration of `int filebuf::streamsize'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:458:

conflicts with previous declaration `int filebuf::streamsize'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:460:

parse error before `('
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:459:

duplicate member `filebuf::streampos'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:460:

duplicate member `filebuf::streamsize'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/streambuf.h:489:

parse error before `}'
In file included from test.cpp:1:
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:64:

type specifier omitted for parameter
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:64:

parse error before `)'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:65:

type specifier omitted for parameter
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:65:

parse error before `)'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:66:

`ostream::write(...)' has already been declared in `ostream'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:67:

type specifier omitted for parameter
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:67:

parse error before `)'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:68:

`ostream::write(...)' has already been declared in `ostream'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:69:

type specifier omitted for parameter
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:69:

parse error before `)'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:70:

`ostream::write(...)' has already been declared in `ostream'
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:71:

`streampos' was not declared in this scope
/usr/lib/gcc-lib/i586-mandrake-linux/2.95.2/../../../../include/g++-3/iostream.h:71:

confused by earlier errors, bailing out

Reply via email to