[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU tar 1.13.25 configure bugs vs. gcc and AST library and headers
From: |
Paul Eggert |
Subject: |
Re: GNU tar 1.13.25 configure bugs vs. gcc and AST library and headers |
Date: |
Sun, 14 Jul 2002 02:07:15 -0700 (PDT) |
> From: Bruce Lilly <address@hidden>
> Date: Sat, 13 Jul 2002 12:32:39 -0400
>
> A typical config.log entry for the failure is:
>
> configure:6385: checking for pathconf
> configure:6422: gcc -o conftest -g -O2 -I/usr/include/ast -include
> /usr/include/ast/ast.h -last conftest.c >&5
> configure:6401: conflicting types for `_ast_pathconf'
> /usr/include/ast/ast_std.h:763: previous declaration of `_ast_pathconf'
> configure:6425: $? = 1
> configure: failed program was:
> #line 6391 "configure"
> #include "confdefs.h"
> /* System header to define __stub macros and hopefully few prototypes,
> which can conflict with char pathconf (); below. */
> #include <assert.h>
> /* Override any gcc2 internal prototype to avoid an error. */
> #ifdef __cplusplus
> extern "C"
> #endif
> /* We use char because int might match the return type of a gcc2
> builtin and then its argument prototype would still apply. */
> char pathconf ();
> char (*f) ();
>
> int
> main ()
> {
> /* The GNU C library defines this for functions which it implements
> to always fail with ENOSYS. Some functions are actually named
> something starting with __ and the normal name is an alias. */
> #if defined (__stub_pathconf) || defined (__stub___pathconf)
> choke me
> #else
> f = pathconf;
> #endif
>
> ;
> return 0;
> }
> configure:6441: result: no
This is a compiler bug. The C Standard says that the user should be
able to declare "pathconf" to return any type, since "pathconf" is not
a reserved name and no nonstandard files have been included.
> Clearly this is a configure (autoconf) bug.
Yes. I'll try to see if I can get Autoconf fixed so that it can work
around this particular compiler bug.