harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Naveen Neelakantam <neela...@uiuc.edu>
Subject Re: [general] gcc version 4.x as our "default" compiler version?
Date Wed, 10 Jan 2007 18:40:27 GMT

On Jan 10, 2007, at 12:02 PM, Gregory Shimansky wrote:

> Geir Magnusson Jr. wrote:
>> In the past, we've talked about what versions of GCC we will  
>> consider as our "supported" toolchain.  We noted that it's useful  
>> to keep using other versions, such as 3.x, to make sure we're not  
>> inadvertently hiding bugs through compiler bugs.
>> I'd like to tighten up this degree of freedom a little.
>> What's the harm if we declare 4.x as our default compiler  
>> version?  What potential platforms do we lose, or who do we  
>> inconvenience because requiring stdc++.so.6?
>
> AFAIK there are no Linux distributions which have versions that  
> don't have gcc 4.x included, it is the default compiler in all last  
> distros versions. So all last (and maybe some before last) versions  
> of Linux distros should have no problems with libstdc++.so.6.

I use RHEL4 update 4 and the default compiler is gcc 3.4.6.  It does  
include an install of gcc 4.1.0, but it is named "gcc4" and "g++4".

I am happy to switch to using the gcc 4.x install that I have, but I  
am not sure how to tell the build infrastructure to use "gcc4"  
instead of "gcc".  I did try building DRLVM by typing "./build.sh - 
DCXX=gcc4" but I got the following error:

--------------------
BUILD FAILED
/home/dcsfiles/neelakan/Sandbox/Harmony/stable/working_vm/build/make/ 
build.xml:432: The following error occurred while executing this line:
/home/dcsfiles/neelakan/Sandbox/Harmony/stable/working_vm/build/make/ 
build.xml:439: The following error occurred while executing this line:
/home/dcsfiles/neelakan/Sandbox/Harmony/stable/working_vm/build/make/ 
build_component.xml:72: The following error occurred while executing  
this line:
/home/dcsfiles/neelakan/Sandbox/Harmony/stable/working_vm/build/ 
lnx_ia32_gcc4_debug/semis/build/targets/common_extra.xml:8: gcc4 is  
not a legal value for this attribute
--------------------

There are two other alternatives as I see it.  I could move the  
"gcc4" and "g++4" binaries on my dev box over to "gcc" and "g++", but  
that effectively changes the default compiler version for everyone  
using the machine.  Our dev boxes are shared, so I don't like that  
option.  The other alternative would be to install a version of gcc  
4.x into a private directory and set my path to point to it.  I can  
do this, but should I be expected to?

> This is a question of how old software (and hardware) we're going  
> to support. Probably interested parties could backport the code to  
> the old systems which is not only old Linux distros but also  
> platforms like old Windows versions.
>
> For the officially built binaries which are supposed to be  
> certified I think gcc 4.x is the right choice because soon it may  
> happen that some platforms won't include even compatibility  
> packages of libstdc++.so.5. For the unofficial distribution builds  
> which insist on using 3.x (if they exist at all) they may send us  
> patches to enable building on 3.x if they encounter problems.
>
>> I ran into this playing with Harmony on OLPC, and a developer  
>> expressed a little surprise that we were still using 3.x.  I don't  
>> follow the gcc ecosystem at all, so I don't know what issues there  
>> are w/ 4.x, and why we wouldn't move forward to it as a general  
>> (not strict) policy.
>
> I am surprised too. I tried to push moving to gcc 4.x because I use  
> it on all systems and we've had cases when code which compiles on  
> 3.x failed to compiled on 4.x because of more strict syntax checks.
>
> -- 
> Gregory
>

Naveen

Mime
View raw message