Package Details: llvm-minimal-git 20.0.0_r510973.d6d60707ec2b-3

Git Clone URL: https://aur.archlinux.org/llvm-minimal-git.git (read-only, click to copy)
Package Base: llvm-minimal-git
Description: Collection of modular and reusable compiler and toolchain technologies, trimmed down git version
Upstream URL: https://llvm.org/
Licenses: Apache-2.0 WITH LLVM-exception
Conflicts: llvm
Provides: llvm
Submitter: Lone_Wolf
Maintainer: Lone_Wolf
Last Packager: Lone_Wolf
Votes: 5
Popularity: 0.005210
First Submitted: 2019-05-14 19:32 (UTC)
Last Updated: 2024-09-07 14:04 (UTC)

Dependencies (17)

Required by (578)

Sources (1)

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 2 3 4 5 6 7 8 9 Next › Last »

archdevlab commented on 2023-04-13 22:52 (UTC)

since commit : https://aur.archlinux.org/cgit/aur.git/commit/?h=llvm-minimal-git&id=6b54cc050a5bbae197285eec695e73231547fcf6 you added clang-cpp to llvm-libs-minimal-git .

But why not adding libclang to ? libclang.so libclang.so.17 libclang.so.17.0.0

Lone_Wolf commented on 2023-03-23 08:31 (UTC)

The patches have been removed after mesa got changes that deal with the legacy passmanager removal, update the PKGBUILD.

llvm trunk does indeed have a hard failure during check-clang-tools but that is not related to the patches.

I haven't investigated if the test crash was reported upstream, but have not noticed issues from building with --nocheck .

ms178 commented on 2023-03-16 18:32 (UTC)

Unfortunately, the patches need some work again. Various release notes diffs fail, one test and this one in Patch 3: 1 out of 4 hunks FAILED -- saving rejects to file llvm/include/llvm/LinkAllPasses.h.rej

Arkse commented on 2023-03-14 00:09 (UTC) (edited on 2023-03-14 00:09 (UTC) by Arkse)

This is the one we need to revert as 0008 :

[PassManagerBuilder] Remove PassManagerBuilder

Lone_Wolf commented on 2023-03-11 13:26 (UTC) (edited on 2023-03-11 13:27 (UTC) by Lone_Wolf)

blackmoon3, I had to add 3 more reverts just to get the original revert working again.

I've tried to add a revert for the commit you mentioned but it can't be reverted cleanly . increassing fuzz doesn't help, I think more commits need to be reverted to keep that function for clover working .

This is what I get when adding a revert for that commit between 0002 and 0001 .

