Skip to content

README: Using clang instead of llvm from core for libllvm #1105

@danielfdickinson

Description

@danielfdickinson

At least on Walnascar, if one is using clang as the primary toolchain and runtime (per README in this repo), but a recipe depends on llvm-libllvm, then one gets errors as both clang and llvm are pulled in and conflict. See below.

I found, in this case, that adding:

RPROVIDES:clang-libllvm = "llvm-libllvm"
PREFERRED_RPROVIDER_llvm-libllvm = "clang-libllvm"

worked to resolve the issue. Not sure if this is 'right' way. If it is, it would be helpful to have this noted in the README.

ERROR: Multiple .bb files are due to be built which each provide llvm:##################################                                                                                                       | ETA:  0:00:00
  /home/build/meta-clang/recipes-devtools/clang/clang_git.bb
  /home/build/meta-oe-core/meta/recipes-devtools/llvm/llvm_20.1.0.bb
A list of tasks depending on these providers is shown and may help explain where the dependency comes from.
/home/build/meta-clang/recipes-devtools/clang/clang_git.bb has unique dependees:
  /home/build/meta-oe-core/meta/recipes-graphics/mesa/mesa.bb:do_package
  /home/build/meta-doky/recipes-graphics/images/core-image-x11-doky.bb:do_populate_lic_deploy
  /home/build/meta-oe-core/meta/recipes-graphics/mesa/mesa.bb:do_prepare_recipe_sysroot
  /home/build/meta-oe-core/meta/recipes-graphics/mesa/mesa.bb:do_collect_spdx_deps
/home/build/meta-oe-core/meta/recipes-devtools/llvm/llvm_20.1.0.bb has unique dependees:
  /home/build/meta-oe-core/meta/recipes-graphics/mesa/mesa.bb:do_package_qa
  /home/build/meta-oe-core/meta/recipes-graphics/mesa/mesa.bb:do_create_package_spdx
It could be that one recipe provides something the other doesn't and should. The following provider and runtime provider differences may be helpful.
/home/build/meta-clang/recipes-devtools/clang/clang_git.bb has unique provides:
  clang
/home/build/meta-clang/recipes-devtools/clang/clang_git.bb has unique rprovides:
  lldb-server
  clang-libclang-cpp
  clang-doc
  ^clang-locale-.*
  clang-locale
  libclang
  liblldb
  clang-tools
  clang-libclang-python
  clang-dev
  clang
  clang-format
  clang-tidy
  clang-staticdev
  lldb
  clang-libllvm
  clang-src
  clang-lldb-python
  llvm-linker-tools
  clang-dbg
/home/build/meta-oe-core/meta/recipes-devtools/llvm/llvm_20.1.0.bb has unique provides:
  
/home/build/meta-oe-core/meta/recipes-devtools/llvm/llvm_20.1.0.bb has unique rprovides:
  llvm-src
  llvm-locale
  llvm-dbg
  llvm-liboptremarks
  llvm-staticdev
  llvm-llvmhello
  llvm
  ^llvm-locale-.*
  llvm-doc
  llvm-libllvm
  llvm-bugpointpasses
  llvm-dev
  llvm-liblto

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions