Package Details: cling 1.2-1

Git Clone URL: https://aur.archlinux.org/cling.git (read-only, click to copy)
Package Base: cling
Description: Interactive C++ interpreter, built on the top of LLVM and Clang libraries
Upstream URL: https://root.cern/cling/
Keywords: c c++ cling interpreter llvm
Licenses: custom:Cling Release License
Conflicts: cling
Provides: cling
Submitter: archibald869
Maintainer: archibald869
Last Packager: archibald869
Votes: 19
Popularity: 0.26
First Submitted: 2019-08-28 11:45 (UTC)
Last Updated: 2025-03-26 16:00 (UTC)

Dependencies (9)

Required by (1)

Sources (2)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

carlosal1015 commented on 2023-08-08 17:37 (UTC) (edited on 2023-08-21 15:33 (UTC) by carlosal1015)

Hi @archibald869, could you please add this patch enable-redefinition-allowed.patch, this feature comes from cling-0.7.0, to disable this behaviour. Many thanks, I will really appreciate it, especially for the xeus-cling package.

This patch works from my side.

archibald869 commented on 2023-07-19 09:48 (UTC)

Thanks for your hints! I updated the PKGBUILD accordingly.

lahwaacz commented on 2023-07-01 21:25 (UTC)

Also the LLVM and Clang sources should be prefixed with cling- and not just llvm/clang as these are not unique for all packages.

You can also call just ninja once in the build() function to build everything at once, otherwise even ninja install builds something...

lahwaacz commented on 2023-07-01 21:20 (UTC)

Please disable LTO for this package. Not only it eats all of my 128 GB RAM, it is also disabled in extra/llvm itself.

archibald869 commented on 2023-04-18 10:05 (UTC) (edited on 2023-04-18 10:05 (UTC) by archibald869)

I just tested it in a clean environment and it worked flawlessly. Do you still face this issue?

gnaggnoyil commented on 2023-03-03 13:13 (UTC)

When building in a clean chroot, the build process emitted the following errors for me:

[445/461] Linking CXX executable bin/cling-demo
FAILED: bin/cling-demo 
: && /usr/bin/c++ -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions         -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security         -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/cling/src=/usr/src/debug/cling -flto=auto -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=c++11 -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-class-memaccess -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -fno-strict-aliasing -Wno-nested-anon-types -Wno-covered-switch-default -Wno-unused-local-typedef -fno-rtti -O3 -DNDEBUG -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -flto=auto -Wl,-allow-shlib-undefined   -Wl,--export-dynamic tools/cling/tools/demo/CMakeFiles/cling-demo.dir/cling-demo.cpp.o -o bin/cling-demo  lib/libclingInterpreter.a  lib/libclingUtils.a  lib/libclangCodeGen.a  lib/libclangRewriteFrontend.a  lib/libclangFrontend.a  lib/libclangDriver.a  lib/libclangParse.a  lib/libclangRewrite.a  lib/libclangSerialization.a  lib/libclangSema.a  lib/libclangAnalysis.a  lib/libclangASTMatchers.a  lib/libclangEdit.a  lib/libclangAST.a  lib/libclangLex.a  lib/libclangBasic.a  lib/libLLVMCoroutines.a  lib/libLLVMCoverage.a  lib/libLLVMLTO.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMOption.a  lib/libLLVMOrcJIT.a  lib/libLLVMExecutionEngine.a  lib/libLLVMPasses.a  lib/libLLVMJITLink.a  lib/libLLVMRuntimeDyld.a  lib/libLLVMNVPTXCodeGen.a  lib/libLLVMipo.a  lib/libLLVMIRReader.a  lib/libLLVMAsmParser.a  lib/libLLVMInstrumentation.a  lib/libLLVMLinker.a  lib/libLLVMVectorize.a  lib/libLLVMNVPTXDesc.a  lib/libLLVMNVPTXInfo.a  lib/libLLVMX86CodeGen.a  lib/libLLVMAsmPrinter.a  lib/libLLVMDebugInfoDWARF.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMCodeGen.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMTarget.a  lib/libLLVMTransformUtils.a  lib/libLLVMBitWriter.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMX86AsmParser.a  lib/libLLVMX86Desc.a  lib/libLLVMObject.a  lib/libLLVMBitReader.a  lib/libLLVMCore.a  lib/libLLVMRemarks.a  lib/libLLVMBitstreamReader.a  lib/libLLVMMCParser.a  lib/libLLVMX86Disassembler.a  lib/libLLVMMCDisassembler.a  lib/libLLVMMC.a  lib/libLLVMBinaryFormat.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMX86Info.a  lib/libLLVMX86Utils.a  lib/libLLVMSupport.a  -lz  -lrt  -ldl  -ltinfo  -lm  lib/libLLVMDemangle.a && :
/usr/src/debug/cling/llvm/include/llvm/Support/CrashRecoveryContext.h:182:7: warning: virtual table of type ‘struct CrashRecoveryContextDeleteCleanup’ violates one definition rule [-Wodr]
/usr/src/debug/cling/llvm/include/llvm/Support/CrashRecoveryContext.h:182:7: note: the conflicting type defined in another translation unit has virtual table with more entries
/usr/src/debug/cling/llvm/include/llvm/Support/CrashRecoveryContext.h:145:7: warning: virtual table of type ‘struct CrashRecoveryContextCleanupBase’ violates one definition rule [-Wodr]
/usr/src/debug/cling/llvm/include/llvm/Support/CrashRecoveryContext.h:145:7: note: the conflicting type defined in another translation unit has virtual table with more entries
/usr/src/debug/cling/llvm/include/llvm/Option/ArgList.h:116:7: warning: virtual table of type ‘struct ArgList’ violates one definition rule [-Wodr]
/usr/src/debug/cling/llvm/include/llvm/Option/ArgList.h:116:7: note: the conflicting type defined in another translation unit has virtual table with more entries
lto1: note: unrecognized command-line option ‘-Wno-unused-local-typedef’ may have been intended to silence earlier diagnostics
lto1: note: unrecognized command-line option ‘-Wno-covered-switch-default’ may have been intended to silence earlier diagnostics
lto1: note: unrecognized command-line option ‘-Wno-nested-anon-types’ may have been intended to silence earlier diagnostics
lto-wrapper: fatal error: write: No space left on device
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status

