Package Base Details: llvm-git

Git Clone URL: (read-only, click to copy)
Keywords: clang git lld lldb llvm polly
Submitter: yurikoles
Maintainer: Lone_Wolf
Last Packager: Lone_Wolf
Votes: 110
Popularity: 0.058645
First Submitted: 2018-12-05 13:56
Last Updated: 2019-11-18 14:13

Pinned Comments

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. I understand how older llvm libs repo packages do it, not sure yet if i agree with the approach.

  • llvm-git

    has llvm , clang, compiler-rt, ocaml & python bindings, polly , lld , lldb . The provides for llvm-svn have been re-added to allow others maintainers to update their packages.

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

llvm check now works, clang check however fails. I suggest to test without nocheck first, if build fails due to test failure add--nocheck .

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 ... Next › Last »

ConfuZzled commented on 2019-10-11 11:55

Does this package contain everything that llvm-libs-minimal-git does? While the AUR package for mesa-git I can obviously configure to use llvm-libs-git, the package in PedroHLC's still depends on it, which causes a file conflict. Would there be any issues in making this also provide llvm-libs-minimal-git?

Sinistar commented on 2019-09-25 21:44

Yes I add the version to the dependency. I also split out the packages as they are in the extra repo, but do not build lld or lldb.

Lone_Wolf commented on 2019-09-25 08:03

Sinistar, did you also add a hard dependency on that version as a runtime dependency for llvm-git ?

If not, then you have no guarantee the ocaml version at runtime will be the same as the one the package is build against.

I guess the clean way to do this would be to go back to the method used in llvm-svn (and extra/llvm ) and split off the ocaml support into a package_llvm-ocaml-git() function that gets a hard dependency on the specific ocaml version it's build against.

Sinistar commented on 2019-09-24 23:48

I use this in my PKGBUILD for ocaml version.

 _ocaml_ver() {
 { pacman -Q ocaml 2>/dev/null || pacman -Sp --print-format '%n %v' ocaml ;} \
     | awk '{ print $2 }' | cut -d - -f 1 | cut -d . -f 1,2,3}

Lone_Wolf commented on 2019-08-22 21:31

The hardcoded ocaml version was a remnant from llvm-svn and intended to ensure installed ocaml was the same as where llvm-ocaml-svn was build against.

This worked because ocaml was a dependency for llvm-ocaml-svn, but ocaml is an optdepend for llvm-git and optdepends can't have version requirements.

I've removed the hardcocded version requirement.

Lone_Wolf commented on 2019-08-22 13:08

Yup, ocaml was upgraded in repos and you're the first to notice that breaks building .

I'll update it and/or look into methods to automate getting that version.

PedroHLC commented on 2019-08-22 11:36

error: target not found: ocaml=4.07.1

Is that right? ocaml in extra is on 4.08.0

gally commented on 2019-07-11 20:54

Hi, thanks alot for the suggestions. I figured out what was wrong on my part. Turns out my buildfolder ran out of space, even though no error pointed to this at first. I moved it around and now it build fine. Sorry :)

PedroHLC commented on 2019-07-11 13:37

I have been building @Lone_Wolf's llvm-git, llvm-minimal-git and lib32 variants in my repo (chaotic-aur) every single day since February, including checks. And all this time I recall it failing only two or three times. The secret is to always build in a clean chroot. (I also build mesa-git hourly, this sometimes fails in the building, but it's usually fixed a few minutes later )

Lone_Wolf commented on 2019-07-11 11:52

I just finshed building, got lots of warnings, but NO build failures at all with a fully updated archlinux . There were test failures, but those are very common with llvm trunk and skipping them with makepkg --nocheck option is easy.

  • to those with build problems.

If you don't use devtools, build with makepkg --cleanbuild --syncdeps --rmdeps .

Make sure no other llvm package is installed. An existing installation of ocaml and python-recommonmark can also cause problems.

Incorrect python installs can break the build() & check() easily. Make sure you're only using python3 from arch repos. If you use pip, conda , anaconda or other stuff that tries to manage python , create a separate user for those or for building llvm-git.

  • lots of provides

Lordheavy unofficial repo has switched to -git, so the -svn provides can go. packages that still depend on them should be updated (or orphaned if maintainer is unactive). I will add llvm-git to provides and also look at provides as a whole.

  • not providing llvm

This is a deliberate choice, I will add pinned comments explaining the reasoning.


Thanks for testing, nightuser. I have good resuilts with that option in llvm-minimal-git and your confirmation helps. I will switch to that method.