that is a possibilty, but the recommended method is to setup "clean chroot building" to separate runtime & build environments .
See https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot
Git Clone URL: | https://aur.archlinux.org/llvm-minimal-git.git (read-only, click to copy) |
---|---|
Package Base: | llvm-minimal-git |
Description: | C language family frontend for LLVM (trimmed down git version) |
Upstream URL: | https://llvm.org/ |
Licenses: | Apache-2.0 WITH LLVM-exception |
Conflicts: | clang, compiler-rt |
Provides: | clang, clang-analyzer, clang-tools-extra, compiler-rt |
Submitter: | Lone_Wolf |
Maintainer: | Lone_Wolf |
Last Packager: | Lone_Wolf |
Votes: | 5 |
Popularity: | 0.001881 |
First Submitted: | 2019-05-14 19:32 (UTC) |
Last Updated: | 2025-02-05 00:37 (UTC) |
that is a possibilty, but the recommended method is to setup "clean chroot building" to separate runtime & build environments .
See https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot
Got that. So this basically mean that if I want mesa-git on my machine I would probably need to replace the whole llvm suite to avoid issues?
I'll look into moving those files to clang-minimal-git which has a conflict with repo clang so pacman won't allow installing both .
I do think having repo clang & llvm-minimal-git installed together is a bad idea and can cause issues.
Also keep in mind that llvm-libs-minimal-git is the only part needed at runtime and customized to coexist with repo llvm-libs .
Building the packages goes fine, but when I try to install the packages I get the following error:
error: failed to commit transaction (conflicting files)
llvm-minimal-git: /usr/bin/amdgpu-arch exists in filesystem (owned by clang)
llvm-minimal-git: /usr/bin/nvptx-arch exists in filesystem (owned by clang)
llvm-minimal-git: /usr/share/clang-doc/clang-doc-default-stylesheet.css exists in filesystem (owned by clang)
llvm-minimal-git: /usr/share/clang-doc/index.js exists in filesystem (owned by clang)
Errors occurred, no packages were upgraded.
The pkgver at my build is 21.0.0_r526143.077e0c134a31
.
built just fine on 14.10, built just fine today - 20.0.0_r515197.37ad65ffb6b8-1
Sounds like you are using customised makepkg.conf/pacman.conf as lld is the llvm linker and clean chroot builds are meant to use gcc & ld .
Also LLVM_ENABLED_SHARED_LIBS=ON is only meant for use by llvm developers in special cases.
Try re-creating the chroot from scratch with $ mkarchroot $CHROOT/root base-devel
and only edit the mirrorlist.
thank you for your response. I just tested this build using regular makepkg -si
and it works so long as I set:
-D LLVM_PARALLEL_LINK_JOBS=1
-D LLVM_ENABLED_SHARED_LIBS=ON
-D LLVM_ENABLE_LLD=ON
in the PKGBUILD
, but for some reason when trying with makechrootpkg -c -r $CHROOT
it gives
CMake Error at cmake/modules/HandleLLVMOptions.cmake:412 (message):
Host compiler does not support '-fuse-ld=lld'. Please make sure that 'lld'
is installed and that your host compiler can compile a simple program when
given the option '-fuse-ld=lld'.
Call Stack (most recent call first):
CMakeLists.txt:1019 (include)
I'm very new to clean chroot building and recently moved away from using AUR helpers, so I'm struggling with researching how to fix this. I set up the chroot according to the wiki, but maybe there was something non-trivial I'm meant to do for the compiler to work correctly.
No build issues with rev 20.0.0_r514923.bec839d8eed9 .
Could be an upstream issue, try again. If it still fails look in the aur/llvm-minimal-git folder for files ending with .log .
building in a clean chroot fails, but error is not descriptive. Steps to reproduce
[base] [mdupont@arch-g14 ~] :) cd aur
[base] [mdupont@arch-g14 aur] :) cd llvm-minimal-git
[base] [mdupont@arch-g14 llvm-minimal-git] (master) :) makechrootpkg -c -r $CHROOT
...
[ 43%] Built target obj.clangBasic
make: *** [Makefile:156: all] Error 2
make: Leaving directory '/build/llvm-minimal-git/src/_build'
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Build failed, check /home/mdupont/chroot/mdupont/build
this error is not descriptive enough for me to diagnose the problem on my own. Any hints?
@wustdsh I'm so caught up in my things that I didn't bother to look and just reported.
Original line:
rm "$pkgdir"/usr/lib/clang/19/lib/{i386-pc-linux-gnu,x86_64-pc-linux-gnu}/*.a
Only removed i386-pc-linux-gnu
Left:
rm "$pkgdir"/usr/lib/clang/19/lib/x86_64-pc-linux-gnu/*.a
Builds just fine. @Lone_Wolf
Pinned Comments
Lone_Wolf commented on 2022-11-02 11:39 (UTC)
During building you may encounter lots of coredumps, slowing build down or even dramatically reducing the responsiveness of your system.
See https://wiki.archlinux.org/title/Core_dump for solutions/workarounds .
Lone_Wolf commented on 2020-08-22 12:30 (UTC) (edited on 2020-08-22 12:31 (UTC) by Lone_Wolf)
Archlinux currently has 3 llvm git implementations
this package
llvm-git
packages created & maintained by Lordheavy, an arch developer
Lone_Wolf commented on 2019-08-25 12:39 (UTC) (edited on 2021-01-30 21:15 (UTC) by Lone_Wolf)
Why does this package exist ?
Llvm & aur llvm-git are intended to provide a full development environment of llvm/clang suite that can replace eachother completely (aur llvm-git adds some xtra functionality)
llvm-minimal-git is a stripped-down llvm trunk build with these goals :
Some of the things that are stripped out :
Maintainers (and users) should only depend on llvm-miminal-git after verifying it satisfies what they need.
Lone_Wolf commented on 2019-08-21 13:51 (UTC) (edited on 2024-02-24 20:50 (UTC) by Lone_Wolf)
When building this you are likely to see test failures in terminal output / logs.
The command used for the tests has been changed to continue regardless of failures. Incase you don't want to run the tests you can use --nocheck option of makepkg.