Building clang/cling 3.5 for ROOT on Lion

Mojca Miklavec mojca at macports.org
Tue Apr 8 02:14:19 PDT 2014


On Tue, Apr 8, 2014 at 10:12 AM, Chris Jones wrote:
>
>>> 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 ?
>>
>>
>> Using latest gcc (currently gcc48) might be a way to support C++11 on OS X
>> < 10.9, but otherwise, with clang, C++11 requires 10.9+.
>
> Yes, I thought of that. But as I understanding it mixing libc++ and
> libstdc++ runtimes is an absolute no no when c++11 is involved, so the user
> would have to update their MacPorts settings to build *everything* with
> gcc(48) ?

So would it work in theory if ROOT could be compiled without any
external dependencies (other than Cocoa)? And is compiling it "without
external dependencies" (and with some limited functionality) feasible
at all?

I checked and it seems that it's depending on CoreFoundation which
depends on /usr/lib/libobjc.A.dylib, no libstdc++ (but OpenGL depends
on /usr/lib/libstdc++.6.dylib and that's probably needed).

Btw: what's the trick to make fortran-based libraries depend on
/usr/lib/libstdc++.6.dylib in the current port (rather than on
/opt/local/lib/libgcc/libgcc_s.1.dylib)?

Mojca


More information about the macports-dev mailing list