cling icon indicating copy to clipboard operation
cling copied to clipboard

Maintenance of cling

Open naweiss opened this issue 2 years ago • 13 comments

Is this repo still maintained? On the one hand there is no new release since 2021. On the other hand there are multiple commits from 2022 and 2023.

naweiss avatar Mar 24 '23 07:03 naweiss

I also think it should release new version will be good, because I met

Warning in cling::IncrementalParser::CheckABICompatibility():
  Possible C++ standard library mismatch, compiled with __GLIBCXX__ '20210427'
  Extraction of runtime standard library version was: '20230201'

Freed-Wu avatar Mar 31 '23 14:03 Freed-Wu

@Freed-Wu if you are on Ubuntu 22.04 or 20.04 (23.04 coming soon), you can find native Debian packages for cling and xeus-cling here:

https://launchpad.net/~ppa-verse/+archive/ubuntu/xeus-cling

I've just recompiled them earlier today and all library versions are matching up.

dimitry-ishenko avatar May 10 '23 22:05 dimitry-ishenko

A new release would be good though. We are trying to rebuild cling in homebrew and are hitting some issues: https://github.com/Homebrew/homebrew-core/pull/131473#issuecomment-1555916463

I did not have to investigate if a commit fixed this, but having a new release would at least simplify the investigation for us (we only build from stable releases).

iMichka avatar May 20 '23 15:05 iMichka

Hey folks - we are maintaining it (it's used in production for really big things and we will maintain it probably for the next 20 years!

But the effort we put into community maintenance isn't satisfying at the moment. I do hope that CERN will give us a new FTE starting next year to take care of cling (and the cling-base Python bindings)!

That said: a release is in the plans, I believe; @vgvassilev do you have an ETA? I think we still have several test failures since the upgrade to llvm13?

Axel-Naumann avatar Jul 01 '23 11:07 Axel-Naumann

@jalopezg-git, I believe these tests failures were resolved. Is that correct?

vgvassilev avatar Jul 01 '23 13:07 vgvassilev

No need to believe, you can just check yourself: https://lcgapp-services.cern.ch/root-jenkins/view/cling/job/cling-generic-build/

Axel-Naumann avatar Jul 01 '23 14:07 Axel-Naumann

upgrade to llvm13?

This is so last year... 😞 If you want to target C++20, even LLVM/Clang 15 is no good (no support for ranges).

dimitry-ishenko avatar Jul 01 '23 17:07 dimitry-ishenko

😂 llvm15 is on the radar! Hopefully for this year?

Axel-Naumann avatar Jul 01 '23 18:07 Axel-Naumann

@hahnjo FYI re ranges

Axel-Naumann avatar Jul 01 '23 18:07 Axel-Naumann

@Axel-Naumann @hahnjo Unfortunately, they've really screwed a pooch with Clang. You'd think this simple c++20 example should compile with Clang, right?

#include <iostream>
#include <ranges>
namespace views = std::ranges::views;

int main()
{
    for (auto n : views::iota(0, 20) | views::drop(5) | views::take(10))
        std::cout << n << ' ';
    std::cout << std::endl;
    return 0;
}

Not unless you are using Clang 16: https://godbolt.org/z/6jjhb7Pr8

dimitry-ishenko avatar Jul 01 '23 18:07 dimitry-ishenko

@jalopezg-git, I believe these tests failures were resolved. Is that correct?

According to the report in the URL provided by @Axel-Naumann (https://lcgapp-services.cern.ch/root-jenkins/view/cling/job/cling-generic-build/), there seems to be still a couple of issues:

  • Cling/DynamicLibraryManager/cached_realpath_C: this is tracked here https://github.com/llvm/llvm-project/issues/61289.
  • On macOS, many tests are failing due to the error below and it might be hiding a real problem somewhere; I'd suggest to fix this in the CI before.
ld: library not found for -lSystem

jalopezg-git avatar Jul 04 '23 09:07 jalopezg-git

@jalopezg-git, the issue seems to be resolved by https://reviews.llvm.org/D144276. Maybe we should try backporting?

vgvassilev avatar Jul 06 '23 06:07 vgvassilev

@jalopezg-git, the issue seems to be resolved by https://reviews.llvm.org/D144276. Maybe we should try backporting?

This change is pretty big and also relies on orc_runtime, that probably causes more problems than it solves. AFAICT cached_realpath.C is more of a unit test, I'm not sure how much value it provides. Maybe we can disable it if we detect that kind of problem?

hahnjo avatar Jul 06 '23 06:07 hahnjo

See January 2024 release https://github.com/root-project/cling/releases/tag/v1.0

More info on future LLVM16 release here: https://root-forum.cern.ch/t/cling-1-1-release-plans/58991/

ferdymercury avatar Apr 17 '24 08:04 ferdymercury