On Wed, Feb 26, 2014 at 4:49 PM, Alexey Luchko <[email protected]> wrote:

> I have working llvm-3.5 @3.5-r198565_0+assertions.
> Recently, it was updated to @3.5-r202097.
>
> An attempt to upgrade results in a message:
> Error: llvm-3.5 requires a C++11 runtime, which your configuration
> does not allow
>
> The cause is presence of /usr/lib/libc++.dylib as far as I can get.
>
> Does it mean that llvm-3.5 does not work on 10.7?
>

By itself, it works fine. The problem is that it is never by itself; it
exists in an ecosystem whose contents are defined by Apple. On 10.7 that
ecosystem is not C++11, and while you can build a C++11 ecosystem of your
own it is not compatible with anything else. In particular it is not
compatible with any C++ libraries provided by Apple as part of the base
system or Xcode, and if you ever try to use an Apple-compatible C++ library
with it you will get link errors or possibly crashes.

After playing whack-a-mole for a while trying to get stuff to coexist,
MacPorts has given up and acknowledged that the only thing that works
reliably is to go with what is compatible with Apple libraries; that means
only older llvm that uses pre-C++11 interfaces (provided by libstdc++ or an
Apple-sourced compatible libc++) on pre-10.9 and only newer llvm that uses
C++11 interfaces (provided by modern libc++ but not the libc++ shipped on
older OS X) on 10.9. Any other combination *might* work if you are lucky
but is not guaranteed in any way, and MacPorts no longer supports it.

-- 
brandon s allbery kf8nh                               sine nomine associates
[email protected]                                  [email protected]
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net
_______________________________________________
macports-users mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to