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 <[email protected]> > 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 <[email protected]> >> 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