Is there anyone facing similar errors? I'm sure I have enough disk and RAM space but I'm not sure if there's any settings I need to set up for the chroot build.

archibald869 commented on 2023-02-28 15:26 (UTC) (edited on 2023-02-28 15:26 (UTC) by archibald869)

Thanks for the hint! I've updated the PKGBUILD as suggested. In the course of this, I've also switched to Ninja as build system instead of Make, as proposed by krnlpk. Thank you too!

receptacular commented on 2023-02-03 04:06 (UTC)

I started getting compilation errors the other day. I fixed it by changing the LLVM and Clang Git URLs to checkout the tag cling-v0.9.

diff --unified --text PKGBUILD-orig PKGBUILD
--- PKGBUILD-orig       2023-02-02 22:45:25.786854352 -0500
+++ PKGBUILD    2023-02-02 22:34:53.209842368 -0500
@@ -16,8 +16,8 @@
     "perl: support for scan-build, ccc-analyzer and c++-analyzer"
 )
 source=(
-    "llvm::git+http://root.cern/git/llvm.git#branch=cling-patches"
-    "clang::git+http://root.cern/git/clang.git#branch=cling-patches"
+    "llvm::git+http://root.cern/git/llvm.git#tag=cling-v$pkgver"
+    "clang::git+http://root.cern/git/clang.git#tag=cling-v$pkgver"
     "cling::git+http://root.cern/git/cling.git#tag=v$pkgver"
 )
 sha256sums=(

krnlpk commented on 2021-10-25 09:09 (UTC) (edited on 2021-10-25 09:10 (UTC) by krnlpk)

The PKGBUILD keeps being broken for me, and fails with

make: Entering directory '/home/krnlpk/.cache/paru/clone/cling/src/build/tools/clang'
make: *** No targets specified and no makefile found.  Stop.
make: Leaving directory '/home/krnlpk/.cache/paru/clone/cling/src/build/tools/clang'

If I edit the PKGBUILD to use Ninja instead of Make, not only the build is noticeably speedier, but it doesn't suffer from this problem (I simply build the right targets instead of doing -C):

diff --git a/PKGBUILD b/PKGBUILD
index add937e..ebe78b8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -46,6 +46,7 @@ build() {
     cd "$srcdir/build"

     cmake \
+        -G Ninja \
         -DCMAKE_BUILD_TYPE=Release \
         -DCMAKE_INSTALL_PREFIX="/opt/cling" \
         -DLLVM_TARGETS_TO_BUILD="host;NVPTX" \
@@ -59,14 +60,14 @@ build() {
         -DFFI_INCLUDE_DIR=$(pkg-config --cflags-only-I libffi | cut -c3-) \
         "$srcdir/llvm"

-    make -C tools/clang
-    make -C tools/cling
+    ninja clang
+    ninja cling
 }

 package() {
     cd "$srcdir/build"

-    make DESTDIR="$pkgdir" install
+    env DESTDIR="$pkgdir" ninja install

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

archibald869 commented on 2021-10-22 18:56 (UTC)

I added the suggested patch. Can you give it another try please?