| "Nelson H. F. Beebe" <[EMAIL PROTECTED]> 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  <[EMAIL PROTECTED]>
| 
|       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  <[EMAIL PROTECTED]>

        * 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.
+
[EMAIL PROTECTED] 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
[EMAIL PROTECTED] directives.
 @end table
 
 @defmac AC_PROG_CC (@ovar{compiler-search-list})


_______________________________________________
Bug-coreutils mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to