[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: coreutils-4.5.9: Sun Solaris 2.8 configure failure
From: |
Akim Demaille |
Subject: |
Re: coreutils-4.5.9: Sun Solaris 2.8 configure failure |
Date: |
Fri, 28 Mar 2003 15:49:43 +0100 |
User-agent: |
Gnus/5.090016 (Oort Gnus v0.16) Emacs/21.2 (gnu/linux) |
| "Nelson H. F. Beebe" <address@hidden> writes:
| > The build of coreutils-4.5.9 on Sun Solaris 2.8 failed at configure
| > time:
| >
| > % time env CC=c89 ./configure && time make all check
| > ...
| > checking whether it is possible to resort to fread on /etc/mnttab... no
| > configure: error: could not determine how to read list of mounted
filesystems
|
| I looked into this issue, and the problem is that c89 rejects '#line'
| directives whose line numbers are greater than 32767. The
| coreutils-4.5.9 'configure' script contains 44223 lines, so it runs
| afoul of the problem. I think that the C standard allows this kind of
| brain damage, unfortunately.
|
| The simplest workaround is to remove this #line feature from Autoconf,
| as it's not necessary for correct operation. So I installed the
| following Autoconf patch for now. If someone can think of a better
| fix, that'd be great.
|
| 2003-03-06 Paul Eggert <address@hidden>
|
| Work around a problem noted by Nelson H. F. Beebe with coreutils
| 4.5.9: Sun c89 (Sun WorkShop 6 update 2 C 5.3 Patch 111679-08
| 2002/05/09) rejects '#line 32768 "configure"' because the line
| number overflows.
| * lib/autoconf/c.m4 (AC_LANG_SOURCE(C)): Do not generate
| #line directives.
| * lib/autoconf/lang.m4 (AC_LANG_SOURCE): Fix comment to match this.
| * doc/autoconf.texi (Generating Sources): Document this.
This is amazing :( I'm installing this:
Index: ChangeLog
from Akim Demaille <address@hidden>
* doc/autoconf.texi (C Compiler): `#line' portability.
From Paul Eggert and Nelson H. F. Beebe.
Index: doc/autoconf.texi
===================================================================
RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v
retrieving revision 1.725
diff -u -u -r1.725 autoconf.texi
--- doc/autoconf.texi 23 Mar 2003 10:21:43 -0000 1.725
+++ doc/autoconf.texi 28 Mar 2003 14:49:08 -0000
@@ -4985,6 +4985,13 @@
This can cause problems if you observe the output of the compiler to
detect failures. Invoking @samp{cc -c a.c -o a.o; cc -c b.c -o b.o; cc
a.o b.o -o c} solves the issue.
+
address@hidden Don't rely on correct @code{#line} support
+On Solaris 2.8, @command{c89} (Sun WorkShop 6 update 2 C 5.3 Patch
+111679-08 2002/05/09)) rejects @code{#line} directives whose line
+numbers are greater than 32767. In addition, nothing in @sc{posix}
+makes this invalid. That is the reason why Autoconf stopped issuing
address@hidden directives.
@end table
@defmac AC_PROG_CC (@ovar{compiler-search-list})