grep-2.5.1a: build comments



I've just completed build attempts for grep-2.5.1a on about twenty
flavors of Unix. Most succeeded, but there were a few problems.

(1) The config.{guess,sub} files are too old (2002-vintage), and grep
configuration fails on GNU/Linux on MIPS. Once I replaced them
with copies from our mirror of the latest versions (dated
13-Nov-2004 and 16-Nov-2004, respectively), obtained by

wget
http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.guess?rev=HEAD&content-type=text/plain
wget
http://savannah.gnu.org/cgi-bin/viewcvs/config/config/config.sub?rev=HEAD&content-type=text/plain

the configuration, build, and validation tests were successful.

(2) Builds with native compilers failed on some systems. By switching
to gcc, I was able to complete the builds and pass the validation
tests on all but one (NetBSD) of the failing systems. However,
the failures may indicate portability problems that should be
addressed.

Here is a summary of the build problems and build failures; complete
logs are available on request:

------------------------------------------------------------------------
Machinetype: SGI Origin/200-4 (180 MHz) (4 CPUs); IRIX 6.5
Remote c89 version: MIPSpro Compilers: Version 7.3.1.3m
Remote c89 version: MIPSpro Compilers: Version 7.3.1.3m
Configure environment: CC=c89 CXX=CC LDFLAGS=-Wl,-rpath,/usr/local/libn32

c89 -DLIBDIR=\"/usr/local/lib\" -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I../intl
-g -c `test -f regex.c || echo './'`regex.c
cc-1552 c89: WARNING File = regex.c, Line = 6894
The variable "pdummy" is set but never used.

US_CHAR_TYPE *pdummy = NULL;
^

cc-1552 c89: WARNING File = regex.c, Line = 6895
The variable "sdummy" is set but never used.

const CHAR_TYPE *sdummy = NULL;
^

cc-1548 c89: WARNING File = regex.c, Line = 7229
The transfer of control bypasses...

... the initialization of variable "same_str_p" (declared at line
5699).
goto restore_best_regs;
^

c89 -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I../lib
-DLOCALEDIR=\"/usr/local/share/locale\" -g -c `test -f dfa.c || echo
'./'`dfa.c
cc-1185 c89: WARNING File = dfa.c, Line = 971
An enumerated type is mixed with another type.

return lasttok = CSET + charclass_index(ccl);
^

cc-1185 c89: WARNING File = dfa.c, Line = 984
An enumerated type is mixed with another type.

return lasttok = CSET + charclass_index(ccl);
^

cc-1028 c89: ERROR File = dfa.c, Line = 1055
The expression used must have a constant value.

char expr[6] = { '[', c, '-', c2, ']', '\0' };
^

cc-1028 c89: ERROR File = dfa.c, Line = 1055
The expression used must have a constant value.

char expr[6] = { '[', c, '-', c2, ']', '\0' };
^

cc-1028 c89: ERROR File = dfa.c, Line = 1059
The expression used must have a constant value.

char buf[2] = { c, '\0' };
^

cc-1185 c89: WARNING File = dfa.c, Line = 1084
An enumerated type is mixed with another type.

return lasttok = CSET + charclass_index(ccl);
^

cc-1185 c89: WARNING File = dfa.c, Line = 1093
An enumerated type is mixed with another type.

return lasttok = CSET + charclass_index(ccl);
^

cc-1185 c89: WARNING File = dfa.c, Line = 1095
An enumerated type is mixed with another type.

return c;
^

cc-1185 c89: WARNING File = dfa.c, Line = 1243
An enumerated type is mixed with another type.

addtok (CSET + charclass_index (ccl));
^

cc-1185 c89: WARNING File = dfa.c, Line = 1388
An enumerated type is mixed with another type.

addtok(END - d->nregexps);
^

cc-1552 c89: WARNING File = dfa.c, Line = 322
The variable "lexstart" is set but never used.

static char const *lexstart; /* Pointer to beginning of input string. */
^

3 errors detected in the compilation of "dfa.c".
make[2]: *** [dfa.o] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

------------------------------------------------------------------------
Machinetype: Sun Ultra 2/2400 (400 MHz); Solaris 2.9
Remote c89 version: cc: Sun C 5.6 2004/06/02
Configure environment: CC=/opt/studio9/SUNWspro/bin/c89
CFLAGS=-I/usr/local/include CXX=/opt/studio9/SUNWspro/bin/CC
CXXFLAGS=-I/usr/local/include LDFLAGS="-R/usr/local/lib -L/usr/local/lib"

/opt/studio9/SUNWspro/bin/c89 -DLIBDIR=\"/usr/local/lib\" -DHAVE_CONFIG_H -I.
-I. -I.. -I.. -I. -I../intl -I/usr/local/include -c `test -f savedir.c ||
echo './'`savedir.c
"savedir.c", line 116: operands have incompatible types:
union {double _d, array[2] of int _l} "<=" int
"savedir.c", line 117: assignment type mismatch:
union {double _d, array[2] of int _l} "=" int
"savedir.c", line 119: argument #1 is incompatible with prototype:
prototype: unsigned int : "/usr/include/iso/stdlib_iso.h", line 105
argument : union {double _d, array[2] of int _l}
"savedir.c", line 134: warning: {}-enclosed initializer required
"savedir.c", line 134: struct/union-valued initializer required
"savedir.c", line 147: operands have incompatible types:
union {double _d, array[2] of int _l} ">" union {double _d, array[2]
of int _l}
"savedir.c", line 151: operands have incompatible types:
union {double _d, array[2] of int _l} ">" union {double _d, array[2]
of int _l}
"savedir.c", line 152: operands have incompatible types:
union {double _d, array[2] of int _l} "+=" int
"savedir.c", line 154: argument #2 is incompatible with prototype:
prototype: unsigned int : "/usr/include/iso/stdlib_iso.h", line 112
argument : union {double _d, array[2] of int _l}
c89: acomp failed for savedir.c

A retry with CC=cc instead of c89 produced a successful build.
------------------------------------------------------------------------
Machinetype: Intel Pentium III (600 MHz); NetBSD 1.6 (GENERIC)
Remote gcc version: gcc (GCC) 3.4.3
Configure environment: CC=gcc CXX=g++ LDFLAGS=-Wl,-rpath,/usr/local/lib

gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I../lib
-DLOCALEDIR=\"/usr/local/share/locale\" -g -O2 -c `test -f dfa.c || echo
'./'`dfa.c
In file included from dfa.c:116:
dfa.h:272: error: parse error before "wctype_t"
dfa.h:272: warning: no semicolon at end of struct or union
dfa.h:281: error: parse error before '}' token
dfa.c: In function `parse_bracket_exp_mb':
.... cascade of errors suppressed ...

