[llvm-branch-commits] [clang] [flang] [lld] [llvm] [Flang] LLVM_ENABLE_RUNTIMES=flang-rt (PR #110217)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Fri Feb 7 14:01:40 PST 2025


h-vetinari wrote:

Thanks for the in-depth response, and trying to help fix this!

> Ideas for causes for it not working:

It's none of these, unfortunately.

> I ask you to send a reproducer that works without conda. If you cannot reproduce it without conda, I am assuming the problem is with conda.

It's not a function of conda the tool, but of packaging LLVM for the purpose of shipping it as pre-compiled binaries. These need to be split into components that may depend on each other, because it's imperative that things like `libllvm`, `clang`, `compiler-rt` etc. are shared across all their dependents, and not (for example) that a packaged `flang` repackages the already-existing bits again. Plus, as mentioned, timing constraints in CI.

So the reproducer is pretty simple ("fully stand-alone components").
* build `../llvm` and install into `$PREFIX`
* build `../runtimes` (using `-DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind"`) and install into `$PREFIX`
* build `../clang` (while reusing the bits from llvm/libcxx in `$PREFIX`) and install into `$PREFIX`
* build `../compiler-rt` (while reusing the bits from clang in `$PREFIX`) and install into `$PREFIX`
* build `../mlir` (while reusing the bits from llvm in `$PREFIX`) and install into `$PREFIX`
* build `../flang` (while reusing all the other bits in `$PREFIX`) and install into `$PREFIX`
* build `../flang-rt`

If you want I can work out a full script that does this, but this is why we might arrive in a different place, conceptually speaking.

https://github.com/llvm/llvm-project/pull/110217


More information about the llvm-branch-commits mailing list