Package Details: cling-git r5123.45318c5a-1

Git Clone URL: https://aur.archlinux.org/cling-git.git (read-only, click to copy)
Package Base: cling-git
Description: Interactive C++ interpreter built on the top of LLVM and Clang libraries.
Upstream URL: https://root.cern.ch/cling
Licenses: custom:Cling Release License
Submitter: hagabaka
Maintainer: ralphptorres
Last Packager: simonfxr
Votes: 45
Popularity: 0.000000
First Submitted: 2013-06-08 07:00 (UTC)
Last Updated: 2023-10-02 16:50 (UTC)

Dependencies (7)

Sources (2)

Latest Comments

1 2 3 4 5 6 Next › Last »

AreaOfZero commented on 2024-10-06 00:23 (UTC)

There's a command missing for the build step that should go before the command to build cling: cmake --build . --target clang The issue is detailed here: https://github.com/root-project/cling/issues/531 I don't know what all would need to be done differently to implement into a PKGBUILD, but I think the new build steps should look something like this:

git checkout cling-latest
cd ..
git clone https://github.com/root-project/cling.git
mkdir cling-build && cd cling-build
cmake -DLLVM_EXTERNAL_PROJECTS=cling -DLLVM_EXTERNAL_CLING_SOURCE_DIR=../cling/ -DLLVM_ENABLE_PROJECTS="clang" -DLLVM_TARGETS_TO_BUILD="host;NVPTX" -DCMAKE_BUILD_TYPE=Release ../llvm-project/llvm
cmake --build . --target clang
cmake --build . --target cling

Tyilo commented on 2023-11-13 15:16 (UTC)

I get the following error when trying to run cling version r5127.a292a61b-1:

$ cling
ERROR in cling::CIFactory::createCI():
  resource directory /home/tyilo/.cache/paru/clone/cling-git/src/cling-build/lib/clang/13.0.0 not found!

****************** CLING ******************
* Type C++ code and press enter to run it *
*             Type .q to exit             *
*******************************************
[cling]$ 1+1
In file included from input_line_4:1:
In file included from /opt/cling/include/cling/Interpreter/RuntimePrintValue.h:19:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/memory:80:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/shared_ptr.h:52:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/iosfwd:42:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/bits/postypes.h:40:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/13.2.1/../../../../include/c++/13.2.1/cwchar:44:
/usr/include/wchar.h:35:10: fatal error: 'stddef.h' file not found
#include <stddef.h>
         ^~~~~~~~~~
 #0 0x000055f17d19a8bb (/bin/cling+0x11948bb)
 #1 0x000055f17d197ff3 (/bin/cling+0x1191ff3)
 #2 0x0000154aee76f710 (/usr/lib/libc.so.6+0x3e710)
 #3 0x000055f17f06f0d1 clang::DeclContext::removeDecl(clang::Decl*) (/bin/cling+0x30690d1)
 #4 0x000055f17d012c20 cling::DeclUnloader::VisitNamedDecl(clang::NamedDecl*) (/bin/cling+0x100cc20)
 #5 0x000055f17d01c4ff cling::DeclUnloader::VisitNamespaceDecl(clang::NamespaceDecl*) (/bin/cling+0x10164ff)
 #6 0x000055f17d01c09b cling::DeclUnloader::VisitDeclContext(clang::DeclContext*) (/bin/cling+0x101609b)
 #7 0x000055f17d01c1dd cling::DeclUnloader::VisitLinkageSpecDecl(clang::LinkageSpecDecl*) (/bin/cling+0x10161dd)
 #8 0x000055f17d0b0828 cling::TransactionUnloader::unloadDeclarations(cling::Transaction*, cling::DeclUnloader&) (/bin/cling+0x10aa828)
 #9 0x000055f17d0b0ae0 cling::TransactionUnloader::RevertTransaction(cling::Transaction*) (/bin/cling+0x10aaae0)
