[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