Dear smart people,
Having run into an unexpected problem with clang-3.7 segfaulting not long ago
after a 3.7 minor version update, and then an interesting libLTO incorrect
"version error" when I tried to upgrade the compiler chain from clang-3.7 to
clang-3.8, I'd like to have a slightly better understanding of how these tools
fit together.
There is a port select mechanism for clang, and a port select mechanism for
llvm. But would it be fair to say you would always do both of them together, ie
if you're switching to clang-3.8, you'll also need to switch to llvm-3.8? This
seems pretty obvious, and I always do switch both when I do it. Should the port
select mechanism just do that automatically for both if you ask it do it for
one?
Also, cctools and ld64 also have a specific variant for each version of llvm,
it appears from the following command.
sudo port -v -n upgrade --enforce-variants cctools -llvm33 -llvm34 +llvm37
configure.compiler=macports-clang-3.7
sudo port -v upgrade --enforce-variants ld64 -llvm33 -llvm34 +llvm37
configure.compiler=macports-clang-3.7
So is it also the case that if you're switching clang versions (and then llvm
versions) you need to run commands like the following to bring your cctools and
ld64 variants into sync?
And finally, for those of us who have installed libc++ on older systems, just
to clarify that libc++ is a fixed entity, and it does not change or need to
change with any of the above - build it once, install it, and leave it alone,
basically?
Hope this question is clear. Thanks,
Ken
_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev