Recommended GCC version?

Erik Trimble Erik.Trimble at Sun.COM
Thu Jun 19 23:57:45 UTC 2008


David Holmes - Sun Microsystems wrote:
> Do we need to be careful about the word "recommended" here? There is a 
> big difference between "compiles fine" and "works fine". Anyone using 
> alternate compilers to build the JDK (Hotspot in particular) may 
> encounter compiler specific bugs at runtime.
>
> Do we have a big disclaimer/warning somewhere about this? Any bug 
> reports would need to include which compiler was used.
>
> David Holmes
>
> John Coomes said the following on 06/20/08 06:54:
>> Mario Torre (neugens at limasoftware.net) wrote:
>>> Il giorno lun, 31/03/2008 alle 18.37 +0200, Clemens Eisserer ha 
>>> scritto:
>>>> Hello,
>>>>
>>>> I wonder which version of GCC is recommended for building OpenJDK?
>>>> 4.3 will probably not work out-of-the-box, should I downgrade to 
>>>> 4.2 or 4.1?
>>>> ...
>>>> Thanks a lot, lg Clemens
>>> I had to "steal" a couple of patches from icedtea to be able to build
>>> hotspot with gcc 4-3, works fine otherwise.
>>
>> FWIW, the fix for
>>
>>     6681796: hotspot build failure on gcc 4.2.x (ubuntu 8.04) w/ 
>> openjdk 6
>>
>> went into the hotspot runtime repository a few days ago:
>>
>>     http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/f139919897d2
>>
>> It should make its way up to jdk7/jdk7/hotspot fairly soon for jdk7
>> build 30 or 31.  I expect that will allow hotspot to build on current
>> linux distros, but I haven't tried yet.
>>
>> -John
>>

Honestly, I think David has a really good point here. While it's 
certainly a good idea to support a couple of different compilers on each 
platform, I think we should be particular to chose a specific version of 
each compiler, and declare that an "official" compiler.

That is, we really shouldn't try to support all the versions of GCC, 
SunStudio, or Visual Studio.   People should be encouraged to pick a 
specific version, and then go with that for some time.   If we don't do 
this, then we end up having to support (and keep track of) all sorts of 
workarounds for all the various sub-versions.  e.g.  gcc4.0, gcc4.2, 
Visual Studio 2008, Visual Studio Express 2005, etc.  Which, is a 
complete waste of time.

I realize this a pain with the various Linux distros, since they all 
tend to ship with a different gcc version as the default one.  HOWEVER, 
it isn't such a problem, as getting a "standard" gcc version is usually 
simple, since the various Linux repositories now contain a wide 
selection of them.

Maybe we need to update the READMEs and such with more explicit 
instructions as to using specific versions of compilers.


And, speaking to the community as a whole, I think it would benefit 
everyone if we could agree on single compiler versions to concentrate 
effort on, to avoid duplication of effort and needless waste of time.  
These standardized versions should be periodically reviewed of course 
for consideration of being updated, but I'd think no more often than 
yearly, if that.




-- 
Erik Trimble
Java System Support
Mailstop:  usca22-123
Phone:  x17195
Santa Clara, CA
Timezone: US/Pacific (GMT-0800)




More information about the build-dev mailing list