Hi,

On 3 Dec 2013, at 8:13pm, Clemens Lang <c...@macports.org> wrote:

> On Tue, Dec 03, 2013 at 07:48:48PM +0000, Christopher Jones wrote:
>> For that last one, it is not necessary to have Apple make that
>> decision. macPorts could decide to release the current trunk, and
>> force the use of libc++ on systems older than OSX10.9. This of course
>> would force all users to recompile all their ports, and probably is
>> not a solution for all OSX releases, as I guess the older ones
>> probably don’t have any runtime supporting c++11….
> 
> That would still require users that want to build their own C++ software
> to only use C++ APIs from libraries compiled by MacPorts. Strictly no
> linking against any C++ APIs provided by the OS in /usr/lib/*.dylib.
> 
> I'm not sure that's what we currently want.

Nope, nor do I. Just mentioning it…

> 
>> To be honest, if it isn’t possible to do it properly, I would go with
>> the top one above. At least it doesn’t pretend all is OK, when it
>> isn’t. If upstream for a given port decides they are going to use
>> c++11 features, unconditionally, they effectively they are making that
>> decision for us.
> 
> I'd do that if only systems below Lion were affected, but this would
> mean the port doesn't work on Mountain Lion and Mavericks has just been
> released, so I guess the majority of our user base still is on ML.

Oh, I agree it sucks. But still I feel this is kinda upstreams decision to 
make. Is this issue due to a new change in an upstream version ? Have we got in 
contact with the upstream devs to find out what their intentions are, and if 
they know this effectively rules out all OSX versions before 10.9 ? If they 
still insist, I am not sure we should second guess them...

> 
> I think the FSF GCC solution involving libstdc++ from MacPorts is good
> enough for now, even if it is a hack. Reading the documentation on ABI
> compatibility for libstdc++ mentions all releases since GCC 4.3 use
> libstdc++.6.so (on Linux) as SONAME and should be compatible. The docs
> also explicitly mention they libstdc++ libraries are forward-compatible,
> so in theory one should always be able to substitute a libstdc++ library
> with a newer version. Of course, I'm not sure whether this also holds
> for multiple libstdc++ versions in the same address space.

Well yes, you can drop in a newer libstdc++ as a replacement for an older one, 
and applications linked against the old one should still work. The issue is 
that last point, about an application loading *both* runtimes at the same time. 
That I think can cause issues and should be avoided. I guess you can check with 
otool -L to see if this is happening with your hack ?

Chris
> 
> -- 
> Clemens Lang
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to