Building clang/cling 3.5 for ROOT on Lion

Joshua Root jmr at macports.org
Tue Apr 8 02:52:17 PDT 2014


On 2014-4-8 18:06 , Chris Jones wrote:
> On 08/04/14 01:48, Ryan Schmidt wrote:
>>
>> On Apr 7, 2014, at 18:09, Christopher Jones wrote:
>>
>>> p.s. whats the most recent MacPorts clang compiler you can install on
>>> OSX10.7 ?
>>
>> clang 3.4 and earlier should build fine on 10.7.
> 
> Indeed. They aren't quite the same thing though in the end, as on OSX
> 10.8 and newer it supports c++11, whereas on 10.7 it doesn't, because of
> the underlying system support. So the same clang34 compiler now builds
> root6 fine on OSX10.9, but fails on 10.7.
> 
> My recollection of all the previous times c++11 has been discussed, can
> be summarised as there is no obvious way to support it cleanly on older
> OSX releases. So if an upstream package, as ROOT6 has, is actively only
> targetting c++11 supporting compilers, then effectively these ports
> cannot be used on older OSX releases now. Is that correct, or am I being
> overly pessimistic here ?

You can actually use libc++ all the way back to 10.6 (with the libcxx
port). The trick is that if you build root against libc++, then every
library it uses via a C++ API must also be built against libc++, and
likewise for every library that uses it via a C++ API.

It sounds like root wants to use bundled copies of all its dependencies,
which while suboptimal for all the usual reasons, does at least solve
that side of the problem. I don't know if root exposes a C++ API for its
dependents, but if it does, they could also be made to use libc++.

So it's not impossible, just highly inconvenient.

- Josh


More information about the macports-dev mailing list