Closed nojb closed 7 years ago
Could you give me the location of your LLVM library ? (what's in the directory ?)
What do you get using this command ? "$(brew --cellar)"/llvm/${version}*/bin/llvm-config
Hi @jpdeplaix!
My llvm installation lives at /usr/local/Cellar/llvm/4.0.0/lib
: its contents are:
BugpointPasses.dylib
LLVMHello.dylib
LLVMPolly.so
clang
cmake
libLLVMAArch64AsmParser.dylib
libLLVMAArch64AsmPrinter.dylib
libLLVMAArch64CodeGen.dylib
libLLVMAArch64Desc.dylib
libLLVMAArch64Disassembler.dylib
libLLVMAArch64Info.dylib
libLLVMAArch64Utils.dylib
libLLVMAMDGPUAsmParser.dylib
libLLVMAMDGPUAsmPrinter.dylib
libLLVMAMDGPUCodeGen.dylib
libLLVMAMDGPUDesc.dylib
libLLVMAMDGPUDisassembler.dylib
libLLVMAMDGPUInfo.dylib
libLLVMAMDGPUUtils.dylib
libLLVMARMAsmParser.dylib
libLLVMARMAsmPrinter.dylib
libLLVMARMCodeGen.dylib
libLLVMARMDesc.dylib
libLLVMARMDisassembler.dylib
libLLVMARMInfo.dylib
libLLVMAnalysis.dylib
libLLVMAsmParser.dylib
libLLVMAsmPrinter.dylib
libLLVMBPFAsmPrinter.dylib
libLLVMBPFCodeGen.dylib
libLLVMBPFDesc.dylib
libLLVMBPFDisassembler.dylib
libLLVMBPFInfo.dylib
libLLVMBitReader.dylib
libLLVMBitWriter.dylib
libLLVMCodeGen.dylib
libLLVMCore.dylib
libLLVMCoroutines.dylib
libLLVMCoverage.dylib
libLLVMDebugInfoCodeView.dylib
libLLVMDebugInfoDWARF.dylib
libLLVMDebugInfoMSF.dylib
libLLVMDebugInfoPDB.dylib
libLLVMDemangle.dylib
libLLVMExecutionEngine.dylib
libLLVMGlobalISel.dylib
libLLVMHexagonAsmParser.dylib
libLLVMHexagonCodeGen.dylib
libLLVMHexagonDesc.dylib
libLLVMHexagonDisassembler.dylib
libLLVMHexagonInfo.dylib
libLLVMIRReader.dylib
libLLVMInstCombine.dylib
libLLVMInstrumentation.dylib
libLLVMInterpreter.dylib
libLLVMLTO.dylib
libLLVMLanaiAsmParser.dylib
libLLVMLanaiCodeGen.dylib
libLLVMLanaiDesc.dylib
libLLVMLanaiDisassembler.dylib
libLLVMLanaiInfo.dylib
libLLVMLanaiInstPrinter.dylib
libLLVMLibDriver.dylib
libLLVMLineEditor.dylib
libLLVMLinker.dylib
libLLVMMC.dylib
libLLVMMCDisassembler.dylib
libLLVMMCJIT.dylib
libLLVMMCParser.dylib
libLLVMMIRParser.dylib
libLLVMMSP430AsmPrinter.dylib
libLLVMMSP430CodeGen.dylib
libLLVMMSP430Desc.dylib
libLLVMMSP430Info.dylib
libLLVMMipsAsmParser.dylib
libLLVMMipsAsmPrinter.dylib
libLLVMMipsCodeGen.dylib
libLLVMMipsDesc.dylib
libLLVMMipsDisassembler.dylib
libLLVMMipsInfo.dylib
libLLVMNVPTXAsmPrinter.dylib
libLLVMNVPTXCodeGen.dylib
libLLVMNVPTXDesc.dylib
libLLVMNVPTXInfo.dylib
libLLVMObjCARCOpts.dylib
libLLVMObject.dylib
libLLVMObjectYAML.dylib
libLLVMOption.dylib
libLLVMOrcJIT.dylib
libLLVMPasses.dylib
libLLVMPowerPCAsmParser.dylib
libLLVMPowerPCAsmPrinter.dylib
libLLVMPowerPCCodeGen.dylib
libLLVMPowerPCDesc.dylib
libLLVMPowerPCDisassembler.dylib
libLLVMPowerPCInfo.dylib
libLLVMProfileData.dylib
libLLVMRISCVCodeGen.dylib
libLLVMRISCVDesc.dylib
libLLVMRISCVInfo.dylib
libLLVMRuntimeDyld.dylib
libLLVMScalarOpts.dylib
libLLVMSelectionDAG.dylib
libLLVMSparcAsmParser.dylib
libLLVMSparcAsmPrinter.dylib
libLLVMSparcCodeGen.dylib
libLLVMSparcDesc.dylib
libLLVMSparcDisassembler.dylib
libLLVMSparcInfo.dylib
libLLVMSupport.dylib
libLLVMSymbolize.dylib
libLLVMSystemZAsmParser.dylib
libLLVMSystemZAsmPrinter.dylib
libLLVMSystemZCodeGen.dylib
libLLVMSystemZDesc.dylib
libLLVMSystemZDisassembler.dylib
libLLVMSystemZInfo.dylib
libLLVMTableGen.dylib
libLLVMTarget.dylib
libLLVMTransformUtils.dylib
libLLVMVectorize.dylib
libLLVMX86AsmParser.dylib
libLLVMX86AsmPrinter.dylib
libLLVMX86CodeGen.dylib
libLLVMX86Desc.dylib
libLLVMX86Disassembler.dylib
libLLVMX86Info.dylib
libLLVMX86Utils.dylib
libLLVMXCoreAsmPrinter.dylib
libLLVMXCoreCodeGen.dylib
libLLVMXCoreDesc.dylib
libLLVMXCoreDisassembler.dylib
libLLVMXCoreInfo.dylib
libLLVMXRay.dylib
libLLVMipo.dylib
libLTO.dylib
libPolly.dylib
libPollyISL.dylib
libPollyPPCG.dylib
libc++.1.0.dylib
libc++.1.dylib
libc++.a
libc++.dylib
libc++experimental.a
libclang.dylib
libclangARCMigrate.dylib
libclangAST.dylib
libclangASTMatchers.dylib
libclangAnalysis.dylib
libclangApplyReplacements.dylib
libclangBasic.dylib
libclangChangeNamespace.dylib
libclangCodeGen.dylib
libclangDriver.dylib
libclangDynamicASTMatchers.dylib
libclangEdit.dylib
libclangFormat.dylib
libclangFrontend.dylib
libclangFrontendTool.dylib
libclangIncludeFixer.dylib
libclangIncludeFixerPlugin.dylib
libclangIndex.dylib
libclangLex.dylib
libclangMove.dylib
libclangParse.dylib
libclangQuery.dylib
libclangRename.dylib
libclangReorderFields.dylib
libclangRewrite.dylib
libclangRewriteFrontend.dylib
libclangSema.dylib
libclangSerialization.dylib
libclangStaticAnalyzerCheckers.dylib
libclangStaticAnalyzerCore.dylib
libclangStaticAnalyzerFrontend.dylib
libclangTidy.dylib
libclangTidyBoostModule.dylib
libclangTidyCERTModule.dylib
libclangTidyCppCoreGuidelinesModule.dylib
libclangTidyGoogleModule.dylib
libclangTidyLLVMModule.dylib
libclangTidyMPIModule.dylib
libclangTidyMiscModule.dylib
libclangTidyModernizeModule.dylib
libclangTidyPerformanceModule.dylib
libclangTidyPlugin.dylib
libclangTidyReadabilityModule.dylib
libclangTidyUtils.dylib
libclangTooling.dylib
libclangToolingCore.dylib
libfindAllSymbols.dylib
libgomp.dylib
libiomp5.dylib
liblldCOFF.dylib
liblldConfig.dylib
liblldCore.dylib
liblldDriver.dylib
liblldELF.dylib
liblldMachO.dylib
liblldReaderWriter.dylib
liblldYAML.dylib
libomp.dylib
libunwind.1.0.dylib
libunwind.1.dylib
libunwind.a
libunwind.dylib
python2.7
The command $(brew --cellar)/llvm/4.0.0/bin/llvm-config --libs
gives
-lLLVMLTO -lLLVMPasses -lLLVMObjCARCOpts -lLLVMMIRParser -lLLVMSymbolize -lLLVMDebugInfoPDB -lLLVMDebugInfoDWARF -lLLVMCoverage -lLLVMTableGen -lLLVMOrcJIT -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen -lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMXCoreAsmPrinter -lLLVMSystemZDisassembler -lLLVMSystemZCodeGen -lLLVMSystemZAsmParser -lLLVMSystemZDesc -lLLVMSystemZInfo -lLLVMSystemZAsmPrinter -lLLVMSparcDisassembler -lLLVMSparcCodeGen -lLLVMSparcAsmParser -lLLVMSparcDesc -lLLVMSparcInfo -lLLVMSparcAsmPrinter -lLLVMRISCVDesc -lLLVMRISCVCodeGen -lLLVMRISCVInfo -lLLVMPowerPCDisassembler -lLLVMPowerPCCodeGen -lLLVMPowerPCAsmParser -lLLVMPowerPCDesc -lLLVMPowerPCInfo -lLLVMPowerPCAsmPrinter -lLLVMNVPTXCodeGen -lLLVMNVPTXDesc -lLLVMNVPTXInfo -lLLVMNVPTXAsmPrinter -lLLVMMSP430CodeGen -lLLVMMSP430Desc -lLLVMMSP430Info -lLLVMMSP430AsmPrinter -lLLVMMipsDisassembler -lLLVMMipsCodeGen -lLLVMMipsAsmParser -lLLVMMipsDesc -lLLVMMipsInfo -lLLVMMipsAsmPrinter -lLLVMLanaiDisassembler -lLLVMLanaiCodeGen -lLLVMLanaiAsmParser -lLLVMLanaiDesc -lLLVMLanaiInstPrinter -lLLVMLanaiInfo -lLLVMHexagonDisassembler -lLLVMHexagonCodeGen -lLLVMHexagonAsmParser -lLLVMHexagonDesc -lLLVMHexagonInfo -lLLVMBPFDisassembler -lLLVMBPFCodeGen -lLLVMBPFDesc -lLLVMBPFInfo -lLLVMBPFAsmPrinter -lLLVMARMDisassembler -lLLVMARMCodeGen -lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMAsmPrinter -lLLVMAMDGPUDisassembler -lLLVMAMDGPUCodeGen -lLLVMAMDGPUAsmParser -lLLVMAMDGPUDesc -lLLVMAMDGPUInfo -lLLVMAMDGPUAsmPrinter -lLLVMAMDGPUUtils -lLLVMAArch64Disassembler -lLLVMAArch64CodeGen -lLLVMAArch64AsmParser -lLLVMAArch64Desc -lLLVMAArch64Info -lLLVMAArch64AsmPrinter -lLLVMAArch64Utils -lLLVMObjectYAML -lLLVMLibDriver -lLLVMOption -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMGlobalISel -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMDebugInfoCodeView -lLLVMDebugInfoMSF -lLLVMX86Desc -lLLVMMCDisassembler -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMMCJIT -lLLVMLineEditor -lLLVMInterpreter -lLLVMExecutionEngine -lLLVMRuntimeDyld -lLLVMCodeGen -lLLVMTarget -lLLVMCoroutines -lLLVMipo -lLLVMInstrumentation -lLLVMVectorize -lLLVMScalarOpts -lLLVMLinker -lLLVMIRReader -lLLVMAsmParser -lLLVMInstCombine -lLLVMTransformUtils -lLLVMBitWriter -lLLVMAnalysis -lLLVMObject -lLLVMMCParser -lLLVMMC -lLLVMBitReader -lLLVMProfileData -lLLVMCore -lLLVMSupport -lLLVMDemangle
(note that there is no -lLLVM-4.0
)
Let me know if you want any other information. Thanks!
Could you try using this repository as opam temporary repository ? https://github.com/jpdeplaix/opam-repository The last commit should fix this but I'm not sure :/
If it works I'll open the PR.
Sure; currently at work, will try it tonight and report back. Thanks for the quick reply!
I get:
$ opam install llvm.4.0.0
The following actions will be performed:
∗ install llvm 4.0.0
=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 🐫
=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 🐫
[ERROR] The compilation of llvm failed at "bash -ex install.sh 4.0.0 /Users/nojb/.opam/4.04.0/lib".
Processing 1/1: [llvm: sh]
#=== ERROR while installing llvm.4.0.0 ========================================#
# opam-version 1.2.2
# os darwin
# command bash -ex install.sh 4.0.0 /Users/nojb/.opam/4.04.0/lib
# path /Users/nojb/.opam/4.04.0/build/llvm.4.0.0
# compiler 4.04.0
# exit-code 1
# env-file /Users/nojb/.opam/4.04.0/build/llvm.4.0.0/llvm-94937-ad8886.env
# stdout-file /Users/nojb/.opam/4.04.0/build/llvm.4.0.0/llvm-94937-ad8886.out
# stderr-file /Users/nojb/.opam/4.04.0/build/llvm.4.0.0/llvm-94937-ad8886.err
### stderr ###
# [...]
# llvm-config: error: missing: /usr/local/Cellar/llvm/4.0.0/lib/libLLVMTableGen.a
# llvm-config: error: missing: /usr/local/Cellar/llvm/4.0.0/lib/libLLVMCoverage.a
# llvm-config: error: missing: /usr/local/Cellar/llvm/4.0.0/lib/libLLVMDebugInfoDWARF.a
# llvm-config: error: missing: /usr/local/Cellar/llvm/4.0.0/lib/libLLVMDebugInfoPDB.a
# llvm-config: error: missing: /usr/local/Cellar/llvm/4.0.0/lib/libLLVMSymbolize.a
# llvm-config: error: missing: /usr/local/Cellar/llvm/4.0.0/lib/libLLVMMIRParser.a
# llvm-config: error: missing: /usr/local/Cellar/llvm/4.0.0/lib/libLLVMObjCARCOpts.a
# llvm-config: error: missing: /usr/local/Cellar/llvm/4.0.0/lib/libLLVMPasses.a
# llvm-config: error: missing: /usr/local/Cellar/llvm/4.0.0/lib/libLLVMLTO.a
# + llvm_libs=
=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 🐫
The following actions failed
∗ install llvm 4.0.0
No changes have been performed
=-=- llvm.4.0.0 troobleshooting -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 🐫
=> This package relies on external (system) dependencies that may be missing. `opam depext llvm.4.0.0' may help you find the correct installation for your system.
Indeed, in my /usr/local/Cellar/llvm/4.0.0/lib
directory there are only .dylib
files, no .a
files.
One can use $(brew --cellar)/llvm/4.0.0/bin/llvm-config --shared-mode
to know if llvm
was installed as shared libraries or static ones.
ok, Can you try with the latest version of the above repository ? It should be good now.. hopefully.
OK, seems to go a little further this time:
#=== ERROR while installing llvm.4.0.0 ========================================#
# opam-version 1.2.2
# os darwin
# command bash -ex install.sh 4.0.0 /Users/nojb/.opam/4.04.0/lib
# path /Users/nojb/.opam/4.04.0/build/llvm.4.0.0
# compiler 4.04.0
# exit-code 1
# env-file /Users/nojb/.opam/4.04.0/build/llvm.4.0.0/llvm-8903-d2d111.env
# stdout-file /Users/nojb/.opam/4.04.0/build/llvm.4.0.0/llvm-8903-d2d111.out
# stderr-file /Users/nojb/.opam/4.04.0/build/llvm.4.0.0/llvm-8903-d2d111.err
### stdout ###
# [...]
# -- Installing: /Users/nojb/.opam/4.04.0/lib/llvm/llvm_vectorize.a
# -- Installing: /Users/nojb/.opam/4.04.0/lib/llvm/llvm_vectorize.cmi
# -- Installing: /Users/nojb/.opam/4.04.0/lib/llvm/llvm_vectorize.cmx
# -- Installing: /Users/nojb/.opam/4.04.0/lib/llvm/llvm_executionengine.mli
# -- Installing: /Users/nojb/.opam/4.04.0/lib/llvm/llvm_executionengine.cma
# -- Installing: /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_executionengine.a
# -- Installing: /Users/nojb/.opam/4.04.0/lib/llvm/llvm_executionengine.cmxa
# -- Installing: /Users/nojb/.opam/4.04.0/lib/llvm/llvm_executionengine.a
# -- Installing: /Users/nojb/.opam/4.04.0/lib/llvm/llvm_executionengine.cmi
# -- Installing: /Users/nojb/.opam/4.04.0/lib/llvm/llvm_executionengine.cmx
### stderr ###
# [...]
# + cd ..
# + mkdir /Users/nojb/.opam/4.04.0/lib/llvm/dynamic
# + cp /Users/nojb/.opam/4.04.0/lib/llvm/libllvm.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_AArch64.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_AMDGPU.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_ARM.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_BPF.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_Hexagon.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_Lanai.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_MSP430.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_Mips.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_NVPTX.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_PowerPC.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_RISCV.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_Sparc.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_SystemZ.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_X86.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_XCore.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_all_backends.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_analysis.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_bitreader.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_bitwriter.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_executionengine.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_ipo.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_irreader.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_linker.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_passmgr_builder.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_scalar_opts.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_target.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_transform_utils.a /Users/nojb/.opam/4.04.0/lib/llvm/libllvm_vectorize.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_AArch64.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_AMDGPU.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_ARM.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_BPF.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Hexagon.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Lanai.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_MSP430.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Mips.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_NVPTX.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_PowerPC.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_RISCV.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Sparc.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_SystemZ.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_X86.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_XCore.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_all_backends.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_analysis.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_bitreader.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_bitwriter.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_executionengine.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_ipo.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_irreader.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_linker.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_passmgr_builder.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_scalar_opts.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_target.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_transform_utils.a /Users/nojb/.opam/4.04.0/lib/llvm/llvm_vectorize.a /Users/nojb/.opam/4.04.0/lib/llvm/dynamic
# + mv /Users/nojb/.opam/4.04.0/lib/llvm/llvm.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_AArch64.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_AMDGPU.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_ARM.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_BPF.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Hexagon.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Lanai.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_MSP430.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Mips.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_NVPTX.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_PowerPC.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_RISCV.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Sparc.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_SystemZ.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_X86.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_XCore.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_all_backends.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_analysis.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_bitreader.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_bitwriter.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_executionengine.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_ipo.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_irreader.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_linker.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_passmgr_builder.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_scalar_opts.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_target.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_transform_utils.cma /Users/nojb/.opam/4.04.0/lib/llvm/llvm_vectorize.cma /Users/nojb/.opam/4.04.0/lib/llvm/dynamic
# + mv /Users/nojb/.opam/4.04.0/lib/llvm/llvm.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_AArch64.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_AMDGPU.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_ARM.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_BPF.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Hexagon.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Lanai.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_MSP430.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Mips.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_NVPTX.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_PowerPC.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_RISCV.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_Sparc.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_SystemZ.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_X86.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_XCore.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_all_backends.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_analysis.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_bitreader.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_bitwriter.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_executionengine.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_ipo.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_irreader.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_linker.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_passmgr_builder.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_scalar_opts.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_target.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_transform_utils.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/llvm_vectorize.cmxa /Users/nojb/.opam/4.04.0/lib/llvm/dynamic
# + rm -rf build
# + llvm_restore
# + cp AddOCaml.cmake.save cmake/modules/AddOCaml.cmake
# + sed -i.bak s,%%LINKAGE%%,dynamic, link-META.patch
# sed: link-META.patch: No such file or directory
Oh come on.. :( My bad. I forgot a file to add. Is it working now ?
OK, opam install llvm.4.0.0
now succeeds. On the other hand, when trying to compile my program
I get
+ ocamlfind ocamlopt -linkpkg -g -package llvm -package llvm.bitwriter -I src src/error.cmx src/irep.cmx src/tabs.cmx src/compile.cmx src/parser.cmx src/lexer.cmx src/main.cmx -o src/main.native
File "_none_", line 1:
Error: Cannot find file /Users/nojb/.opam/4.04.0/lib/llvm/llvm_bitwriter.cmxa
Command exited with code 2.
It seems that the .cmxa
files are not being installed; these are the contents of the .opam/4.04.0/lib/llvm
directory:
$ ls ~/.opam/4.04.0/lib/llvm
dynamic libllvm_SystemZ.a libllvm_transform_utils.a llvm_ARM.a llvm_Lanai.cmx llvm_PowerPC.a llvm_SystemZ.cmx llvm_analysis.a llvm_executionengine.cmx llvm_passmgr_builder.a llvm_transform_utils.cmx
libllvm.a libllvm_X86.a libllvm_vectorize.a llvm_ARM.cmi llvm_Lanai.mli llvm_PowerPC.cmi llvm_SystemZ.mli llvm_analysis.cmi llvm_executionengine.mli llvm_passmgr_builder.cmi llvm_transform_utils.mli
libllvm_AArch64.a libllvm_XCore.a llvm.a llvm_ARM.cmx llvm_MSP430.a llvm_PowerPC.cmx llvm_X86.a llvm_analysis.cmx llvm_ipo.a llvm_passmgr_builder.cmx llvm_vectorize.a
libllvm_AMDGPU.a libllvm_all_backends.a llvm.cmi llvm_ARM.mli llvm_MSP430.cmi llvm_PowerPC.mli llvm_X86.cmi llvm_analysis.mli llvm_ipo.cmi llvm_passmgr_builder.mli llvm_vectorize.cmi
libllvm_ARM.a libllvm_analysis.a llvm.cmx llvm_BPF.a llvm_MSP430.cmx llvm_RISCV.a llvm_X86.cmx llvm_bitreader.a llvm_ipo.cmx llvm_scalar_opts.a llvm_vectorize.cmx
libllvm_BPF.a libllvm_bitreader.a llvm.mli llvm_BPF.cmi llvm_MSP430.mli llvm_RISCV.cmi llvm_X86.mli llvm_bitreader.cmi llvm_ipo.mli llvm_scalar_opts.cmi llvm_vectorize.mli
libllvm_Hexagon.a libllvm_bitwriter.a llvm_AArch64.a llvm_BPF.cmx llvm_Mips.a llvm_RISCV.cmx llvm_XCore.a llvm_bitreader.cmx llvm_irreader.a llvm_scalar_opts.cmx opam.config
libllvm_Lanai.a libllvm_executionengine.a llvm_AArch64.cmi llvm_BPF.mli llvm_Mips.cmi llvm_RISCV.mli llvm_XCore.cmi llvm_bitreader.mli llvm_irreader.cmi llvm_scalar_opts.mli
libllvm_MSP430.a libllvm_ipo.a llvm_AArch64.cmx llvm_Hexagon.a llvm_Mips.cmx llvm_Sparc.a llvm_XCore.cmx llvm_bitwriter.a llvm_irreader.cmx llvm_target.a
libllvm_Mips.a libllvm_irreader.a llvm_AArch64.mli llvm_Hexagon.cmi llvm_Mips.mli llvm_Sparc.cmi llvm_XCore.mli llvm_bitwriter.cmi llvm_irreader.mli llvm_target.cmi
libllvm_NVPTX.a libllvm_linker.a llvm_AMDGPU.a llvm_Hexagon.cmx llvm_NVPTX.a llvm_Sparc.cmx llvm_all_backends.a llvm_bitwriter.cmx llvm_linker.a llvm_target.cmx
libllvm_PowerPC.a libllvm_passmgr_builder.a llvm_AMDGPU.cmi llvm_Hexagon.mli llvm_NVPTX.cmi llvm_Sparc.mli llvm_all_backends.cmi llvm_bitwriter.mli llvm_linker.cmi llvm_target.mli
libllvm_RISCV.a libllvm_scalar_opts.a llvm_AMDGPU.cmx llvm_Lanai.a llvm_NVPTX.cmx llvm_SystemZ.a llvm_all_backends.cmx llvm_executionengine.a llvm_linker.cmx llvm_transform_utils.a
libllvm_Sparc.a libllvm_target.a llvm_AMDGPU.mli llvm_Lanai.cmi llvm_NVPTX.mli llvm_SystemZ.cmi llvm_all_backends.mli llvm_executionengine.cmi llvm_linker.mli llvm_transform_utils.cmi
My bad again :( Is it working now ?
Yes, it works!
THANKS!
You're welcome :) I'm opening the PR
On Sat, Apr 29, 2017, 10:38 Nicolás Ojeda Bär notifications@github.com wrote:
Yes, it works!
THANKS!
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ocaml/opam-repository/issues/8987#issuecomment-298155998, or mute the thread https://github.com/notifications/unsubscribe-auth/ACfaTWVjqwHwh0RJOjLxIULn-5-g2GxIks5r0vcGgaJpZM4M-nCx .
I installed llvm 4.0.0 using homebrew and installed the opam llvm package successfully.
However, when trying to compile a program using ocamlbuild+ocamlfind the linking phase fails with:
You can reproduce by cloning https://github.com/nojb/llvm-tiger and typing
make
.Any ideas ?
/cc @jpdeplaix