[MacPorts] #63085: clang-12: compiler-rt build sometimes fails parallel building
MacPorts
noreply at macports.org
Wed Jul 21 01:34:47 UTC 2021
#63085: clang-12: compiler-rt build sometimes fails parallel building
-----------------------+--------------------
Reporter: blair | Owner: kencu
Type: defect | Status: closed
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: fixed | Keywords:
Port: clang-12 |
-----------------------+--------------------
Comment (by kencu):
We have considered switching to ninja. It is rather trivial to do, and in
fact, I have the code in the clang-12 Portfile already, disabled:
{{{
# We can't use Ninja with our custom destrooting plan for llvm
#cmake.generator Ninja
}}}
The problem is a lack of targets available during the build to use.
For ancient reasons, MacPorts installs llvm-12 as a separate port (to
support cctools and ld64 and other ports that only want llvm without a
full installation of everything in the llvm tree). We install lldb-12
separately (as most people don't want it, and many systems can't build
it). And finally we install a clang-12 Port, which is, for all intents and
purpose, is "everything else" -- clang, flang, flang supporting parts,
compiler_rt, and now libc++/libc++abi that I added a while back, and maybe
eventually libunwind, libc, and the rest of it too.
There are no targets to let me install "everything else" that can be
found. So we have to use the Makefile build to allow us to control what
gets installed by clang-12 by the custom destrooting phase you no doubt
have looked at in the clang-12 Portfile (recently rewritten from scratch).
Our options to use Ninja are: stop doing our llvm-12/lldb-12/clang-12
ports the way we do them, or somehow install everything into the destroot
with the clang-12 port, and then delete (through some mechanism)
everything already installed by llvm-12.
It is possible there is some way we might find to do that latter thing, if
we have no other choice available. Chris and I talked about this idea a
few months ago. But every time you change anything, things can be a bit
different and unexpected issues arise.
Look at what happened just by disabling the +analyzer, for example!
--
Ticket URL: <https://trac.macports.org/ticket/63085#comment:28>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list