harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Egor Pasko <egor.pa...@gmail.com>
Subject Re: [build] use.libstdc++6=true default?
Date Mon, 09 Feb 2009 06:20:49 GMT
On the 0x553 day of Apache Harmony Nathan Beyer wrote:
> Any objections to setting this 'true' by default? It seems we have
> three people okay with it. If none are brought up, I or anyone can
> switch it.

+1 for switching to v6.

BTW, if something belongs to gcc, we should ask gcc where it is, like that:
readlink -f `dirname \`gcc -print-prog-name=cc1\``/libstdc++.so

(should work on systems with gcc && dynamic linking)
(maybe this even works with icc, I cannot check)

>
> -Nathan
>
> On Sat, Feb 7, 2009 at 5:43 PM, Gregory Shimansky <gshimansky@apache.org> wrote:
>> On 8 February 2009 Nathan Beyer wrote:
>>> Isn't "/usr/lib/libstdc++.so.6" generally a symlink to the specific
>>> version folder that's currently the default?
>>
>> Nope. It depends very much on the distro layout. The most likely place to find
>> libc is /lib where you can execute (you can actually execute this
>> lib) /lib/libc.so* and see the version.
>>
>>> Regardless, moving to v6 as the default seems to make sense to me -
>>> this seems to be the default on the latest distribution releases that
>>> I've seen.
>>
>> With this I agree. Version 6 has been the default for a time I can't remember
>> and those who still use v5 might as well switch after all.
>>
>>> On Sat, Feb 7, 2009 at 5:28 AM, Gregory Shimansky <gshimansky@apache.org>
>> wrote:
>>> > On 7 February 2009 Mark Hindess wrote:
>>> >> Perhaps we should make use.libstdc++6=true the default?  Or maybe even
>>> >> try a little harder to make a better guess at the default with a patch
>>> >> like the one appended?
>>> >
>>> > Hmm it is not this easy. The library libstdc++ belongs to gcc, and its
>>> > location depends on gcc version (gcc may be even installed in a
>>> > non-standard location). Guessing it is not easy without configure script.
>>> > Here's what I get when I execute "locate libstdc++.so.6" on Gentoo Linux:
>>> >
>>> > /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/32/libstdc++.so.6
>>> > /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/32/libstdc++.so.6.0.3
>>> > /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/libstdc++.so.6
>>> > /usr/lib64/gcc/x86_64-pc-linux-gnu/3.4.6/libstdc++.so.6.0.3
>>> > /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/32/libstdc++.so.6
>>> > /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/32/libstdc++.so.6.0.8
>>> > /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libstdc++.so.6
>>> > /usr/lib64/gcc/x86_64-pc-linux-gnu/4.1.2/libstdc++.so.6.0.8
>>> >
>>> > The naming of path like "x86_64-pc-linux-gnu" is very platform dependent
>>> > as well.
>>> >
>>> > Someone might even want to use Intel compiler to build Harmony, I recall
>>> > icc used to work at some point of time and produced quite an optimized
>>> > code.
>>> >
>>> >> Index: working_classlib/make/properties.xml
>>> >> ===================================================================
>>> >> --- working_classlib/make/properties.xml        (revision 741852)
>>> >> +++ working_classlib/make/properties.xml        (working copy)
>>> >> @@ -313,6 +313,12 @@
>>> >>      </condition>
>>> >>      <property name="hy.portlib.stubs" value="false" />
>>> >>
>>> >> +    <condition property="use.libstdc++6" value="true">
>>> >> +        <and>
>>> >> +            <isset property="is.linux" />
>>> >> +            <available file="/usr/lib/libstdc++.so.6" type="file"
/>
>>> >> +        </and>
>>> >> +    </condition>
>>> >>      <condition property="hy.libstdc++.suffix" value=".libstdc++6">
>>> >>          <isset property="use.libstdc++6"/>
>>> >>      </condition>
>>> >> Index: common_resources/make/properties.xml
>>> >> ===================================================================
>>> >> --- common_resources/make/properties.xml        (revision 741852)
>>> >> +++ common_resources/make/properties.xml        (working copy)
>>> >> @@ -69,6 +69,12 @@
>>> >>      <property name="hy.test.timeout" value="900000" />
>>> >>      <property name="hy.test.vmargs" value="" />
>>> >>
>>> >> +    <condition property="use.libstdc++6" value="true">
>>> >> +        <and>
>>> >> +            <isset property="is.linux" />
>>> >> +            <available file="/usr/lib/libstdc++.so.6" type="file"
/>
>>> >> +        </and>
>>> >> +    </condition>
>>> >>      <condition property="hy.platform.suffix" value=".libstdc++6">
>>> >>          <isset property="use.libstdc++6"/>
>>> >>      </condition>
>>> >
>>> > --
>>> > Gregory
>> --
>> Gregory
>>
>

-- 
Egor Pasko


Mime
View raw message