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.005241
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 .. 23 24 25 26 27 28 29 30 31 32 33 .. 70 Next › Last »

Lone_Wolf commented on 2018-11-12 13:26 (UTC) (edited on 2018-11-12 13:33 (UTC) by Lone_Wolf)

Looks like llvm-libs-svn is missing libedit and libxml2 as dependencies. (stock llvm-libs has those 2 also)

$ namcap /var/cache/pacman/pkg/llvm-libs-svn-8.0.0svn_r3466
llvm-libs-svn-8.0.0svn_r346606-1-x86_64.pkg.tar.xz  llvm-libs-svn-8.0.0svn_r346633-1-x86_64.pkg.tar.xz  llvm-libs-svn-8.0.0svn_r346644-1-x86_64.pkg.tar.xz
[panoramix@obelix mesa-git]$ namcap /var/cache/pacman/pkg/llvm-libs-svn-8.0.0svn_r346644-1-x86_64.pkg.tar.xz 
llvm-libs-svn W: ELF file ('usr/lib/BugpointPasses.so') is unstripped.
llvm-libs-svn W: ELF file ('usr/lib/LLVMHello.so') is unstripped.
llvm-libs-svn W: ELF file ('usr/lib/LLVMgold.so') is unstripped.
llvm-libs-svn W: ELF file ('usr/lib/libLLVM-8svn.so') is unstripped.
llvm-libs-svn W: ELF file ('usr/lib/libLTO.so.8svn') is unstripped.
llvm-libs-svn E: Dependency libxml2 detected and not included (libraries ['usr/lib/libxml2.so.2'] needed in files ['usr/lib/libLLVM-8svn.so'])
llvm-libs-svn E: Dependency libedit detected and not included (libraries ['usr/lib/libedit.so.0'] needed in files ['usr/lib/libLLVM-8svn.so'])
$

PedroHLC commented on 2018-11-12 11:07 (UTC)

Could libedit be added to depends? I'm building mesa-git from a clean chroot (base-devel) and it fails with llvm-config not finding it...

gloriouseggroll commented on 2018-10-12 22:36 (UTC) (edited on 2018-10-12 22:37 (UTC) by gloriouseggroll)

went to compile this on a fresh arch install, was getting a recommonmark error, installing python-recommonmark fixed it, apparently either python2-recommonmark wasn't enough or arch was using python3 to build as python3 is the default version now for the python package. probably also needed on lib32-llvm-svn

kerberizer commented on 2018-09-09 16:04 (UTC)

@Lone_Wolf, thank you, I've added you as a co-maintainer. I've also transferred the GitHub repos to a separate organization for more flexibility. :)

Lone_Wolf commented on 2018-09-09 15:11 (UTC) (edited on 2018-09-09 15:12 (UTC) by Lone_Wolf)

I'm ok with becoming co-maintainer, but do think you should stay as maintainer.

You've always treated llvm as a compiler suite while I only see it as "necessary evil* requirement" for mesa. If I maintained this i'd probably ditch everything not needed for mesa.

Also llvm bug tracking system is almost a black box to me, while you have shown you know how to use it or find out if issues are already in it.

I dislike the license llvm had and the one they're switching to. I also dislike several of their development choices (cmake, svn, no clear method to have multiple installs coexist)

kerberizer commented on 2018-09-09 11:21 (UTC)

@Lone_Wolf, thank you very much for taking care of this. Would you feel fine with taking over the maintainership of the package? You are doing great work with mesa-git already.

Lone_Wolf commented on 2018-09-09 09:26 (UTC)

I have forked kerberizer github repo and am working on adjusting the PKGBUILD.

So far build output is reduced (svn export is rather chatty) , I added a makdepend that's neded for polly and buildtime does appear to be shortened.

see https://github.com/LW-archlinux/llvm-svn

NOTE : I am still working on adjusting the PKGBUILD, haven't done runtime tests yet.

Lone_Wolf commented on 2018-09-04 11:00 (UTC) (edited on 2018-09-04 11:02 (UTC) by Lone_Wolf)

@zegentz : the time is similar to what i get, haven't checked memory usage. The stripping issue and large size suggest something is wrong on your system. Are you building in /tmp ? What filesystem is your build folder on ?

@kerberizer : The slow building is partially due to the svn export commands used. Iirc those were needed because llvm build needs everything to be in a specific place in the source tree. autotools/make and cmake/make failed unless the files were physically in correct place.

I checked extra/llvm and co, and they switched to cmake/ninja builds. Mesa is now build mesa with meson/ninja and I do have the impression a big part of the speedup comes from using ninja. Also stock llvm now uses only python3 apps during build.

This gives some options to improve/speedup/simplify build :

  • switch to python3

  • build with cmake/ninja

  • verify if cmake/ninja can use the code in the location makepkg puts them. if not , maybe we can change those location or use symlinks.

kerberizer commented on 2018-08-23 13:20 (UTC)

[NOTICE] Polly, the high-level loop and data-locality optimizer and optimization infrastructure for LLVM (https://polly.llvm.org/) has been added to the build and the binary repo. Apologies for it taking so unnecessarily long (pull request #15 on Github was from July 2017).

kerberizer commented on 2018-08-23 13:18 (UTC)

@zegentz, the automatic builds are indeed quite slow, even on a system with 256 GB of RAM and everything on a ramdisk. Not sure about stripping, but cloning the repositories sometimes takes a good half an hour to an hour. It is quite a heavy build, which was the reason I set up that binary repo at the time. As I don't do manual builds any more (indeed, I don't even use llvm-svn myself for quite a long time already), I'm afraid I can't offer much advice. Hopefully someone else might have a better idea.