Package Base Details: llvm-minimal-git

Git Clone URL: https://aur.archlinux.org/llvm-minimal-git.git (read-only, click to copy)
Submitter: Lone_Wolf
Maintainer: Lone_Wolf
Last Packager: Lone_Wolf
Votes: 5
Popularity: 0.50
First Submitted: 2019-05-14 19:32 (UTC)
Last Updated: 2024-04-18 22:06 (UTC)

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

  1. this package

    • see other pinned comments for details
  2. llvm-git

    • 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
  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-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 :

  • llvm-libs-minimal-git must coexist with stable llvm-libs
  • provide what's needed for mesa trunk (it's a hard dependency for mesa-minimal-git and a possible dependeny for mesa-git)
  • provide basic llvm/clang compiler functionality on x86-64 architecture

Some of the things that are stripped out :

  • cross-compiling support
  • bindings for ocaml
  • bindings for go
  • lld , lldb and polly
  • documentation
  • examples
  • benchmarks

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.

Latest Comments

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

Faalagorn commented on 2019-08-11 12:24 (UTC) (edited on 2019-08-11 21:42 (UTC) by Faalagorn)

Commenting out just the check() function made it compile after two previous failures for me – also I see that https://aur.archlinux.org/packages/lib32-llvm-minimal-git/ PKGBUILD is different and among some doesn't include that check, although I didn't try compiling it yet (EDIT: it works fine).

EDIT: Alternatively, it works by disabling check via --nocheck or stating BUILDENV=([…] !check […])

Lone_Wolf commented on 2019-06-25 20:09 (UTC) (edited on 2019-06-25 20:10 (UTC) by Lone_Wolf)

@Octobot : clang regresssion tests fail so often I'm tempted to remove them from the check() function. Usually they go away(and are sometimes replaced by others) after a few days when upstream solved them.

@Sinistar llvm-minimal-git gives more warnings then in the past, but other then that I haven't encountered problems with it or mesa-git using llvm-minimal-git & gcc9 . Will test llvm-git in a few days.

Sinistar commented on 2019-06-23 22:11 (UTC) (edited on 2019-06-23 22:15 (UTC) by Sinistar)

Just a heads up, GCC 9.X seems to be messed up. LLVM will compile fine with clang, or GCC 8.X. Also, MESA will compile ok with GCC 8.X. If you use clang to compile LLVM you will also need to use gold as the linker and add clang as a makedepends.

Example:

    -D CMAKE_C_COMPILER=/usr/bin/clang \
    -D CMAKE_CXX_COMPILER=/usr/bin/clang++ \
    -D LLVM_USE_LINKER=gold \

0ctobot commented on 2019-06-20 19:16 (UTC) (edited on 2019-06-20 19:25 (UTC) by 0ctobot)

It seems no matter what I do, I am unable to successfully build this or the full llvm-git packages. Both ceaselessly fail during regression testing. In the case of llvm-minimal, the results are as follows:

.../llvm-minimal-git/src/llvm-project/clang-tools-extra/test/modularize/ProblemsCoverage.modularize:3:10: error: CHECK: expected string not found in input CHECK: warning: {{.}}{{[/\]}}Inputs/CoverageProblems/module.modulemap does not account for file: {{.}}{{[/\]}}Inputs/CoverageProblems/Level3A.h

Testing Time: 61.37s Failing Tests (1): Clang Tools :: modularize/ProblemsCoverage.modularize

Expected Passes : 750 Expected Failures : 1 Unsupported Tests : 1 Unexpected Failures: 1 FAILED: tools/clang/tools/extra/test/CMakeFiles/check-clang-tools cd .../llvm-minimal-git/src/_build/tools/clang/tools/extra/test && /usr/bin/python .../llvm-minimal-git/src/_build/./bin/llvm-lit -sv .../llvm-minimal-git/src/_build/tools/clang/tools/extra/test ninja: build stopped: subcommand failed. ==> ERROR: A failure occurred in check(). Aborting...

bpierre commented on 2019-05-30 21:23 (UTC)

Depends on your umask (I default to a non-permissive one) and how you build the package.

Lone_Wolf commented on 2019-05-30 19:37 (UTC)

Looks like that file already has 644 permissions.

$ stat pkg/llvm-minimal-git/usr/include/llvm/Config/llvm-config.h 
  File: pkg/llvm-minimal-git/usr/include/llvm/Config/llvm-config.h
  Size: 168             Blocks: 8          IO Block: 4096   regular file
Device: 10302h/66306d   Inode: 5128021     Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/panoramix)   Gid: ( 1000/panoramix)
Access: 2019-05-30 00:29:05.599799638 +0200
Modify: 2019-05-30 00:01:18.000000000 +0200
Change: 2019-05-30 00:29:04.649791531 +0200
 Birth: 2019-05-30 00:28:08.012636305 +0200
$ 

bpierre commented on 2019-05-30 18:21 (UTC)

Minor tweak to ensure /usr/include/llvm/Config/llvm-config.h permissions are right:

 PKGBUILD | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git c/PKGBUILD w/PKGBUILD
index ebf594f..74d63e3 100644
--- c/PKGBUILD
+++ w/PKGBUILD
@@ -136,7 +136,7 @@ package_llvm-minimal-git() {
         # Needed for multilib (https://bugs.archlinux.org/task/29951)
         # Header stub is taken from Fedora
         mv "$pkgdir"/usr/include/llvm/Config/llvm-config{,-64}.h
-        cp "$srcdir"/llvm-config.h "$pkgdir"/usr/include/llvm/Config/llvm-config.h
+        install -Dm644 "$srcdir"/llvm-config.h "$pkgdir"/usr/include/llvm/Config/llvm-config.h
     fi

     install -Dm644 "$srcdir"/llvm-project/llvm/LICENSE.TXT "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE

bpierre commented on 2019-05-29 14:58 (UTC)

The PKGBUILD should use ninja $NINJAFLAGS (not ninja "$NINJAFLAGS"), so the value is properly split (e.g. when using NINJAFLAGS="-j3 -k0") and it works when it's empty.

yurikoles commented on 2019-05-29 14:38 (UTC)

@Lone_Wolf and now package doesn't work OOB because user should set unofficial undocumented NINJAFLAGS?

artivision commented on 2019-05-29 11:26 (UTC)

Fail with /var/tmp/pamac-build-jojo/llvm-minimal-git/src/_build/ empty error.