A restart with the native compiler (gcc 2.95.3) resulted in the same
failures.
------------------------------------------------------------------------
Machinetype: Sun Ultra Enterprise 450/400 (4 CPUs, 400 MHz);
Solaris 2.7
Remote cc version: cc: WorkShop Compilers 5.0 98/12/15 C 5.0
Configure environment: CC=cc CFLAGS=-I/usr/local/include CXX=CC
CXXFLAGS=-I/usr/local/include LDFLAGS="-R/usr/local/lib -L/usr/local/lib"

cc -DHAVE_CONFIG_H -I. -I. -I.. -I../intl -I../lib
-DLOCALEDIR=\"/usr/local/share/locale\" -I/usr/local/include -c `test -f
dfa.c || echo './'`dfa.c
"dfa.c", line 383: warning: argument #1 is incompatible with prototype:
prototype: pointer to const char : "/usr/include/wchar.h", line 172
argument : pointer to const uchar
"dfa.c", line 485: warning: assignment type mismatch:
pointer to long "=" pointer to int
"dfa.c", line 554: warning: assignment type mismatch:
pointer to int "=" pointer to long
...many more similar messages...

"dfa.c", line 1055: non-constant initializer: op "NAME"
"dfa.c", line 1055: non-constant initializer: op "NAME"
"dfa.c", line 1059: non-constant initializer: op "NAME"
"dfa.c", line 1103: cannot recover from previous errors
cc: acomp failed for dfa.c
make[2]: *** [dfa.o] Error 2

A retry with CC=cc instead of c89 produced the same failures.

------------------------------------------------------------------------
Machinetype: Sun Sun Blade 2000 (1015 MHz UltraSPARC-III+, 1024MB
RAM); Solaris 2.9
Remote c89 version: cc: Sun C 5.5 Patch 112760-09 2004/03/31
Configure environment: CC=c89 CFLAGS="-xO5 -dalign -xlibmil -xcg92 -xsafe=mem
-I/usr/local/include" CXX=CC CXXFLAGS="-xO5 -I/usr/local/include"
LDFLAGS="-R/usr/local/lib -L/usr/local/lib"

c89 -DLIBDIR=\"/usr/local/lib\" -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I. -I../intl
-xO5 -dalign -xlibmil -xcg92 -xsafe=mem -I/usr/local/include -c `test -f
savedir.c || echo './'`savedir.c
"savedir.c", line 116: operands have incompatible types:
union {double _d, array[2] of int _l} "<=" int
"savedir.c", line 117: assignment type mismatch:
union {double _d, array[2] of int _l} "=" int
"savedir.c", line 119: argument #1 is incompatible with prototype:
prototype: unsigned int : "/usr/include/iso/stdlib_iso.h", line 105
argument : union {double _d, array[2] of int _l}
"savedir.c", line 134: warning: {}-enclosed initializer required
"savedir.c", line 134: struct/union-valued initializer required
"savedir.c", line 147: operands have incompatible types:
union {double _d, array[2] of int _l} ">" union {double _d, array[2]
of int _l}
"savedir.c", line 151: operands have incompatible types:
union {double _d, array[2] of int _l} ">" union {double _d, array[2]
of int _l}
"savedir.c", line 152: operands have incompatible types:
union {double _d, array[2] of int _l} "+=" int
"savedir.c", make[3]: Leaving directory `/local/build/grep-2.5.1a/lib'
line 154: argument #2 is incompatible with prototype:
prototype: unsigned int : "/usr/include/iso/stdlib_iso.h", line 112
argument : union {double _d, array[2] of int _l}
"savedir.c", line 179: cannot recover from previous errors
c89: acomp failed for savedir.c

A restart with the native compiler (gcc 2.95.3) resulted in the same
failures.
------------------------------------------------------------------------

-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe@xxxxxxxxxxxxx -
- 155 S 1400 E RM 233 beebe@xxxxxxx beebe@xxxxxxxxxxxx -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe -
-------------------------------------------------------------------------------







Privacy