Package Details: cling-git r4811.19a2c1b7-1

Git Clone URL: (read-only, click to copy)
Package Base: cling-git
Description: Interactive C++ interpreter built on the top of LLVM and Clang libraries.
Upstream URL:
Licenses: custom:Cling Release License
Submitter: hagabaka
Maintainer: simonfxr
Last Packager: simonfxr
Votes: 45
Popularity: 0.000571
First Submitted: 2013-06-08 07:00 (UTC)
Last Updated: 2022-04-23 07:37 (UTC)

Latest Comments

1 2 3 4 5 Next › Last »

lahwaacz commented on 2023-07-01 17:45 (UTC)

The URLs in source need to be updated, see

I also made other changes to make it work:

# Maintainer: Simon Reiser <me AT sfxr DOT de>
# Original Maintainer: Eduardo Sánchez Muñoz

pkgname=(cling-git cling-jupyter-git)
pkgdesc="Interactive C++ interpreter built on the top of LLVM and Clang libraries."
arch=('i686' 'x86_64')
license=('custom:Cling Release License')
makedepends=('cmake' 'libffi' 'git' 'python' 'jupyter-notebook' 'ninja')
options=('!lto')  # getting huge RAM usage with LTO (and extra/llvm disables LTO as well)

pkgver() {
    cd "$srcdir/cling"
    echo "r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"

prepare() {
    if [ ! -h "$srcdir/cling-llvm/llvm/tools/clang" ]; then
        ln -s "../../clang" "$srcdir/cling-llvm/llvm/tools/clang"
    if [ ! -h "$srcdir/cling-llvm/llvm/tools/cling" ]; then
        ln -s "$srcdir/cling" "$srcdir/cling-llvm/llvm/tools/cling"

build() {
    mkdir -p "$srcdir/cling-build"

    cmake \
        -S "$srcdir/cling-llvm/llvm" \
        -B "$srcdir/cling-build" \
        -G Ninja \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX="/opt/cling" \
        -DFFI_INCLUDE_DIR=$(pkg-config --cflags-only-I libffi | cut -c3-) \

    ninja -C "$srcdir/cling-build" #clang cling

package_cling-git() {

    DESTDIR="$pkgdir" ninja -C "$srcdir/cling-build" install

    install -d "$pkgdir/usr/bin"
    ln -s "/opt/cling/bin/cling" "$pkgdir/usr/bin/cling"

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

package_cling-jupyter-git() {
    depends=('cling-git' 'jupyter-notebook')

    cd "$srcdir/cling/tools/Jupyter/kernel"
    python3 install --prefix=/usr --root="$pkgdir"
    jupyter-kernelspec install --prefix="$pkgdir/usr" .

lahwaacz commented on 2023-06-10 13:47 (UTC) (edited on 2023-06-12 11:36 (UTC) by lahwaacz)

Building the package fails with these errors:

/build/cling-git/src/llvm/include/llvm/Support/Signals.h:119:8: error: variable or field ‘CleanupOnSignal’ declared void
  119 |   void CleanupOnSignal(uintptr_t Context);
      |        ^~~~~~~~~~~~~~~
/build/cling-git/src/llvm/include/llvm/Support/Signals.h:119:24: error: ‘uintptr_t’ was not declared in this scope
  119 |   void CleanupOnSignal(uintptr_t Context);
      |                        ^~~~~~~~~
/build/cling-git/src/llvm/include/llvm/Support/Signals.h:18:1: note: ‘uintptr_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
   17 | #include <string>
  +++ |+#include <cstdint>
   18 |

Edit: submitted an issue upstream:

discord commented on 2023-01-10 06:47 (UTC)

don't work for aarch64 / arm64.

discord commented on 2023-01-10 06:27 (UTC) (edited on 2023-01-10 06:28 (UTC) by discord)

'jupiter-notebook a dependency? Isn't that a python dev environment? python too? I;m confused...

Nestor_013 commented on 2022-04-03 14:01 (UTC) (edited on 2022-04-03 14:01 (UTC) by Nestor_013)


jupyter has been replaced by jupyter-notebook and hence the package does not build.

I guess that simply changing depends and makedepends accordingly would do it.

eduardosm commented on 2019-11-16 18:45 (UTC)

@tauroid Thanks, fixed. I wonder why cling needs the NVPTX target.

tauroid commented on 2019-11-16 16:44 (UTC)

CMake Error at tools/cling/CMakeLists.txt:178 (message):
  NVPTX backend is not activated

  Please enable it via -DLLVM_TARGETS_TO_BUILD="host;NVPTX"

changing the relevant line (44) in PKGBUILD yields working install for me




jdc commented on 2019-04-25 03:14 (UTC)

I ran into a cryptic error message, but found it it was because I didn't have libc++ installed. With that out of the way, it works great!

maximaman commented on 2019-02-02 20:58 (UTC)

I have encountered the following error while trying to build the package:

/home/sid/src/aur/cling-git/src/llvm/tools/cling/lib/Interpreter/Interpreter.cpp: In constructor ‘cling::Interpreter::Interpreter(int, const char* const*, const char*, bool, const cling::Interpreter*)’:
/home/sid/src/aur/cling-git/src/llvm/tools/cling/lib/Interpreter/Interpreter.cpp:309:13: error: ‘class clang::CompilerInvocation’ has no member named ‘addOverlay’
In file included from /home/sid/src/aur/cling-git/src/llvm/include/llvm/ADT/STLExtras.h:32,
                 from /home/sid/src/aur/cling-git/src/llvm/include/llvm/ADT/StringRef.h:13,
                 from /home/sid/src/aur/cling-git/src/llvm/tools/cling/include/cling/Interpreter/Interpreter.h:15,
                 from /home/sid/src/aur/cling-git/src/llvm/tools/cling/lib/Interpreter/Interpreter.cpp:10:
/home/sid/src/aur/cling-git/src/llvm/include/llvm/ADT/SmallVector.h: In instantiation of ‘void llvm::SmallVectorTemplateBase<T, true>::push_back(const T&) [with T = std::pair<clang::IdentifierInfo*, clang::SourceLocation>]’:
/home/sid/src/aur/cling-git/src/llvm/tools/cling/lib/Interpreter/Interpreter.cpp:833:53:   required from here

eduardosm commented on 2016-11-25 10:22 (UTC)

@marmistrz Please, try the new version I've just uploaded.