gnupg-1.4.9 fails checks in new distribution
David Shaw
dshaw at jabberwocky.com
Wed Dec 17 17:11:58 CET 2008
On Dec 17, 2008, at 4:55 AM, Klaus Singvogel wrote:
> David Shaw wrote:
>> On Dec 16, 2008, at 12:33 PM, Klaus Singvogel wrote:
>>
>>> I noticed that gnupg-1.4.9 fails currently 10 of 27 tests in
>>> openSUSE-11.1.
>>>
>>> FAIL: encrypt.test
>>> FAIL: encrypt-dsa.test
>>> FAIL: seat.test
>>> FAIL: encryptp.test
>>> FAIL: armencrypt.test
>>> FAIL: armencryptp.test
>>> FAIL: signencrypt.test
>>> FAIL: armsignencrypt.test
>>> FAIL: conventional.test
>>> FAIL: conventional-mdc.test
>>>
>>> The failures didn't occur with openSUSE-11.0 or previous.
>>
>> There isn't enough information here to even guess. Can you give us
>> more information, please? i386, x86_64, PowerPC?
>
> Sure. No problem. The tests fail on i586 as well on x86_64.
>
> It's the very same package, which builds on openSUSE-11.1. So I
> assume it's a library or compiler, which the cause of the problem
> is.
>
>> Please also send in your config.log file from when you ran ./
>> configure.
>
> It's very large, so I compressed it with bzip2, before I attached it.
> Hope it's ok.
Thanks. Nothing really jumped out of the config.log, so I brought up
an openSUSE-11.1 box in vmware and the problem reproduced straight
away. The issue seems to be between the compiler (gcc (SUSE Linux)
4.3.2 [gcc-4_3-branch revision 141291]) and the cipher/rijndael.c file
(i.e. the AES cipher). These two aren't getting along very well when
the compiler is set to create very optimized code (which autoconf does
by default).
The workaround is to do something like ./configure CFLAGS="-O1". If
you wanted to get tricky, just compiling rijndael.c with -O1 and the
rest of the program with -O2 would work as well.
As to whether it's a compiler problem or a rijndael.c problem, I'm
inclined to look at the compiler first. rijndael.c has worked fine on
many platforms (in GnuPG as well as libgcrypt) for many years through
multiple gcc changes, and also compiles fine on a very close relative
of that compiler (gcc (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)). I've
actually seen something similar to this happen once before, when Apple
switched to gcc 4 from gcc 3 a while back. For a few months, until
Apple upgraded to 4.0.1, rijndael.c with -O3 would compile without
error or warning, but would not result in working code.
David
More information about the Gnupg-devel
mailing list