harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geir Magnusson Jr." <g...@pobox.com>
Subject Re: [general] gcc version 4.x as our "default" compiler version?
Date Thu, 11 Jan 2007 00:36:06 GMT

$ sudo -s
$ cd /usr/bin
$ rm gcc
$ rm g++
$ ln -s gcc4 gcc
$ ln -s g++4 g++
$ exit



On Jan 10, 2007, at 1:40 PM, Naveen Neelakantam wrote:

> 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:
> --------------------
> /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

View raw message