aminya / setup-cpp

Install all the tools required for building and testing C++/C projects.
Apache License 2.0
185 stars 27 forks source link

add LLVM 18.1.0 and 18.1.1 #236

Closed tchaikov closed 5 months ago

tchaikov commented 5 months ago

Fixes #228 Signed-off-by: Kefu Chai tchaikov@gmail.com

tchaikov commented 5 months ago

sorry, i don't have the bandwidth for testing with the fedora or arch container at this moment.

tchaikov commented 5 months ago

the test failures on macos-11 and macos-13 are irrelevant: macos-11:

Summary of all failing tests
FAIL src/cppcheck/__tests__/cppcheck.test.ts (403.448 s)
  ● setup-cppcheck › should setup cppcheck

    thrown: "Exceeded timeout of 300000 ms for a test.
    Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

       5 | jest.setTimeout(300000)
       6 | describe("setup-cppcheck", () => {
    >  7 |   it("should setup cppcheck", async () => {
         |   ^
       8 |     // TODO: choco fails abnormally on windows
       9 |     if (process.platform !== "win32") {
      10 |       const installInfo = await setupCppcheck(getVersion("cppcheck", undefined), "", process.arch)

      at src/cppcheck/__tests__/cppcheck.test.ts:7:3
      at Object.<anonymous> (src/cppcheck/__tests__/cppcheck.test.ts:6:1)

FAIL src/sccache/__tests__/sccache.test.ts (1096.262 s)
  ● setup-sccache › should setup sccache

    thrown: "Exceeded timeout of 300000 ms for a test.
    Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

       5 | jest.setTimeout(300000)
       6 | describe("setup-sccache", () => {
    >  7 |   it("should setup sccache", async () => {
         |   ^
       8 |     const installInfo = await setupSccache("", "", process.arch)
       9 |
      10 |     await testBin("sccache", ["--version"], (installInfo as InstallationInfo | undefined)?.binDir)

      at src/sccache/__tests__/sccache.test.ts:7:3
      at Object.<anonymous> (src/sccache/__tests__/sccache.test.ts:6:1)

FAIL src/ccache/__tests__/ccache.test.ts (306.7 s)
  ● setup-ccache › should setup ccache

    thrown: "Exceeded timeout of 300000 ms for a test.
    Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."

       5 | jest.setTimeout(300000)
       6 | describe("setup-ccache", () => {
    >  7 |   it("should setup ccache", async () => {
         |   ^
       8 |     const installInfo = await setupCcache("", "", process.arch)
       9 |
      10 |     await testBin("ccache", ["--version"], (installInfo as InstallationInfo | undefined)?.binDir)

      at src/ccache/__tests__/ccache.test.ts:7:3
      at Object.<anonymous> (src/ccache/__tests__/ccache.test.ts:6:1)

macos-13:

==> Pouring python@3.12--3.12.2_1.ventura.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/2to3
Target /usr/local/bin/2to3
already exists. You may want to remove it:
  rm '/usr/local/bin/2to3'

To force the link and overwrite all conflicting files:
  brew link --overwrite python@3.12

To list all files that would be deleted:
  brew link --overwrite python@3.12 --dry-run
aminya commented 5 months ago

sorry, i don't have the bandwidth for testing with the fedora or arch container at this moment.

No problem. Thanks for the PR. I'll have some time this week to finish it

tchaikov commented 5 months ago

changelog

tchaikov commented 5 months ago

sorry, i don't have the bandwidth for testing with the fedora or arch container at this moment.

No problem. Thanks for the PR. I'll have some time this week to finish it

thanks in advance.

aminya commented 5 months ago

I failed to install LLVM 18 locally. It seems there are conflicts between 17 and 18.

tchaikov commented 5 months ago

I failed to install LLVM 18 locally. It seems there are conflicts between 17 and 18.

@aminya may i learn what exactly the failure you ran into?

aminya commented 5 months ago

Here's the error for installing LLVM 18. It seems to conflict with LLVM 17

Repository: 'deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-18 main'
Description:
Archive for codename: llvm-toolchain-jammy-18 components: main
More info: http://apt.llvm.org/jammy/
Adding repository.
Adding deb entry to /etc/apt/sources.list.d/archive_uri-http_apt_llvm_org_jammy_-jammy.list
Adding disabled deb-src entry to /etc/apt/sources.list.d/archive_uri-http_apt_llvm_org_jammy_-jammy.list
Get:1 file:/var/lib/preinstalled-pool jammy InRelease
Ign:1 file:/var/lib/preinstalled-pool jammy InRelease
Get:2 file:/var/lib/preinstalled-pool jammy Release [3,949 B]
Get:2 file:/var/lib/preinstalled-pool jammy Release [3,949 B]
Hit:5 https://download.docker.com/linux/ubuntu jammy InRelease
Hit:6 https://storage.googleapis.com/bazel-apt stable InRelease
Hit:7 https://deb.nodesource.com/node_20.x nodistro InRelease
Hit:8 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:9 https://packages.microsoft.com/repos/edge stable InRelease
Hit:10 http://deb.volian.org/volian scar InRelease
Ign:11 https://releases.warp.dev/linux/deb stable InRelease
Hit:12 https://packages.microsoft.com/repos/code stable InRelease
Hit:14 https://releases.warp.dev/linux/deb stable Release
Hit:15 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 https://apt.llvm.org/jammy llvm-toolchain-jammy-17 InRelease
Get:4 https://apt.llvm.org/jammy llvm-toolchain-jammy-18 InRelease [6,833 B]
Hit:16 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:17 https://apt.packages.shiftkey.dev/ubuntu any InRelease
Get:18 http://archive.neon.kde.org/user jammy InRelease [189 kB]
Hit:19 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy InRelease
Hit:21 https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InRelease
Get:22 https://apt.llvm.org/jammy llvm-toolchain-jammy-18/main amd64 Packages [12.5 kB]
Fetched 208 kB in 2s (96.3 kB/s)
Reading package lists... Done
W: file:/var/lib/preinstalled-pool/dists/jammy/Release.gpg: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11 (main/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11 (main/dep11/Components-all.yml) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11-icons-small (main/dep11/icons-48x48.tar) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11-icons (main/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11-icons-hidpi (main/dep11/icons-64x64@2.tar) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11-icons-large (main/dep11/icons-128x128.tar) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target Packages (main/binary-all/Packages) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11 (main/dep11/Components-amd64.yml) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11 (main/dep11/Components-all.yml) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11-icons-small (main/dep11/icons-48x48.tar) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11-icons (main/dep11/icons-64x64.tar) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11-icons-hidpi (main/dep11/icons-64x64@2.tar) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target DEP-11-icons-large (main/dep11/icons-128x128.tar) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target CNF (main/cnf/Commands-amd64) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
W: Target CNF (main/cnf/Commands-all) is configured multiple times in /etc/apt/sources.list.d/microsoft-edge-beta.list:3 and /etc/apt/sources.list.d/microsoft-edge.list:1
Updated:   file:/var/lib/preinstalled-pool jammy InRelease
Ignored:   file:/var/lib/preinstalled-pool jammy InRelease
Updated:   file:/var/lib/preinstalled-pool jammy Release [4 KB]
Updated:   file:/var/lib/preinstalled-pool jammy Release [4 KB]
No Change: https://storage.googleapis.com/bazel-apt stable InRelease
No Change: https://download.docker.com/linux/ubuntu jammy InRelease
No Change: https://packages.microsoft.com/repos/edge stable InRelease
No Change: http://deb.volian.org/volian scar InRelease
No Change: http://security.ubuntu.com/ubuntu jammy-security InRelease
No Change: https://packages.microsoft.com/repos/code stable InRelease
No Change: https://deb.nodesource.com/node_20.x nodistro InRelease
Ignored:   https://releases.warp.dev/linux/deb stable InRelease
No Change: https://apt.llvm.org/jammy llvm-toolchain-jammy-17 InRelease
No Change: http://archive.ubuntu.com/ubuntu jammy InRelease
No Change: https://releases.warp.dev/linux/deb stable Release
No Change: https://apt.llvm.org/jammy llvm-toolchain-jammy-18 InRelease
No Change: http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Updated:   http://archive.neon.kde.org/user jammy InRelease [189 KB]
No Change: https://apt.packages.shiftkey.dev/ubuntu any InRelease
No Change: https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy InRelease
No Change: https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InRelease
Fetched 189 KB in 1s (188.9 KB/s)
3 packages can be upgraded. Run 'nala list --upgradable' to see them.
Starting pkgProblemResolver with broken count: 4
Starting 2 pkgProblemResolver with broken count: 4
Investigating (0) llvm-18-dev:amd64 < none -> 1:18.1.3~++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86 @un pumN Ib >
Broken llvm-18-dev:amd64 Depends on llvm-18:amd64 < none | 1:18.1.3~++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86 @un umH > (= 1:18.1.3~++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86)
  Considering llvm-18:amd64 0 as a solution to llvm-18-dev:amd64 1
  Re-Instated llvm-18-runtime:amd64
  Re-Instated llvm-18:amd64
Investigating (0) lldb-18:amd64 < none -> 1:18.1.3~++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86 @un pumN Ib >
Broken lldb-18:amd64 Depends on liblldb-18:amd64 < none | 1:18.1.3~++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86 @un umH >
  Considering liblldb-18:amd64 1 as a solution to lldb-18:amd64 -1
  Re-Instated liblldb-18:amd64
Broken lldb-18:amd64 Depends on python3-lldb-18:amd64 < none | 1:18.1.3~++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86 @un umH >
  Considering python3-lldb-18:amd64 1 as a solution to lldb-18:amd64 -1
  Re-Instated python3-lldb-18:amd64
Investigating (0) libomp-17-dev:amd64 < 1:17.0.6~++20231209124227+6009708b4367-1~exp1~20231209124336.77 @ii mK Ib >
Broken libomp-17-dev:amd64 Conflicts on libomp-x.y-dev:amd64 < none @un H >
  Considering libomp-18-dev:amd64 -2 as a solution to libomp-17-dev:amd64 -1
  Conflicts//Breaks against version 1:14.0.0-1ubuntu1.1 for libomp-14-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:13.0.1-2ubuntu2.2 for libomp-13-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:15.0.7-0ubuntu0.22.04.3 for libomp-15-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:14.0.0-1ubuntu1 for libomp-14-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:13.0.1-2ubuntu2 for libomp-13-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:12.0.1-19ubuntu3 for libomp-12-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:11.1.0-6 for libomp-11-dev but that is not InstVer, ignoring
Investigating (0) libomp-18-dev:amd64 < none -> 1:18.1.3~++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86 @un pumN Ib >
Broken libomp-18-dev:amd64 Depends on libomp5-18:amd64 < none | 1:18.1.3~++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86 @un umH > (= 1:18.1.3~++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86)
  Considering libomp5-18:amd64 0 as a solution to libomp-18-dev:amd64 -2
  Re-Instated libomp5-18:amd64
Broken libomp-18-dev:amd64 Conflicts on libomp-x.y-dev:amd64 < none @un H >
  Considering libomp-17-dev:amd64 -1 as a solution to libomp-18-dev:amd64 -2
  Conflicts//Breaks against version 1:14.0.0-1ubuntu1.1 for libomp-14-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:13.0.1-2ubuntu2.2 for libomp-13-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:15.0.7-0ubuntu0.22.04.3 for libomp-15-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:14.0.0-1ubuntu1 for libomp-14-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:13.0.1-2ubuntu2 for libomp-13-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:12.0.1-19ubuntu3 for libomp-12-dev but that is not InstVer, ignoring
  Conflicts//Breaks against version 1:11.1.0-6 for libomp-11-dev but that is not InstVer, ignoring
Done
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /usr/lib/python3/dist-packages/nala/nala.py:378 in install                                       │
│                                                                                                  │
│   375 │   color_force: bool = COLOR,                                                             │
│   376 ) -> None:                                                                                 │
│   377 │   """Install packages."""                                                                │
│ ❱ 378 │   _install(pkg_names, ctx)                                                               │
│   379                                                                                            │
│   380                                                                                            │
│   381 @nala.command(help=_("Remove packages."))                                                  │
│                                                                                                  │
│ ╭────────────────────────────── locals ──────────────────────────────╮                           │
│ │         assume_yes = None                                          │                           │
│ │        auto_remove = None                                          │                           │
│ │        color_force = None                                          │                           │
│ │                ctx = <click.core.Context object at 0x7aefabe8f220> │                           │
│ │              debug = None                                          │                           │
│ │    default_release = None                                          │                           │
│ │      download_only = None                                          │                           │
│ │        dpkg_option = ['Dpkg::Options::=--force-overwrite']         │                           │
│ │         fix_broken = None                                          │                           │
│ │ install_recommends = None                                          │                           │
│ │   install_suggests = None                                          │                           │
│ │           man_help = None                                          │                           │
│ │          pkg_names = [                                             │                           │
│ │                      │   'clang-18',                               │                           │
│ │                      │   'lldb-18',                                │                           │
│ │                      │   'lld-18',                                 │                           │
│ │                      │   'clangd-18',                              │                           │
│ │                      │   'clang-tidy-18',                          │                           │
│ │                      │   'clang-format-18',                        │                           │
│ │                      │   'clang-tools-18',                         │                           │
│ │                      │   'llvm-18-dev',                            │                           │
│ │                      │   'lld-18',                                 │                           │
│ │                      │   'lldb-18',                                │                           │
│ │                      │   ... +7                                    │                           │
│ │                      ]                                             │                           │
│ │              purge = None                                          │                           │
│ │           raw_dpkg = None                                          │                           │
│ │   remove_essential = None                                          │                           │
│ │             simple = None                                          │                           │
│ │             update = None                                          │                           │
│ │            verbose = None                                          │                           │
│ ╰────────────────────────────────────────────────────────────────────╯                           │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/nala.py:190 in _install                                      │
│                                                                                                  │
│   187 │   │   pkg_error(not_found, cache)                                                        │
│   188 │                                                                                          │
│   189 │   nala_pkgs.user_explicit = [cache[pkg_name] for pkg_name in pkg_names]                  │
│ ❱ 190 │   if not package_manager(pkg_names, cache):                                              │
│   191 │   │   if not (error := BrokenError(cache, broken)).broken_install():                     │
│   192 │   │   │   error.unmarked_error(nala_pkgs.user_explicit)                                  │
│   193                                                                                            │
│                                                                                                  │
│ ╭─────────────────────────────────────── locals ────────────────────────────────────────╮        │
│ │     broken = [                                                                        │        │
│ │              │   <Package: name:'clang-18' architecture='amd64' id:115849>,           │        │
│ │              │   <Package: name:'clang-format-18' architecture='amd64' id:115858>,    │        │
│ │              │   <Package: name:'clang-tidy-18' architecture='amd64' id:115859>,      │        │
│ │              │   <Package: name:'clang-tools-18' architecture='amd64' id:115860>,     │        │
│ │              │   <Package: name:'clangd-18' architecture='amd64' id:115861>,          │        │
│ │              │   <Package: name:'libclang-18-dev' architecture='amd64' id:115872>,    │        │
│ │              │   <Package: name:'libclang-cpp18-dev' architecture='amd64' id:115874>, │        │
│ │              │   <Package: name:'libomp-18-dev' architecture='amd64' id:115891>,      │        │
│ │              │   <Package: name:'libpolly-18-dev' architecture='amd64' id:115894>,    │        │
│ │              │   <Package: name:'lld-18' architecture='amd64' id:115882>,             │        │
│ │              │   ... +2                                                               │        │
│ │              ]                                                                        │        │
│ │      cache = <nala.cache.Cache object at 0x7aefabe8f7c0>                              │        │
│ │        ctx = <click.core.Context object at 0x7aefabe8f220>                            │        │
│ │  not_exist = []                                                                       │        │
│ │  not_found = []                                                                       │        │
│ │  pkg_names = [                                                                        │        │
│ │              │   'clang-18',                                                          │        │
│ │              │   'clang-format-18',                                                   │        │
│ │              │   'clang-tidy-18',                                                     │        │
│ │              │   'clang-tools-18',                                                    │        │
│ │              │   'clangd-18',                                                         │        │
│ │              │   'libclang-18-dev',                                                   │        │
│ │              │   'libclang-common-18-dev',                                            │        │
│ │              │   'libclang-cpp18-dev',                                                │        │
│ │              │   'libclang-rt-18-dev',                                                │        │
│ │              │   'libomp-18-dev',                                                     │        │
│ │              │   ... +5                                                               │        │
│ │              ]                                                                        │        │
│ │ ver_failed = False                                                                    │        │
│ ╰───────────────────────────────────────────────────────────────────────────────────────╯        │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/nala/install.py:926 in package_manager                            │
│                                                                                                  │
│    923 │   │   for pkg_name in pkg_names:                                                        │
│    924 │   │   │   if pkg_name in cache:                                                         │
│    925 │   │   │   │   pkg = cache[pkg_name]                                                     │
│ ❱  926 │   │   │   │   pkg.mark_install(auto_fix=arguments.fix_broken)                           │
│    927 │   return True                                                                           │
│    928                                                                                           │
│    929                                                                                           │
│                                                                                                  │
│ ╭─────────────────────────────── locals ────────────────────────────────╮                        │
│ │     cache = <nala.cache.Cache object at 0x7aefabe8f7c0>               │                        │
│ │     fixer = <apt_pkg.ProblemResolver object at 0x7aefabeb27c0>        │                        │
│ │       pkg = <Package: name:'clang-18' architecture='amd64' id:115849> │                        │
│ │  pkg_name = 'clang-18'                                                │                        │
│ │ pkg_names = [                                                         │                        │
│ │             │   'clang-18',                                           │                        │
│ │             │   'clang-format-18',                                    │                        │
│ │             │   'clang-tidy-18',                                      │                        │
│ │             │   'clang-tools-18',                                     │                        │
│ │             │   'clangd-18',                                          │                        │
│ │             │   'libclang-18-dev',                                    │                        │
│ │             │   'libclang-common-18-dev',                             │                        │
│ │             │   'libclang-cpp18-dev',                                 │                        │
│ │             │   'libclang-rt-18-dev',                                 │                        │
│ │             │   'libomp-18-dev',                                      │                        │
│ │             │   ... +5                                                │                        │
│ │             ]                                                         │                        │
│ │    remove = False                                                     │                        │
│ ╰───────────────────────────────────────────────────────────────────────╯                        │
│                                                                                                  │
│ /usr/lib/python3/dist-packages/apt/package.py:1506 in mark_install                               │
│                                                                                                  │
│   1503 │   │   │   fixer = apt_pkg.ProblemResolver(self._pcache._depcache)                       │
│   1504 │   │   │   fixer.clear(self._pkg)                                                        │
│   1505 │   │   │   fixer.protect(self._pkg)                                                      │
│ ❱ 1506 │   │   │   fixer.resolve(True)                                                           │
│   1507 │   │   self._pcache.cache_post_change()                                                  │
│   1508 │                                                                                         │
│   1509 │   def mark_upgrade(self, from_user=True):                                               │
│                                                                                                  │
│ ╭─────────────────────────────── locals ────────────────────────────────╮                        │
│ │  auto_fix = True                                                      │                        │
│ │ auto_inst = True                                                      │                        │
│ │     fixer = <apt_pkg.ProblemResolver object at 0x7aefabeb2840>        │                        │
│ │ from_user = True                                                      │                        │
│ │      self = <Package: name:'clang-18' architecture='amd64' id:115849> │                        │
│ ╰───────────────────────────────────────────────────────────────────────╯                        │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
Error: E:Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Failed to install llvm via system package manager Error: Command failed with exit code 1: sudo 'bash' '/tmp/llvm-setup-cpp.sh' '18' 'all'
Installing llvm 18 x64 via direct downloading
Falling back to LLVM version 17.0.6 -ubuntu-22.04 for the Ubuntu.
Falling back to LLVM version 17.0.6 -ubuntu-22.04 for the Ubuntu.
Falling back to LLVM version 17.0.6 -ubuntu-22.04 for the Ubuntu.
Error: Unsupported target! (platform='linux', version='18'). Try one of the following: {}
::endgroup::
took 33 seconds
llvm failed to install
setup-cpp finished
Run `source ~/.cpprc` or restart your shell to update the environment.
tchaikov commented 5 months ago

i see, looks like

Broken libomp-17-dev:amd64 Conflicts on libomp-x.y-dev:amd64 < none @un H >
...
Broken libomp-18-dev:amd64 Depends on libomp5-18:amd64 < none | 1:18.1.3~++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86 @un umH > (= 1:18.1.3~++20240322073153+ef6d1ec07c69-1~exp1~20240322193300.86)

anyway, i am glad that you managed to fix it. much appreciated!

aminya commented 5 months ago

I couldn't fix it. That's why I reverted the default to 17. See https://github.com/aminya/setup-cpp/issues/238

tchaikov commented 5 months ago

i see. but we don't have to install both of them for using either of them, right?

aminya commented 5 months ago

No, but the script should be able to fix the conflicts automatically until we can declare it stable.

tchaikov commented 5 months ago

but, but to my best knowledge, the libfoo-dev packages are inherently conflict with each other under most circumstances.

aminya commented 5 months ago

The script needs to support replacing old packages automatically to prevent conflicts. Otherwise, the system cannot be upgraded,