I was trying to update the default LLVM. ======================================================================== diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 11e4cfbe4c..b0e80507f4 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -527,10 +527,10 @@ output), and Binutils.") (make-clang-toolchain clang-9)) ;; Default LLVM and Clang version. -(define-public llvm llvm-9) -(define-public clang-runtime clang-runtime-9) -(define-public clang clang-9) -(define-public clang-toolchain clang-toolchain-9) +(define-public llvm llvm-10) +(define-public clang-runtime clang-runtime-10) +(define-public clang clang-10) +(define-public clang-toolchain clang-toolchain-10) (define-public llvm-8 (package ======================================================================== With the help of `guix refresh', I have identified all packages that depended on LLVM 9 and will now potentially be using LLVM 10. Among those is emacs-irony-mode-server, which fails to build with the following error: ======================================================================== CMake Error at /gnu/store/4ml806jam2af7f8i8sg8xi7b4mw81x9g-clang-10.0.0/lib/cmake/clang/ClangTargets.cmake:627 (message): The imported target "clangApplyReplacements" references the file "/gnu/store/4ml806jam2af7f8i8sg8xi7b4mw81x9g-clang-10.0.0/lib/libclangApplyReplacements.a" but this file does not exist. Possible reasons include: * The file was deleted, renamed, or moved to another location. * An install or uninstall procedure did not complete successfully. * The installation package was faulty and contained "/gnu/store/4ml806jam2af7f8i8sg8xi7b4mw81x9g-clang-10.0.0/lib/cmake/clang/ClangTargets.cmake" but not all the files it references. Call Stack (most recent call first): /gnu/store/4ml806jam2af7f8i8sg8xi7b4mw81x9g-clang-10.0.0/lib/cmake/clang/ClangConfig.cmake:18 (include) src/CMakeLists.txt:4 (find_package) -- Configuring incomplete, errors occurred! See also "/tmp/guix-build-emacs-irony-mode-server-1.4.0.drv-0/source/CMakeFiles/CMakeOutput.log". command "cmake" "server" "-DCMAKE_INSTALL_PREFIX=/gnu/store/5clyjcgw8g9jhryhk8bhljg950ijmwm4-emacs-irony-mode-server-1.4.0" failed with status 1 builder for `/gnu/store/qiiqbbzpigs7lnywplbwjdsh4qc2ic94-emacs-irony-mode-server-1.4.0.drv' failed with exit code 1 ======================================================================== The ClangTargets.cmake file for LLVM 10 gained ApplyReplacements in a list of libraries provided by clang, but Guix removes these libraries: ======================================================================== ;; Remove MiBs of .a files coming from ;; 'clang-tools-extra'. (for-each (lambda (component) (delete-file (string-append lib "/libclang" component ".a"))) '("ApplyReplacements" "ChangeNamespace" "Daemon" "DaemonTweaks" "Doc" "IncludeFixer" "IncludeFixerPlugin" "Move")) ======================================================================== The code was introduced in this commit: commit 77a87ad4aceed9d89d615540e0fd147e3a8b2f64 Author: Ludovic Courtès Date: Thu May 28 11:46:59 2020 +0200 gnu: clang: Build 'clang-tools-extra'. * gnu/packages/llvm.scm (clang-from-llvm): Add #:tools-extra. Add 'output' field. In 'inputs', add TOOLS-EXTRA when it's given. In 'arguments', add 'add-tools-extra' and 'move-extra-tools' phases when TOOLS-EXTRA is given. I don't know cmake nearly well enough to fix this. Regards, Jakub Kądziołka