1 |
Hi, |
2 |
|
3 |
I recently upgraded my Prefix on x86_64-apple-darwin17 (macOS 10.13.4) |
4 |
to clang 6.0.0 with only minor fallout (cmake doesn't build). I again |
5 |
just duplicated libcxx and libcxxabi ebuilds. Slotting worked as |
6 |
intended so that clang 5.0.1 remained available in case of problems. |
7 |
|
8 |
LLVM however is depending on libcxx of the same major version: |
9 |
|
10 |
kernel_Darwin? ( |
11 |
<sys-libs/libcxx-$(ver_cut 1-3).9999 |
12 |
|
13 |
This causes emerge trying to downgrade libcxx as long as llvm-5 remains |
14 |
installed: |
15 |
|
16 |
[nomerge ] sys-devel/llvm-5.0.1 |
17 |
[ebuild UD ] sys-libs/libcxx-5.0.1 [6.0.0] |
18 |
|
19 |
sys-libs/libcxx:0 |
20 |
|
21 |
(sys-libs/libcxx-6.0.0:0/0::local, installed) pulled in by >=sys-libs/libcxx-6.0.0[...] |
22 |
required by (sys-devel/clang-runtime-6.0.0-r1:6.0.0/6.0.0::gentoo_prefix, installed) |
23 |
|
24 |
(sys-libs/libcxx-5.0.1:0/0::gentoo_prefix, ebuild scheduled for merge) pulled in by |
25 |
<sys-libs/libcxx-5.0.1.9999 required by (sys-devel/llvm-5.0.1:5/5::gentoo_prefix, installed) |
26 |
|
27 |
Is it a real thing that llvm needs a matching libcxx? The rest of the |
28 |
prefix currently just assumes that @rpath/libc++.1.dylib remains |
29 |
compatible on upgrade which has worked so far. |
30 |
|
31 |
I've compared to the main Gentoo repo and synced the ebuilds for |
32 |
libcxxabi and libcxx (requiring adjustment and installation of llvm-libunwind). |
33 |
It's not slotted there either and should face the same problem. So I |
34 |
guess this is still work in progress. |
35 |
|
36 |
Because Apple still hasn't released any sources of Xcode 9, I took the |
37 |
opportunity to look into lld and whether it could be used as a |
38 |
replacement for ld64 yet. Unfortunately that doesn't work. Clang calls |
39 |
it with ld64 options it does not emulate (which it's supposed to do) and |
40 |
LLVM developers themselves say that development is stalled as recently |
41 |
as April 2017[1]. So no luck there. |
42 |
|
43 |
While binutils bfd seems to have some support for Mach-O now, binutils |
44 |
ld still refuses to configure on Darwin. |
45 |
|
46 |
[1] https://groups.google.com/forum/?_escaped_fragment_=msg/llvm-dev/rc7TWTY03Sc/z4SdD2G7AgAJ |
47 |
-- |
48 |
Michael |
49 |
I'm against it! |