#10 0x000055f17d0848b9 cling::Interpreter::unload(cling::Transaction&) (/bin/cling+0x107e8b9)
#11 0x000055f17d079292 cling::IncrementalParser::commitTransaction(llvm::PointerIntPair<cling::Transaction*, 2u, cling::IncrementalParser::EParseResult, llvm::PointerLikeTypeTraits<cling::Transaction*>, llvm::PointerIntPairInfo<cling::Transaction*, 2u, llvm::PointerLikeTypeTraits<cling::Transaction*>>>&, bool) (/bin/cling+0x1073292)
#12 0x000055f17d07de75 cling::IncrementalParser::Compile(llvm::StringRef, cling::CompilationOptions const&) (/bin/cling+0x1077e75)
#13 0x000055f17d0818b2 cling::Interpreter::declare(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, cling::Transaction**) (/bin/cling+0x107b8b2)
#14 0x000055f17d0c264a cling::valuePrinterInternal::printValueInternal[abi:cxx11](cling::Value const&) (/bin/cling+0x10bc64a)
#15 0x000055f17d0b996f cling::Value::print(llvm::raw_ostream&, bool) const (/bin/cling+0x10b396f)
#16 0x0000154aeeca003e 
#17 0x000055f17d06725c cling::IncrementalExecutor::executeWrapper(llvm::StringRef, cling::Value*) const (/bin/cling+0x106125c)
#18 0x000055f17d082abf cling::Interpreter::RunFunction(clang::FunctionDecl const*, cling::Value*) (/bin/cling+0x107cabf)
#19 0x000055f17d083296 cling::Interpreter::EvaluateInternal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, cling::CompilationOptions, cling::Value*, cling::Transaction**, unsigned long) (/bin/cling+0x107d296)
#20 0x000055f17d083682 cling::Interpreter::process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, cling::Value*, cling::Transaction**, bool) (/bin/cling+0x107d682)
#21 0x000055f17d0d5031 cling::MetaProcessor::process(llvm::StringRef, cling::Interpreter::CompilationResult&, cling::Value*, bool) (/bin/cling+0x10cf031)
#22 0x000055f17d1c17f3 cling::UserInterface::runInteractively(bool) (/bin/cling+0x11bb7f3)
#23 0x000055f17cee3149 main (/bin/cling+0xedd149)
#24 0x0000154aee758cd0 (/usr/lib/libc.so.6+0x27cd0)
#25 0x0000154aee758d8a __libc_start_main (/usr/lib/libc.so.6+0x27d8a)
#26 0x000055f17cf71c45 _start (/bin/cling+0xf6bc45)
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.  Program arguments: /bin/cling
fish: Job 1, '/bin/cling' terminated by signal SIGSEGV (Address boundary error)

lahwaacz commented on 2023-10-02 17:43 (UTC)

@simonfxr Actually, I switched to the cling package which is needed for xeus-cling.

simonfxr commented on 2023-10-02 16:55 (UTC)

@lahwaacz: Thank you for the patched build, I pushed your changes. Since I'm not really using cling anymore, maybe you wan't to take over maintainance?

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

The URLs in source need to be updated, see https://github.com/root-project/cling/issues/506#issuecomment-1615965822

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)
pkgver=r5094.67235e8a
pkgrel=1
pkgdesc="Interactive C++ interpreter built on the top of LLVM and Clang libraries."
arch=('i686' 'x86_64')
url="https://root.cern.ch/cling"
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)
source=(
    "cling-llvm::git+https://github.com/root-project/llvm-project.git#branch=cling-llvm13"
    "cling::git+https://github.com/root-project/cling.git#branch=master"
)
sha256sums=(
    'SKIP'
    'SKIP'
)

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"
    fi
    if [ ! -h "$srcdir/cling-llvm/llvm/tools/cling" ]; then
        ln -s "$srcdir/cling" "$srcdir/cling-llvm/llvm/tools/cling"
    fi
}

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" \
        -DLLVM_TARGETS_TO_BUILD="host;NVPTX" \
        -DLLVM_BUILD_LLVM_DYLIB=OFF \
        -DLLVM_ENABLE_RTTI=ON \
        -DLLVM_ENABLE_FFI=ON \
        -DLLVM_BUILD_DOCS=OFF \
        -DLLVM_ENABLE_SPHINX=OFF \
        -DLLVM_ENABLE_DOXYGEN=OFF \
        -DFFI_INCLUDE_DIR=$(pkg-config --cflags-only-I libffi | cut -c3-) \

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

package_cling-git() {
    depends=('libffi')

    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 setup.py 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: https://github.com/root-project/cling/issues/506

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)

Hello,

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.