patching file llvm/bindings/ocaml/transforms/ipo/ipo_ocaml.c
Hunk #1 FAILED at 67.
1 out of 1 hunk FAILED -- saving rejects to file llvm/bindings/ocaml/transforms/ipo/ipo_ocaml.c.rej
patching file llvm/bindings/ocaml/transforms/ipo/llvm_ipo.ml
Hunk #1 FAILED at 30.
1 out of 1 hunk FAILED -- saving rejects to file llvm/bindings/ocaml/transforms/ipo/llvm_ipo.ml.rej
patching file llvm/bindings/ocaml/transforms/ipo/llvm_ipo.mli
Hunk #1 FAILED at 50.
1 out of 1 hunk FAILED -- saving rejects to file llvm/bindings/ocaml/transforms/ipo/llvm_ipo.mli.rej
patching file llvm/include/llvm-c/Transforms/IPO.h
Hunk #1 succeeded at 42 with fuzz 2 (offset -9 lines).
patching file llvm/include/llvm/InitializePasses.h
Hunk #2 succeeded at 367 (offset -13 lines).
Hunk #3 succeeded at 391 (offset -13 lines).
patching file llvm/include/llvm/LinkAllPasses.h
Hunk #1 succeeded at 101 (offset -3 lines).
Hunk #2 succeeded at 138 (offset -10 lines).
Hunk #3 succeeded at 179 (offset -12 lines).
Hunk #4 FAILED at 205.
1 out of 4 hunks FAILED -- saving rejects to file llvm/include/llvm/LinkAllPasses.h.rej
patching file llvm/include/llvm/Transforms/IPO.h
Hunk #2 succeeded at 112 with fuzz 2 (offset 2 lines).
Hunk #3 FAILED at 158.
1 out of 3 hunks FAILED -- saving rejects to file llvm/include/llvm/Transforms/IPO.h.rej
patching file llvm/include/llvm/Transforms/Scalar.h
Hunk #1 succeeded at 442 (offset -80 lines).
patching file llvm/include/llvm/Transforms/Scalar/WarnMissedTransforms.h
patching file llvm/include/llvm/Transforms/Utils.h
patching file llvm/include/llvm/Transforms/Vectorize.h
patching file llvm/lib/Transforms/IPO/IPO.cpp
Hunk #1 succeeded at 31 with fuzz 2 (offset -4 lines).
Hunk #2 FAILED at 43.
Hunk #3 succeeded at 64 with fuzz 2 (offset -18 lines).
1 out of 3 hunks FAILED -- saving rejects to file llvm/lib/Transforms/IPO/IPO.cpp.rej
patching file llvm/lib/Transforms/IPO/Internalize.cpp
patching file llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
Hunk #1 succeeded at 211 with fuzz 1 (offset -3 lines).
Hunk #2 succeeded at 244 (offset -9 lines).
Hunk #3 succeeded at 265 (offset -9 lines).
Hunk #4 succeeded at 388 (offset -21 lines).
patching file llvm/lib/Transforms/IPO/StripDeadPrototypes.cpp
patching file llvm/lib/Transforms/IPO/StripSymbols.cpp
Hunk #3 FAILED at 290.
Hunk #4 succeeded at 376 (offset -42 lines).
1 out of 4 hunks FAILED -- saving rejects to file llvm/lib/Transforms/IPO/StripSymbols.cpp.rej
patching file llvm/lib/Transforms/Scalar/Scalar.cpp
Hunk #1 FAILED at 71.
1 out of 1 hunk FAILED -- saving rejects to file llvm/lib/Transforms/Scalar/Scalar.cpp.rej
patching file llvm/lib/Transforms/Scalar/WarnMissedTransforms.cpp
patching file llvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp
patching file llvm/lib/Transforms/Utils/Utils.cpp
patching file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
patching file llvm/lib/Transforms/Vectorize/Vectorize.cpp
patching file llvm/test/Bindings/OCaml/ipo.ml
Hunk #1 FAILED at 55.
1 out of 1 hunk FAILED -- saving rejects to file llvm/test/Bindings/OCaml/ipo.ml.rej

archdevlab commented on 2023-03-10 07:15 (UTC) (edited on 2023-03-10 16:51 (UTC) by archdevlab)

Hi you should also revert this commit : https://github.com/llvm/llvm-project/commit/15977742d3ebba05a33a8eac3201ebba9c9f10e3

This allow mesa-git package to build with gallium-opencl=icd

Because mesa use this function : https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/gallium/frontends/clover/llvm/invocation.cpp#L461 that have been removed by upstream llvm

I tested the revert patch in my own llvm-minimal git repo and just compiled llvm and mesa with no problem. https://github.com/blacksky3/llvm-minimal-git.git

I just added : patch --directory="llvm-project" --reverse --fuzz=50 --strip=1 --input="${srcdir}/0001-Reland-LegacyPM-Remove-some-legacy-passes.patch" in the prepare function to let the path fully apply with no problem

This revert patch can also be applied in lib32-llvm-minimal-git for the same reasons

Reported the issue to mesa repo : https://gitlab.freedesktop.org/mesa/mesa/-/issues/8591

Lone_Wolf commented on 2023-03-02 22:07 (UTC) (edited on 2023-03-02 22:09 (UTC) by Lone_Wolf)

Thanks, will look into adding those 2 patches (and verify if that's enough for some time) this weekend.

Arkse commented on 2023-03-02 20:26 (UTC) (edited on 2023-03-02 20:31 (UTC) by Arkse)

Just tried to build llvm-minimal-git tonight and it failed when trying to apply the patches.

Reverted those 2 commits and building works again :

[llvm-c] Remove bindings for creating legacy passes

[IPO] Remove various legacy passes

Lone_Wolf commented on 2022-11-16 21:30 (UTC)

Added new split package spirv-llvm-translator-minimal-git as it is needed for mesa rusticl

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 .