On Feb 26, 2014, at 16:12, Brandon Allbery wrote: >> 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.
Them’s some good words there, Bradley. Do you feel up to turning it into a FAQ entry? It’s a complicated thing to explain to people and it would be great if there were a central explanation we could refer people to. _______________________________________________ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users