@Lone_Wolf I understand what you are saying about so names and versions and agree it would be nice if this package added provides for the sonames with version data so other packages could add that as a run time dependency with proper heads-up when a rebuild was needed. However I think you're wrong about my suggestion being a failure: there is no harm in adding the package version information to the provides like like I showed. It does not solve the same problem as providing the soname, but it does solve a different problem. It allows this package to be used as a makedepends with version information for packages that require to be built against a minimum version newer than what is in [community] at this point. It won't provide a run-time way to keep the soname version matched, but it does provide a build time dependency that is flexible enough to be supplied by this or another future update to the stable package(s).
Search Criteria
Package Details: llvm-git 18.0.0_r484887.953ae94149f0-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/llvm-git.git (read-only, click to copy) |
---|---|
Package Base: | llvm-git |
Description: | LLVM development version. includes clang and many other tools |
Upstream URL: | https://llvm.org/ |
Keywords: | clang git lld lldb llvm polly |
Licenses: | custom:Apache 2.0 with LLVM Exception |
Conflicts: | clang, compiler-rt, lld, lldb, llvm, polly |
Provides: | aur-llvm-git, clang, clang-git, compiler-rt, compiler-rt-git, lld, lld-git, lldb, lldb-git, llvm, polly, polly-git |
Submitter: | yurikoles |
Maintainer: | rjahanbakhshi |
Last Packager: | rjahanbakhshi |
Votes: | 118 |
Popularity: | 0.75 |
First Submitted: | 2018-12-05 13:56 (UTC) |
Last Updated: | 2024-04-17 08:17 (UTC) |
Dependencies (28)
- llvm-libs-gitAUR
- perl (perl-gitAUR)
- cmake (cmake-gitAUR) (make)
- git (git-gitAUR) (make)
- jsoncpp (jsoncpp-cmake-gitAUR, jsoncpp-cmakeAUR, jsoncpp-gitAUR) (make)
- libedit (make)
- libffi (libffi-gitAUR) (make)
- libxml2 (libxml2-gitAUR, libxml2-2.9AUR) (make)
- lldb (llvm-rocm-gitAUR, llvm-gitAUR) (make)
- lua53 (make)
- ncurses (ncurses-gitAUR) (make)
- ninja (ninja-kitwareAUR, ninja-memAUR, ninja-fuchsia-gitAUR, ninja-gitAUR) (make)
- ocaml (make)
- ocaml-ctypes (make)
- ocaml-findlib (make)
- ocaml-stdlib-shims (make)
- ocl-icd (khronos-ocl-icd-gitAUR, khronos-ocl-icdAUR) (make)
- opencl-headers (opencl-headers-gitAUR) (make)
- python (python32AUR, python37AUR, python310AUR) (make)
- python-myst-parser (python-myst-parser018AUR) (make)
- python-recommonmark (make)
- python-setuptools (make)
- python-six (make)
- python-sphinx (python-sphinx-gitAUR) (make)
- swig (swig-gitAUR) (make)
- z3 (z3-javaAUR, z3-gitAUR) (make)
- python-psutil (check)
- python (python32AUR, python37AUR, python310AUR) (optional) – for scripts
Required by (2051)
- aax-bruteforce (requires clang) (make)
- ab-av1 (requires lld) (make)
- across (requires clang) (make)
- actionfps-client (requires clang) (make)
- actionfps-common (requires clang) (make)
- actionfps-server (requires clang) (make)
- activate-linux (requires clang) (make)
- activate-linux-wayland-git (requires clang) (make)
- adaptivecpp-common-git (requires clang) (make)
- adaptivecpp-common-git (requires llvm) (make)
- adaptivecpp-cpu-git (requires clang) (make)
- adaptivecpp-cpu-git (requires llvm) (make)
- adaptivecpp-opencl-git (requires clang) (make)
- adaptivecpp-opencl-git (requires llvm) (make)
- adaptivecpp-rocm-git (requires clang) (make)
- adaptivecpp-rocm-git (requires llvm) (make)
- adscript (requires clang) (make)
- adscript (requires llvm)
- aero2solver (requires clang) (make)
- aewm++ (requires clang) (make)
- Show 2031 more...
Sources (2)
Latest Comments
« First ‹ Previous 1 2 3 4 5 6 7 8 9 .. 70 Next › Last »
alerque commented on 2022-11-29 06:03 (UTC)
Lone_Wolf commented on 2022-11-28 12:01 (UTC)
alerque, doing it that way will fail at runtime as packages aren't linked to external libraries using package versions but through sonames .
the command find-libprovides from devtools package can help to make those visible.
$ find-libprovides --ignore-internal llvm-git-16.0.0_r443217.0b74cb42312b-1-x86_64.pkg.tar.zst
libclang.so=16-64
libclang-cpp.so=16-64
liblldb.so=16-64
liblldbIntelFeatures.so=16-64
$ find-libprovides --ignore-internal llvm-libs-git-16.0.0_r443217.0b74cb42312b-1-x86_64.pkg.tar.zst
libLTO.so=16-64
libRemarks.so=16-64
$ find-libprovides --ignore-internal llvm-ocaml-git-16.0.0_r443217.0b74cb42312b-1-x86_64.pkg.tar.zst
bsdtar: *.so*: Not found in archive
bsdtar: Error exit delayed from previous errors.
$
If you run the same command on other archlinux (binary) llvm pacakges, you'll get similar results.
If this package adds those sonames to provides, applications can depend on an exact version of the shared library, get a warning when sonames change and a rebuild is necessary.
alerque commented on 2022-11-27 08:14 (UTC) (edited on 2022-11-27 12:09 (UTC) by alerque)
This package provides llvm but it does not do so in a way that includes the version information. Hence it is not currently possible for other packages to use it as a build time dependency with a version requirement that would let them start using the stable version when a sufficient version is released and packaged in [community] like makedepends=('llvm>=16')
. This is negatively effecting builds like brave where we're unable to specify the dependencies correctly.
Here is a patch that should fix it which should apply cleanly with git am < file.patch
:
From 98428851968f085b019ed538c73d7fed997d6ba1 Mon Sep 17 00:00:00 2001
From: Caleb Maclennan <caleb@alerque.com>
Date: Sun, 27 Nov 2022 11:13:04 +0300
Subject: [PATCH] Provide version data with llvm provides
Signed-off-by: Caleb Maclennan <caleb@alerque.com>
---
.SRCINFO | 12 ++++++------
PKGBUILD | 13 +++++++------
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/.SRCINFO b/.SRCINFO
index 6229cd1..91ac369 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
pkgbase = llvm-git
- pkgver = 16.0.0_r439853.1fe096ef59d1
+ pkgver = 16.0.0_r443015.49aca00d63e1
pkgrel = 1
url = https://llvm.org/
arch = x86_64
@@ -38,7 +38,7 @@ pkgbase = llvm-git
pkgname = llvm-git
pkgdesc = LLVM development version. includes clang and many other tools
- depends = llvm-libs-git=16.0.0_r439853.1fe096ef59d1-1
+ depends = llvm-libs-git=16.0.0_r443015.49aca00d63e1-1
depends = perl
optdepends = python: for scripts
provides = aur-llvm-git
@@ -47,7 +47,7 @@ pkgname = llvm-git
provides = lldb-git
provides = lld-git
provides = polly-git
- provides = llvm
+ provides = llvm=16.0.0_r443015.49aca00d63e1
provides = compiler-rt
provides = clang
provides = lldb
@@ -71,13 +71,13 @@ pkgname = llvm-libs-git
depends = z3
depends = lua53
provides = aur-llvm-libs-git
- provides = llvm-libs
+ provides = llvm-libs=16.0.0_r443015.49aca00d63e1
conflicts = llvm-libs
pkgname = llvm-ocaml-git
pkgdesc = OCaml bindings for LLVM
- depends = llvm-git=16.0.0_r439853.1fe096ef59d1-1
+ depends = llvm-git=16.0.0_r443015.49aca00d63e1-1
depends = ocaml
depends = ocaml-ctypes
- provides = llvm-ocaml
+ provides = llvm-ocaml=16.0.0_r443015.49aca00d63e1
conflicts = llvm-ocaml
diff --git a/PKGBUILD b/PKGBUILD
index 9bc813a..6bd941b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,5 @@
# Maintainer: Reza Jahanbakhshi <reza.jahanbakhshi at gmail dot com
+# Contributor: Caleb Maclennan <caleb@alerque.com>
# Contributor: Lone_Wolf <lone_wolf@klaas-de-kat.nl>
# Contributor: yurikoles <root@yurikoles.com>
# Contributor: bearoso <bearoso@gmail.com>
@@ -16,12 +17,12 @@
pkgname=('llvm-git' 'llvm-libs-git' 'llvm-ocaml-git')
-pkgver=16.0.0_r439853.1fe096ef59d1
+pkgver=16.0.0_r443015.49aca00d63e1
pkgrel=1
arch=('x86_64')
url="https://llvm.org/"
license=('custom:Apache 2.0 with LLVM Exception')
-makedepends=('git' 'cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2'
+makedepends=('git' 'cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2'
'python-setuptools' 'lldb' 'ocaml' 'ocaml-ctypes' 'ocaml-findlib'
'python-sphinx' 'python-recommonmark' 'swig' 'python' 'python-six' 'lua53'
'ocl-icd' 'opencl-headers' 'z3' 'jsoncpp' 'ocaml-stdlib-shims')
@@ -108,7 +109,7 @@ package_llvm-git() {
depends=("llvm-libs-git=$pkgver-$pkgrel" 'perl')
optdepends=('python: for scripts')
provides=(aur-llvm-git compiler-rt-git clang-git lldb-git lld-git polly-git
- llvm compiler-rt clang lldb polly lld )
+ "llvm=$pkgver" compiler-rt clang lldb polly lld )
# A package always provides itself, so there's no need to provide llvm-git
conflicts=('llvm' 'compiler-rt' 'clang' 'lldb' 'polly' 'lld')
@@ -170,7 +171,7 @@ package_llvm-git() {
package_llvm-libs-git() {
pkgdesc="runtime libraries for llvm-git"
depends=('gcc-libs' 'zlib' 'libffi' 'libedit' 'ncurses' 'libxml2' 'z3' 'lua53')
- provides=(aur-llvm-libs-git llvm-libs)
+ provides=(aur-llvm-libs-git "llvm-libs=$pkgver")
conflicts=('llvm-libs')
install -d "$pkgdir"/usr/lib
@@ -198,8 +199,8 @@ package_llvm-ocaml-git() {
pkgdesc="OCaml bindings for LLVM"
depends=("llvm-git=$pkgver-$pkgrel" "ocaml" 'ocaml-ctypes')
conflicts=('llvm-ocaml')
- provides=("llvm-ocaml")
-
+ provides=("llvm-ocaml=$pkgver")
+
install -d "$pkgdir"/{usr/lib,usr/share/doc/$pkgname}
cp -a "$srcdir"/ocaml.lib "$pkgdir"/usr/lib/ocaml
cp -a "$srcdir"/ocaml.doc "$pkgdir"/usr/share/doc/$pkgname/html
--
2.38.1
atticf commented on 2022-09-13 02:20 (UTC)
Hi, I needed to install python-setuptools
to clear this section. (I am using a clean chroot with only base-devel
installed.)
# Include lit for running lit-based tests in other projects
pushd llvm-project/llvm/utils/lit
python setup.py install --root="$pkgdir" -O1
popd
Therefore I think it needs to be a make dependency instead of an optional dependency, because it's required to clear the package_llvm-git
function by default. Unless the user is expected to intervene here, in which case I apologise for disruption.
rjahanbakhshi commented on 2022-08-14 10:16 (UTC)
@sir_randomuser,
Thanks for the update. Indeed ocaml-stdlib-shims is required to build this package in a clean chroot env. I updated the PKGBUILD and added ocaml-stdlib-shims.
sir_randomuser commented on 2022-08-12 17:43 (UTC) (edited on 2022-08-12 17:53 (UTC) by sir_randomuser)
EDIT: resolved by adding ocaml-stdlib-shims
to makedepends
Hi, has anyone else been unable to build LLVM past couple of days?
For me it always fails here - regardless if I build it with GCC or CLANG:
Building OCaml library llvm_executionengine
FAILED: bindings/ocaml/executionengine/llvm_executionengine.cma bindings/ocaml/executionengine/libllvm_executionengine.a bindings/ocaml/executionengine/llvm_executionengine.cmxa bindings/ocaml/executionengine/llvm_executionengine.a bindings/ocaml/executionengine/llvm_executionengine.cmi bindings/ocaml/executionengine/llvm_executionengine.cmo bindings/ocaml/executionengine/llvm_executionengine.cmti bindings/ocaml/executionengine/llvm_executionengine.cmt bindings/ocaml/executionengine/llvm_executionengine.cmx bindings/ocaml/executionengine/llvm_executionengine.o /build/llvm-git/src/_build/bindings/ocaml/executionengine/llvm_executionengine.cma /build/llvm-git/src/_build/bindings/ocaml/executionengine/libllvm_executionengine.a /build/llvm-git/src/_build/bindings/ocaml/executionengine/llvm_executionengine.cmxa /build/llvm-git/src/_build/bindings/ocaml/executionengine/llvm_executionengine.a /build/llvm-git/src/_build/bindings/ocaml/executionengine/llvm_executionengine.cmi /build/llvm-git/src/_build/bindings/ocaml/executionengine/llvm_executionengine.cmo /build/llvm-git/src/_build/bindings/ocaml/executionengine/llvm_executionengine.cmti /build/llvm-git/src/_build/bindings/ocaml/executionengine/llvm_executionengine.cmt /build/llvm-git/src/_build/bindings/ocaml/executionengine/llvm_executionengine.cmx /build/llvm-git/src/_build/bindings/ocaml/executionengine/llvm_executionengine.o
cd /build/llvm-git/src/_build/bindings/ocaml/executionengine && /usr/bin/ocamlfind ocamlmklib -ocamlcflags -bin-annot -o llvm_executionengine -lstdc++ -ldopt -L/build/llvm-git/src/_build/./lib -ccopt "-L\\\$CAMLORIGIN/../.." -ccopt "-Wl,-rpath,\\\$CAMLORIGIN/../.." -package ctypes -I /build/llvm-git/src/_build/bindings/ocaml/llvm -I /build/llvm-git/src/_build/bindings/ocaml/target -custom -lLLVM -ldopt "-Wl,-rpath,\\\$ORIGIN/../../../lib" llvm_executionengine.mli llvm_executionengine.ml executionengine_ocaml.o
ocamlfind: Package `stdlib-shims' not found - required by `integers'
Lone_Wolf commented on 2022-07-02 12:39 (UTC) (edited on 2022-07-02 12:40 (UTC) by Lone_Wolf)
This package follows the upstream llvm project and builds the very latest commit available from upstream default branch (main). It adjusts the version number dynamically on every build .
It's been building v15 since llvm 14 got its own branch as release/llvm14 early in february .
That archlinux repos still haven't switched to the latest stable release 14 doesn't matter for this (and other llvm trunk packages ).
Besides, a package that builds any fixed branch must reflect that in the name. For llvm14 that would be llvm14-git.
Feel free to start such a NEW package.
sysgen commented on 2022-07-02 04:03 (UTC)
As of today this will no longer install LLVM-14, but instead LLVM-15. More specifically : llvm-git 15.0.0_r428699.ccf7dd5e813d-1
Please consider pinning to the branch for LLVM-14, or to a commit number, untill LLVM-14 is in the extras repo. In any case, the version number should be amended.
Lone_Wolf commented on 2022-05-14 17:44 (UTC)
Since libc++ , libc++abi and libc++experimental are in community repo since dec 2020, it does make sense to build their git versions in this pacakge.
I advise against creating separate packages for them, as whole llvm/clang suite needs to be build from same source revision.
If someone knows a way to ensure that 100% without building everything in one package as llvm-git does, plese step up.
Note: llvm/clang stable in repos uses tarballs created by upstream. Although there are multiple tarballs, they all come from the same source version.
poluyan commented on 2022-05-14 15:11 (UTC)
I fully support the proposal of @Febbe. Can someone provide libc++-git, libc++abi-git, and libc++experimental-git packages?
Pinned Comments
Lone_Wolf commented on 2021-08-16 11:26 (UTC)
When you have this package installed applications that are built against repo-llvm/clang WILL fail unless they are rebuild against this package.
This includes QTCreator, kdevelop , mesa, intel-compute-runtime, gnome-builder to name a few.
Lone_Wolf commented on 2020-08-22 12:18 (UTC) (edited on 2021-02-06 12:51 (UTC) by Lone_Wolf)
Archlinux currently has 3 llvm git implementations
This package
llvm-minimal-git
packages created & maintained by Lordheavy, an arch developer
Lone_Wolf commented on 2019-04-12 20:41 (UTC) (edited on 2019-12-16 22:45 (UTC) by Lone_Wolf)
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.
llvm-git
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.
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.