[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