C++11 on Mountain Lion and lower?

Clemens Lang cal at macports.org
Tue Dec 3 14:51:04 PST 2013


On Tue, Dec 03, 2013 at 03:55:08PM -0600, Ryan Schmidt wrote:
> First we would need to write more code in base that could identify
> when ports are installed with a different C++ runtime than that
> selected in macports.conf, and rebuild those ports. Users will not
> know they need to rebuild ports after such a change (since no previous
> MacPorts release has made them do this, when not upgrading the OS),
> and if they don’t rebuild ports things will break.

I think base has some patches to do that – I turned them from errors to
warnings, because this currently often happens to ports that cannot yet
use the stdlib specified in the configuration and the check doesn't
handle that yet, returning lots of false positives just to rebuild them
three times after which they are still "broken" in the same way.

This check should really go into a post-destroot check phase (as the one
implemented in GSoC 2009 still sitting on its branch), where we could
use information from the Portfiles for that.

> I don’t think we record in the registry what C++ runtime was used to
> build a port. So we might have to scan all installed files to see what
> C++ runtime they link with.

No, we don't record that. We could easily scan all files to find the C++
runtime, but how does that help us if we don't know whether a file
doesn't link against the correct runtime because it doesn't support the
chosen one or not?

We could find situations where multiple C++ runtimes are involved, but I
suggest that's something that should be done in post-destroot, too.

-- 
Clemens Lang



More information about the macports-dev mailing list