logo       

Re: coreutils-4.5.9: Sun Solaris 2.8 configure failure: msg#00105

gnu.core-utils.bugs

Subject: Re: coreutils-4.5.9: Sun Solaris 2.8 configure failure


| "Nelson H. F. Beebe" <beebe@xxxxxxxxxxxxx> 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 <eggert@xxxxxxxxxxx>
|
| 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 <akim@xxxxxxxx>

* 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.
+
+@item 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
+@code{#line} directives.
@end table

@defmac AC_PROG_CC (@ovar{compiler-search-list})


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise