Skip to content

LLVM 21 apt packages unable to install on debian trixie due to unmet dependenciesΒ #164168

@davidfiala

Description

@davidfiala

For quite some time, clang21 installed fine via llvm.sh perfectly fine on trixie.

Recently, llvm.sh 21 all && apt-get install -y clang-21-doc libomp-21-doc llvm-21-doc installs broke on trixie, as the proof-of-concept below shows, due to:

  • Depends: libstdc++-15-dev but it is not installable
  • Depends: libgcc-15-dev but it is not installable
  • Depends: libobjc-15-dev but it is not installable
  • Depends: liblldb-21 but it is not going to be installed
  • Depends: libxml2-16 (>= 2.14.1) but it is not installable
  • Depends: python3-lldb-21 but it is not going to be installed

Possible guess is that llvm 21 is depping on packages available in debian unstable or testing, rather than stable packages.

Dockerfile.clangtest

# cat Dockerfile.clangtest | docker build --progress=plain -
FROM public.ecr.aws/docker/library/debian:trixie-slim

USER root
WORKDIR /root

RUN apt-get update && \
    apt-get dist-upgrade -y && \
    apt-get install -y curl gnupg lsb-release

ADD --checksum=sha256:70f8080fd855cb10cd79b140b8589a83f8a1f83d25b0bbf4436f55525425ac05 \
    --chmod=555 \
    https://apt.llvm.org/llvm.sh \
    /root/llvm.sh
RUN /root/llvm.sh 21 all && apt-get install -y clang-21-doc libomp-21-doc llvm-21-doc
RUN apt-get autoremove -y gcc g++
ENV PATH="/usr/lib/llvm-21/bin:$PATH"
#9 1.401 The following packages have unmet dependencies:
#9 1.401  clang-21 : Depends: libstdc++-15-dev but it is not installable
#9 1.401             Depends: libgcc-15-dev but it is not installable
#9 1.401             Depends: libobjc-15-dev but it is not installable
#9 1.401  clang-tools-21 : Depends: libxml2-16 (>= 2.14.1) but it is not installable
#9 1.401  libclang-21-dev : Depends: libstdc++-15-dev but it is not installable
#9 1.401                    Depends: libgcc-15-dev but it is not installable
#9 1.401                    Depends: libobjc-15-dev but it is not installable
#9 1.401  libclang-cpp21-dev : Depends: libstdc++-15-dev but it is not installable
#9 1.401                       Depends: libgcc-15-dev but it is not installable
#9 1.401  libllvm21 : Depends: libxml2-16 (>= 2.14.1) but it is not installable
#9 1.401  lldb-21 : Depends: liblldb-21 but it is not going to be installed
#9 1.401            Depends: libxml2-16 (>= 2.14.1) but it is not installable
#9 1.401            Depends: python3-lldb-21 but it is not going to be installed
#9 1.402 E: Unable to correct problems, you have held broken packages.
#9 1.402 E: The following information from --solver 3.0 may provide additional context:
#9 1.402    Unable to satisfy dependencies. Reached two conflicting decisions:
#9 1.402    1. libclang-21-dev:amd64=1:21.1.3~++20251015093208+bd9bc536b4ac-1~exp1~20251015093339.49 is selected for install
#9 1.402    2. libclang-21-dev:amd64 Depends libstdc++-15-dev
#9 1.402       but none of the choices are installable:
#9 1.402       [no choices]
#9 ERROR: process "/bin/sh -c /root/llvm.sh 21 all && apt-get install -y clang-21-doc libomp-21-doc llvm-21-doc" did not complete successfully: exit code: 100
------
 > [5/6] RUN /root/llvm.sh 21 all && apt-get install -y clang-21-doc libomp-21-doc llvm-21-doc:
1.401  lldb-21 : Depends: liblldb-21 but it is not going to be installed
1.401            Depends: libxml2-16 (>= 2.14.1) but it is not installable
1.401            Depends: python3-lldb-21 but it is not going to be installed

cat Dockerfile.clangtest | docker build --progress=plain - more detailed log in the expander:

Full llvm.sh execution with error
#9 [5/6] RUN /root/llvm.sh 21 all && apt-get install -y clang-21-doc libomp-21-doc llvm-21-doc
#9 0.140 + CURRENT_LLVM_STABLE=20
#9 0.140 + BASE_URL=http://apt.llvm.org
#9 0.140 + NEW_DEBIAN_DISTROS=("trixie" "unstable")
#9 0.140 + LLVM_VERSION=20
#9 0.140 + ALL=0
#9 0.140 ++ lsb_release -is
#9 0.144 + DISTRO=Debian
#9 0.144 ++ lsb_release -cs
#9 0.147 + VERSION_CODENAME=trixie
#9 0.147 ++ lsb_release -sr
#9 0.150 + VERSION=13
#9 0.150 + UBUNTU_CODENAME=
#9 0.150 + CODENAME_FROM_ARGUMENTS=
#9 0.150 + source /etc/os-release
#9 0.150 ++ PRETTY_NAME='Debian GNU/Linux 13 (trixie)'
#9 0.150 ++ NAME='Debian GNU/Linux'
#9 0.150 ++ VERSION_ID=13
#9 0.150 ++ VERSION='13 (trixie)'
#9 0.150 ++ VERSION_CODENAME=trixie
#9 0.150 ++ DEBIAN_VERSION_FULL=13.1
#9 0.150 ++ ID=debian
#9 0.150 ++ HOME_URL=https://www.debian.org/
#9 0.150 ++ SUPPORT_URL=https://www.debian.org/support
#9 0.150 ++ BUG_REPORT_URL=https://bugs.debian.org/
#9 0.150 + DISTRO=debian
#9 0.150 + is_new_debian=0
#9 0.150 + [[ debian == \d\e\b\i\a\n ]]
#9 0.150 + for new_distro in "${NEW_DEBIAN_DISTROS[@]}"
#9 0.150 + [[ trixie == \t\r\i\x\i\e ]]
#9 0.150 + is_new_debian=1
#9 0.150 + break
#9 0.150 + needed_binaries=(lsb_release wget gpg)
#9 0.150 + [[ 1 -eq 0 ]]
#9 0.150 + missing_binaries=()
#9 0.150 + using_curl=
#9 0.150 + for binary in "${needed_binaries[@]}"
#9 0.150 + command -v lsb_release
#9 0.150 + for binary in "${needed_binaries[@]}"
#9 0.150 + command -v wget
#9 0.150 + [[ wget == \w\g\e\t ]]
#9 0.150 + command -v curl
#9 0.150 + using_curl=1
#9 0.150 + continue
#9 0.150 + for binary in "${needed_binaries[@]}"
#9 0.150 + command -v gpg
#9 0.150 + [[ 0 -gt 0 ]]
#9 0.151 + case ${DISTRO} in
#9 0.151 + [[ 13 (trixie) == \u\n\s\t\a\b\l\e ]]
#9 0.151 + [[ 13 (trixie) == \t\e\s\t\i\n\g ]]
#9 0.151 + [[ trixie == \t\r\i\x\i\e ]]
#9 0.151 + CODENAME=unstable
#9 0.151 + LINKNAME=
#9 0.151 + '[' 2 -ge 1 ']'
#9 0.151 + '[' 2 '!=' - ']'
#9 0.151 + '[' 21 '!=' all ']'
#9 0.151 + LLVM_VERSION=21
#9 0.151 + OPTIND=2
#9 0.151 + '[' 2 -ge 2 ']'
#9 0.151 + '[' all == all ']'
#9 0.151 + ALL=1
#9 0.151 + OPTIND=3
#9 0.151 + getopts :hm:n: arg
#9 0.151 + [[ 0 -ne 0 ]]
#9 0.151 + declare -A LLVM_VERSION_PATTERNS
#9 0.151 + LLVM_VERSION_PATTERNS[9]=-9
#9 0.151 + LLVM_VERSION_PATTERNS[10]=-10
#9 0.151 + LLVM_VERSION_PATTERNS[11]=-11
#9 0.151 + LLVM_VERSION_PATTERNS[12]=-12
#9 0.151 + LLVM_VERSION_PATTERNS[13]=-13
#9 0.151 + LLVM_VERSION_PATTERNS[14]=-14
#9 0.151 + LLVM_VERSION_PATTERNS[15]=-15
#9 0.151 + LLVM_VERSION_PATTERNS[16]=-16
#9 0.151 + LLVM_VERSION_PATTERNS[17]=-17
#9 0.151 + LLVM_VERSION_PATTERNS[18]=-18
#9 0.151 + LLVM_VERSION_PATTERNS[19]=-19
#9 0.151 + LLVM_VERSION_PATTERNS[20]=-20
#9 0.151 + LLVM_VERSION_PATTERNS[21]=-21
#9 0.151 + LLVM_VERSION_PATTERNS[22]=
#9 0.151 + '[' '!' _ ']'
#9 0.151 + LLVM_VERSION_STRING=-21
#9 0.151 + [[ -n unstable ]]
#9 0.151 + REPO_NAME='deb http://apt.llvm.org/unstable/  llvm-toolchain-21 main'
#9 0.151 + wget -q --method=HEAD http://apt.llvm.org/unstable
#9 0.151 + curl -sSLI -XHEAD http://apt.llvm.org/unstable
#9 0.322 + [[ ! -f /etc/apt/trusted.gpg.d/apt.llvm.org.asc ]]
#9 0.322 + [[ -z 1 ]]
#9 0.323 + curl -sSL https://apt.llvm.org/llvm-snapshot.gpg.key
#9 0.323 + tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
#9 0.416 -----BEGIN PGP PUBLIC KEY BLOCK-----
#9 0.416 Version: GnuPG v1.4.12 (GNU/Linux)
#9 0.416
#9 0.416 mQINBFE9lCwBEADi0WUAApM/mgHJRU8lVkkw0CHsZNpqaQDNaHefD6Rw3S4LxNmM
#9 0.416 EZaOTkhP200XZM8lVdbfUW9xSjA3oPldc1HG26NjbqqCmWpdo2fb+r7VmU2dq3NM
#9 0.416 R18ZlKixiLDE6OUfaXWKamZsXb6ITTYmgTO6orQWYrnW6ckYHSeaAkW0wkDAryl2
#9 0.416 B5v8aoFnQ1rFiVEMo4NGzw4UX+MelF7rxaaregmKVTPiqCOSPJ1McC1dHFN533FY
#9 0.416 Wh/RVLKWo6npu+owtwYFQW+zyQhKzSIMvNujFRzhIxzxR9Gn87MoLAyfgKEzrbbT
#9 0.416 DhqqNXTxS4UMUKCQaO93TzetX/EBrRpJj+vP640yio80h4Dr5pAd7+LnKwgpTDk1
#9 0.416 G88bBXJAcPZnTSKu9I2c6KY4iRNbvRz4i+ZdwwZtdW4nSdl2792L7Sl7Nc44uLL/
#9 0.416 ZqkKDXEBF6lsX5XpABwyK89S/SbHOytXv9o4puv+65Ac5/UShspQTMSKGZgvDauU
#9 0.416 cs8kE1U9dPOqVNCYq9Nfwinkf6RxV1k1+gwtclxQuY7UpKXP0hNAXjAiA5KS5Crq
#9 0.416 7aaJg9q2F4bub0mNU6n7UI6vXguF2n4SEtzPRk6RP+4TiT3bZUsmr+1ktogyOJCc
#9 0.416 Ha8G5VdL+NBIYQthOcieYCBnTeIH7D3Sp6FYQTYtVbKFzmMK+36ERreL/wARAQAB
#9 0.416 tD1TeWx2ZXN0cmUgTGVkcnUgLSBEZWJpYW4gTExWTSBwYWNrYWdlcyA8c3lsdmVz
#9 0.416 dHJlQGRlYmlhbi5vcmc+iQI4BBMBAgAiBQJRPZQsAhsDBgsJCAcDAgYVCAIJCgsE
#9 0.416 FgIDAQIeAQIXgAAKCRAVz00Yr090Ibx+EADArS/hvkDF8juWMXxh17CgR0WZlHCC
#9 0.416 9CTBWkg5a0bNN/3bb97cPQt/vIKWjQtkQpav6/5JTVCSx2riL4FHYhH0iuo4iAPR
#9 0.416 udC7Cvg8g7bSPrKO6tenQZNvQm+tUmBHgFiMBJi92AjZ/Qn1Shg7p9ITivFxpLyX
#9 0.416 wpmnF1OKyI2Kof2rm4BFwfSWuf8Fvh7kDMRLHv+MlnK/7j/BNpKdozXxLcwoFBmn
#9 0.416 l0WjpAH3OFF7Pvm1LJdf1DjWKH0Dc3sc6zxtmBR/KHHg6kK4BGQNnFKujcP7TVdv
#9 0.416 gMYv84kun14pnwjZcqOtN3UJtcx22880DOQzinoMs3Q4w4o05oIF+sSgHViFpc3W
#9 0.416 R0v+RllnH05vKZo+LDzc83DQVrdwliV12eHxrMQ8UYg88zCbF/cHHnlzZWAJgftg
#9 0.416 hB08v1BKPgYRUzwJ6VdVqXYcZWEaUJmQAPuAALyZESw94hSo28FAn0/gzEc5uOYx
#9 0.416 K+xG/lFwgAGYNb3uGM5m0P6LVTfdg6vDwwOeTNIExVk3KVFXeSQef2ZMkhwA7wya
#9 0.416 KJptkb62wBHFE+o9TUdtMCY6qONxMMdwioRE5BYNwAsS1PnRD2+jtlI0DzvKHt7B
#9 0.416 MWd8hnoUKhMeZ9TNmo+8CpsAtXZcBho0zPGz/R8NlJhAWpdAZ1CmcPo83EW86Yq7
#9 0.416 BxQUKnNHcwj2ebkCDQRRPZQsARAA4jxYmbTHwmMjqSizlMJYNuGOpIidEdx9zQ5g
#9 0.416 zOr431/VfWq4S+VhMDhs15j9lyml0y4ok215VRFwrAREDg6UPMr7ajLmBQGau0Fc
#9 0.416 bvZJ90l4NjXp5p0NEE/qOb9UEHT7EGkEhaZ1ekkWFTWCgsy7rRXfZLxB6sk7pzLC
#9 0.416 DshyW3zjIakWAnpQ5j5obiDy708pReAuGB94NSyb1HoW/xGsGgvvCw4r0w3xPStw
#9 0.416 F1PhmScE6NTBIfLliea3pl8vhKPlCh54Hk7I8QGjo1ETlRP4Qll1ZxHJ8u25f/ta
#9 0.416 RES2Aw8Hi7j0EVcZ6MT9JWTI83yUcnUlZPZS2HyeWcUj+8nUC8W4N8An+aNps9l/
#9 0.416 21inIl2TbGo3Yn1JQLnA1YCoGwC34g8QZTJhElEQBN0X29ayWW6OdFx8MDvllbBV
#9 0.416 ymmKq2lK1U55mQTfDli7S3vfGz9Gp/oQwZ8bQpOeUkc5hbZszYwP4RX+68xDPfn+
#9 0.416 M9udl+qW9wu+LyePbW6HX90LmkhNkkY2ZzUPRPDHZANU5btaPXc2H7edX4y4maQa
#9 0.416 xenqD0lGh9LGz/mps4HEZtCI5CY8o0uCMF3lT0XfXhuLksr7Pxv57yue8LLTItOJ
#9 0.416 d9Hmzp9G97SRYYeqU+8lyNXtU2PdrLLq7QHkzrsloG78lCpQcalHGACJzrlUWVP/
#9 0.416 fN3Ht3kAEQEAAYkCHwQYAQIACQUCUT2ULAIbDAAKCRAVz00Yr090IbhWEADbr50X
#9 0.416 OEXMIMGRLe+YMjeMX9NG4jxs0jZaWHc/WrGR+CCSUb9r6aPXeLo+45949uEfdSsB
#9 0.416 pbaEdNWxF5Vr1CSjuO5siIlgDjmT655voXo67xVpEN4HhMrxugDJfCa6z97P0+ML
#9 0.416 PdDxim57uNqkam9XIq9hKQaurxMAECDPmlEXI4QT3eu5qw5/knMzDMZj4Vi6hovL
#9 0.416 wvvAeLHO/jsyfIdNmhBGU2RWCEZ9uo/MeerPHtRPfg74g+9PPfP6nyHD2Wes6yGd
#9 0.416 oVQwtPNAQD6Cj7EaA2xdZYLJ7/jW6yiPu98FFWP74FN2dlyEA2uVziLsfBrgpS4l
#9 0.416 tVOlrO2YzkkqUGrybzbLpj6eeHx+Cd7wcjI8CalsqtL6cG8cUEjtWQUHyTbQWAgG
#9 0.416 5VPEgIAVhJ6RTZ26i/G+4J8neKyRs4vz+57UGwY6zI4AB1ZcWGEE3Bf+CDEDgmnP
#9 0.416 LSwbnHefK9IljT9XU98PelSryUO/5UPw7leE0akXKB4DtekToO226px1VnGp3Bov
#9 0.416 1GBGvpHvL2WizEwdk+nfk8LtrLzej+9FtIcq3uIrYnsac47Pf7p0otcFeTJTjSq3
#9 0.416 krCaoG4Hx0zGQG2ZFpHrSrZTVy6lxvIdfi0beMgY6h78p6M9eYZHQHc02DjFkQXN
#9 0.416 bXb5c6gCHESH5PXwPU4jQEE7Ib9J6sbk7ZT2Mw==
#9 0.416 =j+4q
#9 0.416 -----END PGP PUBLIC KEY BLOCK-----
#9 0.422 ++ apt-key list
#9 0.422 ++ grep -i llvm
#9 0.425 + [[ -z '' ]]
#9 0.425 + apt-key del AF4F7421
#9 0.425 /root/llvm.sh: line 199: apt-key: command not found
#9 0.425 + true
#9 0.426 + [[ trixie == \b\o\o\k\w\o\r\m ]]
#9 0.426 + [[ 1 -eq 1 ]]
#9 0.426 + SOURCES_FILE=/etc/apt/sources.list.d/http_apt_llvm_org_unstable_-trixie.sources
#9 0.426 + TEXT_TO_ADD='Types: deb
#9 0.426 Architectures: amd64 arm64
#9 0.426 Signed-By: /etc/apt/trusted.gpg.d/apt.llvm.org.asc
#9 0.426 URIs: http://apt.llvm.org/unstable/
#9 0.426 Suites: llvm-toolchain-21
#9 0.426 Components: main'
#9 0.426 + echo 'Types: deb
#9 0.426 Architectures: amd64 arm64
#9 0.426 Signed-By: /etc/apt/trusted.gpg.d/apt.llvm.org.asc
#9 0.426 URIs: http://apt.llvm.org/unstable/
#9 0.426 Suites: llvm-toolchain-21
#9 0.426 Components: main'
#9 0.426 + tee -a /etc/apt/sources.list.d/http_apt_llvm_org_unstable_-trixie.sources
#9 0.431 + apt-get update
#9 0.529 Hit:1 http://deb.debian.org/debian trixie InRelease
#9 0.534 Hit:3 http://deb.debian.org/debian trixie-updates InRelease
#9 0.560 Hit:4 http://deb.debian.org/debian-security trixie-security InRelease
#9 0.642 Get:2 https://apt.llvm.org/unstable llvm-toolchain-21 InRelease [6827 B]
#9 0.670 Get:5 https://apt.llvm.org/unstable llvm-toolchain-21/main amd64 Packages [21.8 kB]
#9 0.704 Get:6 https://apt.llvm.org/unstable llvm-toolchain-21/main arm64 Packages [21.6 kB]
#9 0.713 Fetched 50.3 kB in 0s (207 kB/s)
#9 0.713 Reading package lists...
#9 0.974 W: http://apt.llvm.org/unstable/dists/llvm-toolchain-21/InRelease: Policy will reject signature within a year, see --audit for details
#9 0.975 + PKG='clang-21 lldb-21 lld-21 clangd-21'
#9 0.975 + [[ 1 -eq 1 ]]
#9 0.975 + PKG='clang-21 lldb-21 lld-21 clangd-21 clang-tidy-21 clang-format-21 clang-tools-21 llvm-21-dev lld-21 lldb-21 llvm-21-tools libomp-21-dev libc++-21-dev libc++abi-21-dev libclang-common-21-dev libclang-21-dev libclang-cpp21-dev liblldb-21-dev libunwind-21-dev'
#9 0.975 + test 21 -gt 14
#9 0.975 + PKG='clang-21 lldb-21 lld-21 clangd-21 clang-tidy-21 clang-format-21 clang-tools-21 llvm-21-dev lld-21 lldb-21 llvm-21-tools libomp-21-dev libc++-21-dev libc++abi-21-dev libclang-common-21-dev libclang-21-dev libclang-cpp21-dev liblldb-21-dev libunwind-21-dev libclang-rt-21-dev libpolly-21-dev'
#9 0.975 + apt-get install -y clang-21 lldb-21 lld-21 clangd-21 clang-tidy-21 clang-format-21 clang-tools-21 llvm-21-dev lld-21 lldb-21 llvm-21-tools libomp-21-dev libc++-21-dev libc++abi-21-dev libclang-common-21-dev libclang-21-dev libclang-cpp21-dev liblldb-21-dev libunwind-21-dev libclang-rt-21-dev libpolly-21-dev
#9 0.993 Reading package lists...
#9 1.248 Building dependency tree...
#9 1.303 Reading state information...
#9 1.386 Solving dependencies...
#9 1.401 Some packages could not be installed. This may mean that you have
#9 1.401 requested an impossible situation or if you are using the unstable
#9 1.401 distribution that some required packages have not yet been created
#9 1.401 or been moved out of Incoming.
#9 1.401 The following information may help to resolve the situation:
#9 1.401
#9 1.401 The following packages have unmet dependencies:
#9 1.401  clang-21 : Depends: libstdc++-15-dev but it is not installable
#9 1.401             Depends: libgcc-15-dev but it is not installable
#9 1.401             Depends: libobjc-15-dev but it is not installable
#9 1.401  clang-tools-21 : Depends: libxml2-16 (>= 2.14.1) but it is not installable
#9 1.401  libclang-21-dev : Depends: libstdc++-15-dev but it is not installable
#9 1.401                    Depends: libgcc-15-dev but it is not installable
#9 1.401                    Depends: libobjc-15-dev but it is not installable
#9 1.401  libclang-cpp21-dev : Depends: libstdc++-15-dev but it is not installable
#9 1.401                       Depends: libgcc-15-dev but it is not installable
#9 1.401  libllvm21 : Depends: libxml2-16 (>= 2.14.1) but it is not installable
#9 1.401  lldb-21 : Depends: liblldb-21 but it is not going to be installed
#9 1.401            Depends: libxml2-16 (>= 2.14.1) but it is not installable
#9 1.401            Depends: python3-lldb-21 but it is not going to be installed
#9 1.402 E: Unable to correct problems, you have held broken packages.
#9 1.402 E: The following information from --solver 3.0 may provide additional context:
#9 1.402    Unable to satisfy dependencies. Reached two conflicting decisions:
#9 1.402    1. libclang-21-dev:amd64=1:21.1.3~++20251015093208+bd9bc536b4ac-1~exp1~20251015093339.49 is selected for install
#9 1.402    2. libclang-21-dev:amd64 Depends libstdc++-15-dev
#9 1.402       but none of the choices are installable:
#9 1.402       [no choices]
#9 ERROR: process "/bin/sh -c /root/llvm.sh 21 all && apt-get install -y clang-21-doc libomp-21-doc llvm-21-doc" did not complete successfully: exit code: 100
------
 > [5/6] RUN /root/llvm.sh 21 all && apt-get install -y clang-21-doc libomp-21-doc llvm-21-doc:
1.401  lldb-21 : Depends: liblldb-21 but it is not going to be installed
1.401            Depends: libxml2-16 (>= 2.14.1) but it is not installable
1.401            Depends: python3-lldb-21 but it is not going to be installed
1.402 E: Unable to correct problems, you have held broken packages.
1.402 E: The following information from --solver 3.0 may provide additional context:
1.402    Unable to satisfy dependencies. Reached two conflicting decisions:
1.402    1. libclang-21-dev:amd64=1:21.1.3~++20251015093208+bd9bc536b4ac-1~exp1~20251015093339.49 is selected for install
1.402    2. libclang-21-dev:amd64 Depends libstdc++-15-dev
1.402       but none of the choices are installable:
1.402       [no choices]
------
Dockerfile:15

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions