Package Details: llvm-ocaml-git 18.0.0_r484887.953ae94149f0-1

Git Clone URL: https://aur.archlinux.org/llvm-git.git (read-only, click to copy)
Package Base: llvm-git
Description: OCaml bindings for LLVM
Upstream URL: https://llvm.org/
Keywords: clang git lld lldb llvm polly
Licenses: custom:Apache 2.0 with LLVM Exception
Conflicts: llvm-ocaml
Provides: llvm-ocaml
Submitter: yurikoles
Maintainer: rjahanbakhshi
Last Packager: rjahanbakhshi
Votes: 118
Popularity: 0.005457
First Submitted: 2018-12-05 13:56 (UTC)
Last Updated: 2024-04-17 08:17 (UTC)

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

  1. This package

    • 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
    • Currently there's no repo with binary versions
  2. llvm-minimal-git

    • focuses on providing stuff needed for AUR mesa-git. Doesn't support cross-compiling or any bindings for external stuff like ocaml & python.
    • intended to be used with archlinux core,extra & community repos
    • compatible with extra llvm/clang packages
    • no repo with binary versions
  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-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.

    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
NINJAFLAGS="-j20"

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 .. 10 11 12 13 14 15 16 17 18 19 20 .. 70 Next › Last »

Lone_Wolf commented on 2020-03-19 23:10 (UTC)

build failure worked around by building tests in check() instead of build() function

Lone_Wolf commented on 2020-03-19 16:51 (UTC)

itsshash , this package is intended to be build in a clean chroot.

If you want to build on a live system using makepkg (or an aur helper) , make sure to run pacman -Syu and remove any older versions of this package before starting.

ATM that won't help though, as there's a build failure.

https://bugs.llvm.org/show_bug.cgi?id=45252

itsshash commented on 2020-03-19 12:57 (UTC) (edited on 2020-03-19 12:57 (UTC) by itsshash)

❯ yay -Sa llvm-ocaml-git ==> Error: Could not find all required packages: ocaml=4.09.0 (Wanted by: llvm-ocaml-git)

ocaml has been updated to 4.09.1-1, so unable to build as AUR package requires ocaml=4.09.0

Lone_Wolf commented on 2020-03-06 22:56 (UTC) (edited on 2020-03-06 22:57 (UTC) by Lone_Wolf)

  • LH repo is build against official [testing] , [community-testing] and [multilib-testing] repos. His packages typically use the same structure as repo versions. Using the packages from his repo without enabling testing repos can cause weird issues.

  • chaotic-AUR repo builds packages against core/extra/community repos . He does build aur mesa-git against aur llvm-minimal-git package like I do and also builds this package.

  • This package is the only one that tries to provide a llvm trunk development suite that doesn't depend on any stable llvm parts. Its svn predecessor (maintained by kerberos who also provided binary versions) ) was the only choice for aur mesa-git. When the package switched to git , I got stuck with maintaining it. Soon I'll try to find someone else.

  • for those wanting llvm trunk solely for mesa-git, llvm-minimal-git is a better choice then llvm-git .

gardotd426 commented on 2020-03-06 22:09 (UTC)

Is there any difference between this package, lordheavy's llvm-git/mesa-git, and chaotic-aur's llvm-git/mesa-git?

gardotd426 commented on 2020-03-06 22:08 (UTC)

@Lone_Wolf that's what I figured, I went ahead and added it. I've used it before on Manjaro but didn't know if there was a key out there or if I was supposed to do it like that how I did before. I'm installing everything now, thanks

Lone_Wolf commented on 2020-03-06 21:52 (UTC)

LH repo is unsigned, so there are no keys.

Setting TrustAll for his repo is the only way to use it.

gardotd426 commented on 2020-03-06 21:28 (UTC)

@Lone_Wolf what're the keys for that repo? Usually you can find the pacman-key recv-keys key numbers for unofficial repos like chaotic and valveaur but I can't find anything for mesa-git. I guess I could put a trustall in the pacman.conf but I'd like to not have to.

Lone_Wolf commented on 2020-03-06 21:01 (UTC)

llvm suite trunk master is known to have test failures very often.

llvm-git in Lordheavy's unoffical mesa-git repo doesn't run any tests and is used by many people.

General consensus among aur maintainers seems to be shifting towards including tests whenever possible and letting users decide whether those test failures are important enough to not use a certain version or can be worked around by using --nocheck .

gardotd426 commented on 2020-03-06 15:20 (UTC) (edited on 2020-03-06 15:23 (UTC) by gardotd426)

This is the full output starting with the checks:


==> Starting check()...
[15/16] Running the LLVM regression tests
FAIL: LLVM :: tools/gold/X86/thinlto_weak_library.ll (34127 of 36369)
**** TEST 'LLVM :: tools/gold/X86/thinlto_weak_library.ll' FAILED ******
Script:
--
: 'RUN: at line 6';   /tmp/makepkg/llvm-git/src/_build/bin/opt -module-summary /tmp/makepkg/llvm-git/src/llvm-project/llvm/test/tools/gold/X86/thinlto_weak_library.ll -o /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/Output/thinlto_weak_library.ll.tmp.o
: 'RUN: at line 7';   /tmp/makepkg/llvm-git/src/_build/bin/opt -module-summary /tmp/makepkg/llvm-git/src/llvm-project/llvm/test/tools/gold/X86/Inputs/thinlto_weak_library1.ll -o /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/Output/thinlto_weak_library.ll.tmp2.o
: 'RUN: at line 8';   /tmp/makepkg/llvm-git/src/_build/bin/opt -module-summary /tmp/makepkg/llvm-git/src/llvm-project/llvm/test/tools/gold/X86/Inputs/thinlto_weak_library2.ll -o /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/Output/thinlto_weak_library.ll.tmp3.o
: 'RUN: at line 15';   /usr/bin/ld.gold -plugin /tmp/makepkg/llvm-git/src/_build/./lib/LLVMgold.so     --plugin-opt=thinlto     --plugin-opt=save-temps     -m elf_x86_64     -o /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/Output/thinlto_weak_library.ll.tmp4     /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/Output/thinlto_weak_library.ll.tmp.o     --start-lib /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/Output/thinlto_weak_library.ll.tmp2.o /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/Output/thinlto_weak_library.ll.tmp3.o --end-lib
: 'RUN: at line 26';   /tmp/makepkg/llvm-git/src/_build/bin/llvm-dis /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/Output/thinlto_weak_library.ll.tmp2.o.1.promote.bc -o - | /tmp/makepkg/llvm-git/src/_build/bin/FileCheck /tmp/makepkg/llvm-git/src/llvm-project/llvm/test/tools/gold/X86/thinlto_weak_library.ll
--
Exit Code: 1

Command Output (stderr):

/tmp/makepkg/llvm-git/src/llvm-project/llvm/test/tools/gold/X86/thinlto_weak_library.ll:27:10: error: CHECK: expected string not found in input ; CHECK: declare dso_local i32 @f() ^ <stdin>:1:1: note: scanning from here ; ModuleID = '/tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/Output/thinlto_weak_library.ll.tmp2.o.1.promote.bc' ^ <stdin>:8:1: note: possible intended match here define dso_local i32 @test1() local_unnamed_addr { ^

--


FAIL: LLVM :: tools/gold/X86/v1.16/wrap-2.ll (34134 of 36369) **** TEST 'LLVM :: tools/gold/X86/v1.16/wrap-2.ll' FAILED ****** Script: -- : 'RUN: at line 15'; /tmp/makepkg/llvm-git/src/_build/bin/opt -module-summary /tmp/makepkg/llvm-git/src/llvm-project/llvm/test/tools/gold/X86/v1.16/wrap-2.ll -o /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/v1.16/Output/wrap-2.ll.tmp.o : 'RUN: at line 16'; /tmp/makepkg/llvm-git/src/_build/bin/opt -module-summary /tmp/makepkg/llvm-git/src/llvm-project/llvm/test/tools/gold/X86/v1.16/Inputs/wrap-bar.ll -o /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/v1.16/Output/wrap-2.ll.tmp1.o : 'RUN: at line 17'; /usr/bin/ld.gold -m elf_x86_64 -plugin /tmp/makepkg/llvm-git/src/_build/./lib/LLVMgold.so /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/v1.16/Output/wrap-2.ll.tmp.o /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/v1.16/Output/wrap-2.ll.tmp1.o -shared -o /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/v1.16/Output/wrap-2.ll.tmp.so -wrap=bar : 'RUN: at line 18'; /tmp/makepkg/llvm-git/src/_build/bin/llvm-objdump -d /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/v1.16/Output/wrap-2.ll.tmp.so | /tmp/makepkg/llvm-git/src/_build/bin/FileCheck /tmp/makepkg/llvm-git/src/llvm-project/llvm/test/tools/gold/X86/v1.16/wrap-2.ll -check-prefix=THIN : 'RUN: at line 19'; /tmp/makepkg/llvm-git/src/_build/bin/llvm-readobj --symbols /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/v1.16/Output/wrap-2.ll.tmp.so | /tmp/makepkg/llvm-git/src/_build/bin/FileCheck -check-prefix=BIND /tmp/makepkg/llvm-git/src/llvm-project/llvm/test/tools/gold/X86/v1.16/wrap-2.ll -- Exit Code: 1

Command Output (stderr):

/tmp/makepkg/llvm-git/src/llvm-project/llvm/test/tools/gold/X86/v1.16/wrap-2.ll:29:9: error: THIN: expected string not found in input ; THIN: foo: ^ <stdin>:2:1: note: scanning from here /tmp/makepkg/llvm-git/src/_build/test/tools/gold/X86/v1.16/Output/wrap-2.ll.tmp.so: file format elf64-x86-64 ^ <stdin>:7:19: note: possible intended match here 0000000000000290 <foo>: ^

--


Testing Time: 257.36s


Failing Tests (2): LLVM :: tools/gold/X86/thinlto_weak_library.ll LLVM :: tools/gold/X86/v1.16/wrap-2.ll

Expected Passes : 35051 Expected Failures : 156 Unsupported Tests : 1160 Unexpected Failures: 2 FAILED: test/CMakeFiles/check-llvm cd /tmp/makepkg/llvm-git/src/_build/test && /usr/bin/python /tmp/makepkg/llvm-git/src/_build/./bin/llvm-lit -sv /tmp/makepkg/llvm-git/src/_build/test ninja: build stopped: subcommand failed. ==> ERROR: A failure occurred in check(). Aborting...