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 Thu, 11 Jan 2007 00:57:23 GMT
Thanks Geir and Gregory,

I ended up following Gregory's suggestion and creating symlinks to  
gcc4 in a private directory and putting it on my path.  Something like:

 >mkdir ~/mygcc
 >ln -s /usr/bin/gcc4 ~/mygcc/gcc
 >ln -s /usr/bin/g++4 ~/mygcc/g++
 >export PATH=~/mygcc:${PATH}

And that seems to work without affecting other users on the box.


On Jan 10, 2007, at 6:36 PM, Geir Magnusson Jr. wrote:

> $ sudo -s
> $ cd /usr/bin
> $ rm gcc
> $ rm g++
> $ ln -s gcc4 gcc
> $ ln -s g++4 g++
> $ exit
> :D
> geir
> 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