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: 111
Popularity: 0.54
First Submitted: 2018-12-05 13:56
Last Updated: 2020-04-01 10:51

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. 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

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

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

nightuser commented on 2019-06-24 08:15

I tried building with LLVM_ENABLE_PROJECTS instead of moving directories around and it seemed ok. I didn't compare the two options of building the package since it takes ages to compile on my hardware.

QuartzDragon commented on 2019-06-15 11:58

Hey @Lone_Wolf, can you add llvm and llvm-git to the provides?

Every package depending on llvm wants to install llvm from the main repos, which prompted me to look. Adding llvm to provides shut them up. Adding llvm-git also wouldn't be a bad idea, just in-case some other AUR package demands a specific version for whatever random reason.

Griever commented on 2019-06-07 18:30

The provides are really starting to become a bit of a mess and maintenance burden. There's been, like, half a dozen switches on mesa-git?

Is there a reason mesa-git should depend on anything other than regular llvm provides? If so, is there really a reason to depend on anything other than *-git provides? AFAIK, mesa usually maintains compatibility with the last two stable LLVM releases.

Ideally, I believe this should only provide regular llvm, *-git and *-svn for compatibility with outdated packages such as libclc-git. Packages should never explicitly depend on *-git or unique packages unless they actually require it.

I truly appreciate you maintaining these packages, but it's becoming a pain to follow all of the changes and regular PKGBUILD breaks due to makedepend/provide changes. Apologies if there are legitimate reasons why all of this is required and can't be worked around any better.

yurikoles commented on 2019-06-02 20:40

@cj360 but you post it here instead of official LLVM bugzilla?

cj360 commented on 2019-06-02 20:34

Trying to build this package is failing for me with this hardware, Ryzen 1600 16gb ram. Here's some of the output the following

Lone_Wolf commented on 2019-05-26 13:38

jpapadopoulos, this package is supposed to be built aginst python 3.

It does seem when both python2 & python3 are installed cmake uses python2 .

Add -D PYTHON_EXECUTABLE=/usr/bin/python \ to the cmake command and cmake will have to use python3 on archlinux.

I'll do the same in next version of the package.

jpapadopoulos commented on 2019-05-26 08:19

I had the following conflict: llvm-git: /usr/lib/python2.7/site-packages/ exists in filesystem (owned by python2-six) I fixed it editing the PKGBUILD to also remove the 2.7 version of . Maybe this should always be removed and the python2-six added as a dep?

Lone_Wolf commented on 2019-05-23 13:20

For the foreseeable future I'll continue being an active AUR maintainer. A compromise for mesa-git / lib32-git is now in place that allows default building against extra while making it easy to build against trunk master.

llvm-lw-git / compiler-rt-lw-git / clang-lw-git , lone_wolf-llvm-git / lone_wolf-compiler-rt-git / lone_wolf-clang-git and their lib32 variants are replaced by llvm-minimal-git + co and will be submitted for deletion / merge in 2 weeks or so.

That leaves 2 llvm trunk sets : llvm-git and llvm-minimal-git . I think llvm-git should continue to provide a full llvm/clang trunk enviornment with all the bells and whistles attached , while llvm-minimal-git is intended to provide a basic llvm/clang trunk withotu extras.

llvm-minimal-git should coexist with extra llvm , while llvm-git conflicts with it.

There are still some things I want to improve in llvm-git that should be finished sometime next month or july. I expect that end of july I'l be asking for someone to take over llvm-git while I'll be keeping llvm-minimal-git .

yurikoles commented on 2019-05-23 08:14

@Lone_Wolf, had you decided something about maintaining your AUR packages?

Lone_Wolf commented on 2019-05-12 12:28

  • I am aware of -DLLVM_ENABLE_PROJECTS , haven't had time to test if it has drawbacks.

  • If you want to speed up building, use ccache . Incremental builds for archlinux packages often result in hard to troubleshoot errors that are prevented by starting clean. The only case I know of where incremental builds are useful is bisecting using makepkg --noextract option.

makepkg --noextract skips prepare() function so removing _build folder in prepare doesn't conflict with that.

  • llvm-libs has generic links that point to stable llvm libraries. To make things worse, is completely unversioned.

aur llvm-svn maintainers have always felt llvm-svn should be a complete compiler environment. llvm-git is the direct successor of llvm-svn and I feel the same.

This results in llvm-libs-git conflicting with llvm-libs. Kerberizer (long-time llvm-svn maintainer) and I both spend considerable time on finding a solution, see for our findings.