gnupg-2.0.19 test failures on GNU/Linux Red Hat 5.8 IA-64 (Itanium)

Nelson H. F. Beebe beebe at math.utah.edu
Thu Apr 5 17:46:39 CEST 2012


I've just made a series of experiments with builds of gnupg-2.0.19 on
Red Hat 5.8 IA-64 (Itanium) with multiple compilers:

	cc  (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52)

	gcc (GCC) 4.1.3 20080630 (prerelease)
	gcc (GCC) 4.2.5 20090325 (prerelease)
	gcc (GCC) 4.3.0 20071123 (experimental)
	gcc (GCC) 4.4.6 20110301 (prerelease)
	gcc (GCC) 4.5.3 20110303 (prerelease)
	gcc (GCC) 4.6.1 20110429 (prerelease)
	gcc (GCC) 4.7.0 20110430 (experimental)

	icc (ICC) 9.1 20080314

Only the build with icc passed all of the tests, so I have
installed that one.

Builds typically look like this:

	env CC=gcc-4.7 CFLAGS=-I/usr/local/include ./configure --libdir=/usr/local/lib && make all check

With the 8 different gcc versions, I get one or two test failures:

	cc
		3DES FAIL: conventional-mdc.test

	gcc-4.1
		FAIL: genkey1024.test
		3DES FAIL: conventional-mdc.test

	gcc-4.2
		FAIL: genkey1024.test
		FAIL: conventional.test

	gcc-4.3
		FAIL: conventional.test

	gcc-4.4
		FAIL: genkey1024.test

	gcc-4.5
		FAIL: genkey1024.test
		FAIL: conventional.test

	gcc-4.6
		3DES FAIL: conventional-mdc.test

	gcc-4.7
		FAIL: conventional.tes
		3DES FAIL: conventional-mdc.test

Here is one of the log files:

	% cat tests/openpgp/conventional-mdc.test.log
	Test: conventional-mdc.test
	GNUPGHOME=/local/build/cc/gnupg-2.0.19/tests/openpgp
	GPG_AGENT_INFO=/tmp/gpg-o1ynlU/S.gpg-agent:24658:1
	gpg: WARNING: unsafe permissions on homedir `.'
	gpg: problem with the agent: Broken pipe

Here are the home directory permissions:

	% ls -lFd ~/.
	drwxr-xr-x 309 XXXXXX wheel 1434 Apr  5 08:29 /XXXXXX

They look okay to me, and in any event, the tests pass with icc, so
the same test with gcc compilation should not fail either.

The configure script by default chooses -O2 optimization, so in
another experiment with gcc-4.7, I removed the -O2 option from all
Makefiles and rebuilt.  Now all of the tests pass!

I also did yet another experiment, replacing -O2 by -O1 everywhere:
that produces two failures:

	gcc-4.7 -O1
		FAIL: genkey1024.test
		FAIL: conventional.test

Perhaps, a small piece of gnupg code is triggering a long-standing gcc
optimizer error for the IA-64 architecture.  It would be nice to find
a code workaround that would produce successful passes on this
platform, and, if the code that triggers the error can be reduced to a
simple test case, then there is a chance that the gcc developers can
repair it.

I may also try building some newer gcc-4.x releases, including the new
4.8 series, and then see whether they still cause gnupg test failures.
However, that is a much larger task, and harder as well, because
gcc-4.x snapshot builds generally fail almost everywhere at my site.

Also, in the output

	3DES CAST5 BLOWFISH AES AES192 AES256 TWOFISH CAMELLIA128 CAMELLIA192 CAMELLIA256 | PASS: conventional.test
	3DES FAIL: conventional-mdc.test

why do the encryption names prefix the PASS/FAIL reports?

In my view, that makes it harder to scan the output for problems. I
sometimes do 100 to 150 different builds of single packages in
multiple O/S and compiler environments, so test-report clarity matters
to me.

I suggest that

	PASS: DES CAST5 BLOWFISH AES AES192 AES256 TWOFISH CAMELLIA128 CAMELLIA192 CAMELLIA256 conventional.test
	FAIL: 3DES conventional-mdc.test

would be better.

-------------------------------------------------------------------------------
- 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 at math.utah.edu  -
- 155 S 1400 E RM 233                       beebe at acm.org  beebe at computer.org -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------



More information about the Gnupg-devel mailing list