[MacPorts] #59785: llvm ports opportunistically build ocaml binding even when +ocaml variant is not selected; leads to conflicts between them

MacPorts noreply at macports.org
Sun Dec 1 06:30:20 UTC 2019


#59785: llvm ports opportunistically build ocaml binding even when +ocaml variant
is not selected; leads to conflicts between them
-------------------------+-------------------------------
 Reporter:  cooljeanius  |      Owner:  (none)
     Type:  defect       |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  ports        |    Version:  2.6.2
 Keywords:               |       Port:  llvm-7.0 llvm-9.0
-------------------------+-------------------------------
 This bug applies to multiple llvm ports, but let's use 7.0 as an example.
 Trying to activate it leads to:
 {{{
 Error: port activate failed: Image error: /opt/local/lib/ocaml/META.llvm
 is being used by the active llvm-9.0 port.  Please deactivate this port
 first, or use 'port -f activate llvm-7.0' to force the activation.
 }}}
 As you can see, none of my llvm ports have ocaml variants active, so none
 of them should be installing ocaml files:
 {{{
 $ port installed llvm*
 The following ports are currently installed:
   llvm-3.3 @3.3_10+universal (active)
   llvm-3.4 @3.4.2_12+universal (active)
   llvm-3.5 @3.5.2_9+assertions+universal (active)
   llvm-3.7 @3.7.1_4+universal (active)
   llvm-3.9 @3.9.1_5+universal
   llvm-4.0 @4.0.1_2+universal
   llvm-5.0 @5.0.2_1+universal
   llvm-6.0 @6.0.1_1+universal
   llvm-7.0 @7.0.1_2+emulated_tls+universal
   llvm-8.0 @8.0.1_0+emulated_tls+universal (active)
   llvm-9.0 @9.0.0_0+emulated_tls
   llvm-9.0 @9.0.0_0+emulated_tls+universal (active)
   llvm-gcc42 @2336.11_3+universal (active)
   llvm_select @2_0 (active)
 }}}
 And yet:
 {{{
 $ ls /opt/local/lib/ocaml/*llvm*
 /opt/local/lib/ocaml/META.llvm
 /opt/local/lib/ocaml/META.llvm_Hexagon
 /opt/local/lib/ocaml/META.llvm_PowerPC
 /opt/local/lib/ocaml/META.llvm_X86
 /opt/local/lib/ocaml/META.llvm_AArch64
 /opt/local/lib/ocaml/META.llvm_Lanai
 /opt/local/lib/ocaml/META.llvm_RISCV
 /opt/local/lib/ocaml/META.llvm_XCore
 /opt/local/lib/ocaml/META.llvm_AMDGPU
 /opt/local/lib/ocaml/META.llvm_MSP430
 /opt/local/lib/ocaml/META.llvm_Sparc
 /opt/local/lib/ocaml/META.llvm_ARM
 /opt/local/lib/ocaml/META.llvm_Mips
 /opt/local/lib/ocaml/META.llvm_SystemZ
 /opt/local/lib/ocaml/META.llvm_BPF
 /opt/local/lib/ocaml/META.llvm_NVPTX
 /opt/local/lib/ocaml/META.llvm_WebAssembly

 /opt/local/lib/ocaml/llvm:
 libllvm.a                 llvm.mli                  llvm_Lanai.cmxa
 llvm_Sparc.cmx            llvm_analysis.cmi         llvm_linker.cma
 libllvm_AArch64.a         llvm_AArch64.a            llvm_Lanai.mli
 llvm_Sparc.cmxa           llvm_analysis.cmx         llvm_linker.cmi
 libllvm_AMDGPU.a          llvm_AArch64.cma          llvm_MSP430.a
 llvm_Sparc.mli            llvm_analysis.cmxa        llvm_linker.cmx
 libllvm_ARM.a             llvm_AArch64.cmi          llvm_MSP430.cma
 llvm_SystemZ.a            llvm_analysis.mli         llvm_linker.cmxa
 libllvm_BPF.a             llvm_AArch64.cmx          llvm_MSP430.cmi
 llvm_SystemZ.cma          llvm_bitreader.a          llvm_linker.mli
 libllvm_Hexagon.a         llvm_AArch64.cmxa         llvm_MSP430.cmx
 llvm_SystemZ.cmi          llvm_bitreader.cma        llvm_passmgr_builder.a
 libllvm_Lanai.a           llvm_AArch64.mli          llvm_MSP430.cmxa
 llvm_SystemZ.cmx          llvm_bitreader.cmi
 llvm_passmgr_builder.cma
 libllvm_MSP430.a          llvm_AMDGPU.a             llvm_MSP430.mli
 llvm_SystemZ.cmxa         llvm_bitreader.cmx
 llvm_passmgr_builder.cmi
 libllvm_Mips.a            llvm_AMDGPU.cma           llvm_Mips.a
 llvm_SystemZ.mli          llvm_bitreader.cmxa
 llvm_passmgr_builder.cmx
 libllvm_NVPTX.a           llvm_AMDGPU.cmi           llvm_Mips.cma
 llvm_WebAssembly.a        llvm_bitreader.mli
 llvm_passmgr_builder.cmxa
 libllvm_PowerPC.a         llvm_AMDGPU.cmx           llvm_Mips.cmi
 llvm_WebAssembly.cma      llvm_bitwriter.a
 llvm_passmgr_builder.mli
 libllvm_RISCV.a           llvm_AMDGPU.cmxa          llvm_Mips.cmx
 llvm_WebAssembly.cmi      llvm_bitwriter.cma        llvm_scalar_opts.a
 libllvm_Sparc.a           llvm_AMDGPU.mli           llvm_Mips.cmxa
 llvm_WebAssembly.cmx      llvm_bitwriter.cmi        llvm_scalar_opts.cma
 libllvm_SystemZ.a         llvm_ARM.a                llvm_Mips.mli
 llvm_WebAssembly.cmxa     llvm_bitwriter.cmx        llvm_scalar_opts.cmi
 libllvm_WebAssembly.a     llvm_ARM.cma              llvm_NVPTX.a
 llvm_WebAssembly.mli      llvm_bitwriter.cmxa       llvm_scalar_opts.cmx
 libllvm_X86.a             llvm_ARM.cmi              llvm_NVPTX.cma
 llvm_X86.a                llvm_bitwriter.mli        llvm_scalar_opts.cmxa
 libllvm_XCore.a           llvm_ARM.cmx              llvm_NVPTX.cmi
 llvm_X86.cma              llvm_executionengine.a    llvm_scalar_opts.mli
 libllvm_all_backends.a    llvm_ARM.cmxa             llvm_NVPTX.cmx
 llvm_X86.cmi              llvm_executionengine.cma  llvm_target.a
 libllvm_analysis.a        llvm_ARM.mli              llvm_NVPTX.cmxa
 llvm_X86.cmx              llvm_executionengine.cmi  llvm_target.cma
 libllvm_bitreader.a       llvm_BPF.a                llvm_NVPTX.mli
 llvm_X86.cmxa             llvm_executionengine.cmx  llvm_target.cmi
 libllvm_bitwriter.a       llvm_BPF.cma              llvm_PowerPC.a
 llvm_X86.mli              llvm_executionengine.cmxa llvm_target.cmx
 libllvm_executionengine.a llvm_BPF.cmi              llvm_PowerPC.cma
 llvm_XCore.a              llvm_executionengine.mli  llvm_target.cmxa
 libllvm_ipo.a             llvm_BPF.cmx              llvm_PowerPC.cmi
 llvm_XCore.cma            llvm_ipo.a                llvm_target.mli
 libllvm_irreader.a        llvm_BPF.cmxa             llvm_PowerPC.cmx
 llvm_XCore.cmi            llvm_ipo.cma              llvm_transform_utils.a
 libllvm_linker.a          llvm_BPF.mli              llvm_PowerPC.cmxa
 llvm_XCore.cmx            llvm_ipo.cmi
 llvm_transform_utils.cma
 libllvm_passmgr_builder.a llvm_Hexagon.a            llvm_PowerPC.mli
 llvm_XCore.cmxa           llvm_ipo.cmx
 llvm_transform_utils.cmi
 libllvm_scalar_opts.a     llvm_Hexagon.cma          llvm_RISCV.a
 llvm_XCore.mli            llvm_ipo.cmxa
 llvm_transform_utils.cmx
 libllvm_target.a          llvm_Hexagon.cmi          llvm_RISCV.cma
 llvm_all_backends.a       llvm_ipo.mli
 llvm_transform_utils.cmxa
 libllvm_transform_utils.a llvm_Hexagon.cmx          llvm_RISCV.cmi
 llvm_all_backends.cma     llvm_irreader.a
 llvm_transform_utils.mli
 libllvm_vectorize.a       llvm_Hexagon.cmxa         llvm_RISCV.cmx
 llvm_all_backends.cmi     llvm_irreader.cma         llvm_vectorize.a
 llvm.a                    llvm_Hexagon.mli          llvm_RISCV.cmxa
 llvm_all_backends.cmx     llvm_irreader.cmi         llvm_vectorize.cma
 llvm.cma                  llvm_Lanai.a              llvm_RISCV.mli
 llvm_all_backends.cmxa    llvm_irreader.cmx         llvm_vectorize.cmi
 llvm.cmi                  llvm_Lanai.cma            llvm_Sparc.a
 llvm_all_backends.mli     llvm_irreader.cmxa        llvm_vectorize.cmx
 llvm.cmx                  llvm_Lanai.cmi            llvm_Sparc.cma
 llvm_analysis.a           llvm_irreader.mli         llvm_vectorize.cmxa
 llvm.cmxa                 llvm_Lanai.cmx            llvm_Sparc.cmi
 llvm_analysis.cma         llvm_linker.a             llvm_vectorize.mli
 $ ls /opt/local/lib/ocaml/*.llvm* | xargs port provides
 /opt/local/lib/ocaml/META.llvm is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_AArch64 is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_AMDGPU is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_ARM is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_BPF is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_Hexagon is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_Lanai is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_MSP430 is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_Mips is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_NVPTX is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_PowerPC is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_RISCV is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_Sparc is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_SystemZ is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_WebAssembly is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_X86 is provided by: llvm-9.0
 /opt/local/lib/ocaml/META.llvm_XCore is provided by: llvm-9.0
 }}}
 Unfortunately the logfiles that originally showed ocaml being detected
 during configure got overwritten. Attaching the relevant log lines (found
 by `grep -i ocaml
 /opt/local/var/macports/logs/_opt_local_var_macports_*_llvm-*/*/main.log >
 llvm_ocaml_log_lines.txt`) anyways.

-- 
Ticket URL: <https://trac.macports.org/ticket/59785>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list