[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

groff 1.17 compile fails on RH7.1/gcc 2.96

From: Andras Salamon
Subject: groff 1.17 compile fails on RH7.1/gcc 2.96
Date: Mon, 25 Jun 2001 15:38:02 +0200

                           Groff Bug Report

Please read the PROBLEMS file before sending in a bug report.

Please fill in all fields, even if you think they are not relevant.

Please delete the text in brackets before sending it in.

Please report separate bugs separately.

Send the completed form to address@hidden


MACHINE: Sony VAIO laptop (Intel PIII)

OS: GNU/Linux, originally RedHat 7.1

COMPILER: gcc/g++ 2.96


COMMAND LINE: ./configure; make


Compilation fails.

Here is output of second 'make' after './configure; make' was first run:

make[1]: Entering directory `/home/andras/gnu/groff-1.17'
make[2]: Entering directory `/home/andras/gnu/groff-1.17/src/include'
make[2]: Leaving directory `/home/andras/gnu/groff-1.17/src/include'
make[2]: Entering directory `/home/andras/gnu/groff-1.17/src/libs/libgroff'
c++ -I. -I/home/andras/gnu/groff-1.17/src/libs/libgroff 
-I/home/andras/gnu/groff-1.17/src/include -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 
In file included from /home/andras/gnu/groff-1.17/src/include/lib.h:39,
                 from illegal.cc:20:
/usr/include/string.h:229: declaration of `char *strerror (int) throw 
()' throws different exceptions
/home/andras/gnu/groff-1.17/src/include/lib.h:23: than previous declaration 
`char *strerror (int)'
make[2]: *** [illegal.o] Error 1
make[2]: Leaving directory `/home/andras/gnu/groff-1.17/src/libs/libgroff'
make[1]: *** [src/libs/libgroff] Error 2
make[1]: Leaving directory `/home/andras/gnu/groff-1.17'
make: *** [all] Error 2

Here is line 229 of /usr/include/string.h:

extern char *strerror (int __errnum) __THROW;

Here is an extract of /usr/include/sys/cdefs.h, the place where __THROW
is defined (there is one other definition in /usr/include/malloc.h):

#ifdef __GNUC__

/* GCC can always grok prototypes.  For C++ programs we add throw()
   to help it optimize the function calls.  But this works only with
   gcc 2.8.x and egcs.  */
# if defined __cplusplus && __GNUC_PREREQ (2,8)
#  define __THROW       throw ()
# else
#  define __THROW
# endif
# define __P(args)      args __THROW
/* This macro will be used for functions which might take C++ callback
   functions.  */
# define __PMT(args)    args

#else   /* Not GCC.  */

# define __inline               /* No inline functions.  */

# define __THROW
# define __P(args)      args
# define __PMT(args)    args

# define __const        const
# define __signed       signed
# define __volatile     volatile

#endif  /* GCC.  */

reply via email to

[Prev in Thread] Current Thread [Next in Thread]