Package Details: llvm-git 12.0.0_r373974.e1b8e8a1f4c3-1

Git Clone URL: https://aur.archlinux.org/llvm-git.git (read-only, click to copy)
Package Base: llvm-git
Description: LLVM development version. includes clang and many other tools
Upstream URL: https://llvm.org/
Keywords: clang git lld lldb llvm polly
Licenses: custom:Apache 2.0 with LLVM Exception
Conflicts: clang, compiler-rt, lld, lldb, llvm, polly
Provides: aur-llvm-git, clang, clang-git, compiler-rt, compiler-rt-git, lld, lld-git, lldb, lldb-git, polly, polly-git
Submitter: yurikoles
Maintainer: Lone_Wolf
Last Packager: Lone_Wolf
Votes: 112
Popularity: 0.048922
First Submitted: 2018-12-05 13:56
Last Updated: 2020-12-06 14:02

Dependencies (24)

Required by (710)

Sources (2)

Pinned Comments

Lone_Wolf commented on 2020-08-22 12:18

Archlinux currently has 3 llvm git implementations

  1. This package

    • It aims to provide a full llvm/clang compiler environment for development purposes.
    • Supports cross-compiling , bindings for external stuff (python, ocaml etc) , and some things not in extra-llvm.
    • intended to be used with archlinux core,extra & community repos
    • CONFLICTS with extra llvm/clang packages
    • binary versions in chaotic aur unofficial repository
  2. llvm-minimal-git

    • focuses on providing stuff needed for AUR mesa-git. Doesn't support cross-compiling or any bindings for external stuff like ocaml & python.
    • intended to be used with archlinux core,extra & community repos
    • compatible with extra llvm/clang packages
    • binary versions in chaotic aur unofficial repository
  3. packages created & maintained by Lordheavy, an arch developer

    • intended to be used with archlinux testing repos
    • sometimes has problems on systems where testing repos are disabled
    • uses same package structure as llvm/clang in official repos
    • source
    • binary versions in LordHeavys unoffical repo

Lone_Wolf commented on 2019-04-12 20:41

I've looked good at clang-trunk , llvm-svn, repo llvm/clang packages and think this package is now on route to become a worthy successor to llvm-svn .

  • llvm-libs-git holds the runtime libraries.

    It conflicts with the repo llvm-libs package. This is the only way to make sure the llvm linker from git is used, and that's needed for a full dev environment.

  • llvm-git

    has llvm , clang, compiler-rt, ocaml & python bindings, polly , lld , lldb .


The Package now uses a new environment variable to make ninja behave, NINJAFLAGS. If you want to use it adjust the snippet below to your desired values and add it to makepkg.conf.

Incase you are satisfied with ninja defaults you don't need to do anything.

# Add to makepkg.conf
# limit ninja to 20 jobs
# requires special code in PKGBUILD
# see ninja --help for additonal options
NINJAFLAGS="-j20"

The check() function fails rather often, but I do suggest to build with them. If build fails due to test failure you can add --nocheck to skip the tests.

Latest Comments

1 2 3 4 5 6 ... Next › Last »

Lone_Wolf commented on 2021-01-03 15:34

I haven't used this package in several months and am looking for a new maintainer.

Lone_Wolf commented on 2020-12-06 14:05

Updated PKGBUILD for python 3.9 .

Sinistar commented on 2020-12-03 03:47

FYI Python now at 3.9

Lone_Wolf commented on 2020-10-25 11:18

Tested and I found no trace of the 'llvm adds projects just because their code is in certain locations' that forced me to remove sourcecode folders.

prepare() no longer removes spourcecode folders and lld is back where it should be.

For now I haven't put back llvmgold.so . This means you can have extra llvm-libs and llvm-libs-git installed together.

LLVMgold.so doesn't appear to b eused by many, are there users who can't use repo LLVMgold.so and require the git version of llvmgold.so ?

Lone_Wolf commented on 2020-10-24 18:25

The error is with building the mach-o target, so doesn't occur when only building X86 & AMDGPU targets. llvm-minimal-git doesn't have this problem also.

Leaving the directories intact does indeed allow build to finish. Unfortunately that leads to llvm building a lot more then the projects specifically named (which is exactly the reason why I started deleting those folders).

Maybe llvm devs changed the build process so it doesn't do that anymore , I'll do some test runs.

Sinistar commented on 2020-10-24 17:54

I do not delete any directories, only build for AMDGPU and X86 in a clean chroot and have not had any problems. I just compiled the Arch kernel and modules with clang and all the llvm replacements with no problems. Edit: just for clarity this is what I build -D LLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;lld;lldb;polly"

Lone_Wolf commented on 2020-10-23 13:14

No longer building lld, also removed conflict with llvm-libs

Lone_Wolf commented on 2020-10-19 12:41

Investigated further and this is indeed related with llvm libunwind.

keeping the libunwind files allows build to continue but gives runtime errors.

Adding libunwind to projects requires adding libcxx which requires libcxxabi.

That means atleast 3 extra llvm parts to build, none of which are in repos.

The error originates in lld . lld needs llvmgold.so which is the reason this package conflicts with repo llvm-libs .

I'm now testing build / run without lld, but doing that would mean this package will need to use repo lld at runtime and no longer provide a full llvm develop environment.

Lone_Wolf commented on 2020-10-10 14:57

toki1990, error confirmed to also appear on uptodate archlinux system.

I've done some searching and it looks like lld build expects to be able to use llvm libunwind implementation , not the gnu libunwind used on archlinux .

https://bugs.llvm.org/show_bug.cgi?id=46813 may be related. Not sure yet how to solve this.

toki1990 commented on 2020-10-09 17:53

warn("Container node skipped: type={0}".format(mdnode.t)) [6444/7329] Building CXX object tools/.../lldMachO2.dir/UnwindInfoSection.cpp.o FAILED: tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o /usr/bin/c++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/lld/MachO -I/home/user/temp/llvm-git/src/llvm-project/lld/MachO -I/home/user/temp/llvm-git/src/llvm-project/lld/include -Itools/lld/include -Iinclude -I/home/user/temp/llvm-git/src/llvm-project/llvm/include -I/home/user/temp/llvm-git/src/llvm-project/llvm/../libunwind/include -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -D_FORTIFY_SOURCE=2 -fPIC -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-redundant-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -fno-exceptions -std=c++14 -MD -MT tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o -MF tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o.d -o tools/lld/MachO/CMakeFiles/lldMachO2.dir/UnwindInfoSection.cpp.o -c /home/user/temp/llvm-git/src/llvm-project/lld/MachO/UnwindInfoSection.cpp In file included from /home/user/temp/llvm-git/src/llvm-project/lld/MachO/UnwindInfoSection.cpp:9: /home/user/temp/llvm-git/src/llvm-project/lld/MachO/UnwindInfoSection.h:15:10: fatal error: mach-o/compact_unwind_encoding.h: No such file or directory 15 | #include "mach-o/compact_unwind_encoding.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. [6461/7329] Building CXX object tools/...les/lldELF.dir/SyntheticSections.cpp.o ninja: build stopped: subcommand failed. ==> ERROR: A failure occurred in build(). Aborting...

tried on new installed full updated manjaro testing branch.