gnupg-1.2.3rc1: build feedback

Nelson H. F. Beebe beebe at math.utah.edu
Fri Jun 20 14:31:02 CEST 2003


I have done builds of gnupg-1.2.3rc1 in 42 build environments on about
20 different Unix platforms.  31 of them passed all validation tests,
and 11 have either compilation failures, or numerous test failures.

Rather than try to summarize the failures here, which are similar to
ones that I've already reported on previous release of gnupg, I'd
prefer to make available a bundle of the log files of the failures to
one or more developers; contact me off list if you are interested.

On the successful builds, there are also numerous compiler warnings on
some systems:

	c89 -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../include -I../intl
	-I/usr/local/include -g -c `test -f 'miscutil.c' || echo
	'./'`miscutil.c
	cc-1164 c89: WARNING File = miscutil.c, Line = 222
	  Argument of type "const byte *" is incompatible with parameter of type
		  "const char *".

		buf = utf8_to_native ( p, n, delim );
				       ^
	c89 -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../include -I../intl
	-I/usr/local/include -g -c `test -f 'strgutil.c' || echo
	'./'`strgutil.c
	cc-1515 c89: WARNING File = strgutil.c, Line = 205
	  A value of type "const char *" cannot be assigned to an entity of type
		  "const byte *".

	      for( t=buf, n=buflen, s=sub ; n ; t++, n-- )
		    ^

	[many more]

There are several instances of declared but (possibly set) unused
variables that could probably be cleaned up:

	cc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../include -I../intl
	-I/usr/local/include -g -c `test -f 'dynload.c' || echo './'`dynload.c
	cc-1552 cc: WARNING File = dynload.c, Line = 57
	  The variable "intex" is set but never used.

	      EXTLIST r, el, intex;
			     ^
	cc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../include -I/usr/local/include
	-g -c `test -f 'mpicoder.c' || echo './'`mpicoder.c
	cc-1552 cc: WARNING File = mpicoder.c, Line = 177
	  The variable "hexmode" is set but never used.

	      int hexmode=0, sign=0, prepend_zero=0, i, j, c, c1, c2;
		  ^
	[Many more like this.]

This seems problematic:

	if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../include
	-I/usr/local/include -g -O2 -Wall -MT mpi-scan.o -MD -MP -MF
	".deps/mpi-scan.Tpo" \ -c -o mpi-scan.o `test -f 'mpi-scan.c' || echo
	'./'`mpi-scan.c; \
	then mv -f ".deps/mpi-scan.Tpo" ".deps/mpi-scan.Po"; \
	else rm -f ".deps/mpi-scan.Tpo"; exit 1; \
	fi
	mpi-scan.c: In function `mpi_putbyte':
	mpi-scan.c:81: warning: integer constant is too large for "long" type
	mpi-scan.c:83: warning: integer constant is too large for "long" type
	mpi-scan.c:85: warning: integer constant is too large for "long" type
	mpi-scan.c:87: warning: integer constant is too large for "long" type
	mpi-scan.c:89: warning: integer constant is too large for "long" type
	mpi-scan.c:91: warning: integer constant is too large for "long" type
	mpi-scan.c:93: warning: integer constant is too large for "long" type
	mpi-scan.c:95: warning: integer constant is too large for "long" type

This one is a portability problem, since it can lead to negative
subscripts on many platforms where char is a signed type:

	g10.c: In function `add_notation_data':
	g10.c:2861: warning: subscript has type `char'
	g10.c:2861: warning: subscript has type `char'
	g10.c:2881: warning: subscript has type `char'
	g10.c: In function `add_policy_url':
	g10.c:2911: warning: subscript has type `char'

This one is usually okay, but is nevertheless a point of failure:

	build-packet.c:669: warning: comparison between signed and unsigned
	build-packet.c:677: warning: comparison between signed and unsigned

	getkey.c: In function `get_pubkey_byfprint_fast':
	getkey.c:957: warning: comparison between signed and unsigned

	keyring.c:437: warning: comparison between signed and unsigned
	keyring.c:441: warning: comparison between signed and unsigned
	keyring.c:812: warning: comparison between signed and unsigned
	keyring.c:814: warning: comparison between signed and unsigned
	keyring.c:817: warning: comparison between signed and unsigned
	keyring.c:819: warning: comparison between signed and unsigned
	keyring.c:823: warning: comparison between signed and unsigned

	... many more ...

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- Center for Scientific Computing       FAX: +1 801 581 4148                  -
- University of Utah                    Internet e-mail: beebe at math.utah.edu  -
- Department of Mathematics, 110 LCB        beebe at acm.org  beebe at computer.org -
- 155 S 1400 E RM 233                       beebe at ieee.org                    -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe  -
-------------------------------------------------------------------------------




More information about the Gnupg-devel mailing list