GMP 5.0.3 release?
Max Horn
max at quendi.de
Wed Nov 23 16:54:54 CET 2011
Hi Dennis,
Am 23.11.2011 um 15:55 schrieb Dennis Clarke:
>
>> Dear GMP team, dear all,
>>
>> I wanted to humbly ask about the likelihood for a GMP 5.0.3 release in the
>> near future. Back in July, there was an announcement mail that expressed
>> that a 5.0.3 was warranted (see
>> <http://gmplib.org/list-archives/gmp-announce/2011-July/000028.html>).
>>
>> In addition to the problem mentioned there, there is an unfortunate
>> problem on Mac OS X machines leading to the GMP self tests hanging. This
>> is triggered by Apple having replaced /usr/bin/gcc by llvm-gcc. This also
>> has been reported (see
>> <http://gmplib.org/list-archives/gmp-discuss/2011-November/004779.html>
>> and <http://gmplib.org/list-archives/gmp-bugs/2011-November/002437.html>).
>>
>> While this may be Apple's fault, it sadly inconveniences lots of people.
>
> However, that is an inconvenience caused by some vendor somewhere and not
> the GMP project nor the GCC people. Consider, please, if you will for a
> moment, that I have suffered the same issues on Solaris due to the face
> that the Sun Studio compilers, version 11, 12 as well as the recent
> updates to version 12.1 and even 12.2 fail miserbly at building a workable
> GMP.
Ahh... consider, please, what I wrote in my original email :). Indeed, I specifically addressed the point you are now making, in the hope of forestalling it. To re-iterate:
1) There is an independent reason for a 5.0.3 release -- namely an (albeit rare) bug in GMP 5.0.2. Not a compiler bug, mind you, but a real bug in GMP :). No GCC bootstrapping helps with that.
2) As it is, apparently the GMP team (specifically Torbjörn Granlund, see <http://gmplib.org:8000/gmp-5.0/rev/e928c0515399>) has already decided in the past that it is worthwhile to workaround the issue (I should mention that Jack Howarth came up with this workaround). The only problem is that the workaround *which is already in GMP* suffers from a quoting problem (syntax of M4 is confusing). Resulting in it being broken. But again, the GMP developers (specifically Torbjörn Granlund, see <http://gmplib.org:8000/gmp-5.0/rev/f2696e1e4635>) already took care of that and fixed it in GMP SVN -- indeed, the latest GMP 5.0 branch works just fine.
So the "only" (and I admit that's a non-trivial "only", as it potentially involves a lot of extra work) thing that remains to be done is to release the GMP 5.0 branch as 5.0.3
Moreover, late me make it clear that it is not at all evident to me that the issue here is really Apple's fault. A closer look reveals that the issue occurs in GMP's GMP_ASM_RODATA autoconf macro, which attempts to determine how to tell the assembler to switch to the read-only data section, something for which there sadly is no easy portable way. This is done by analyzing the compiler output of a certain test program. So this relies on certain compiler behavior. So one might very well argue that a failure in this macro is a bug in GMP, not in the compiler... alas, I don't want to argue at all, I just want a pragmatic solution :-).
To sum up, I don't think your argument applies. Indeed, with the patch (again, the patch that is already in GMP-5.0 SVN) GMP compiles completely fine and passes all tests.
You see, if it was only me, I wouldn't really go through the hassle to annoy the GMP team with this, as I know perfectly well how to deal with this myself. And indeed, on my system I also have several different versions of the FSF GCC, Apple's GCC, llvm-gcc and clang... :)
However, I will have a very hard time persuading the average guy to "bootstrap gcc yourself". Indeed, before I do that, I'll rather tell them the 2 line fix to the GMP 5.0.2 configure script that is sufficient to make everything work.
Cheers,
Max
More information about the gmp-discuss
mailing list