Skip to content

Platforms for release archives are not consistent across releases #60201

@varungandhi-src

Description

@varungandhi-src

From the Releases page:

LLVM 15.0.7

clang+llvm-15.0.7-arm64-apple-darwin22.0.tar.xz
clang+llvm-15.0.7-powerpc64le-linux-rhel-8.4.tar.xz
clang+llvm-15.0.7-powerpc64le-linux-ubuntu-18.04.tar.xz
clang+llvm-15.0.7-x86_64-apple-darwin21.0.tar.xz 

LLVM 15.0.6

clang+llvm-15.0.6-aarch64-linux-gnu.tar.xz
clang+llvm-15.0.6-arm64-apple-darwin21.0.tar.xz
clang+llvm-15.0.6-armv7a-linux-gnueabihf.tar.xz
clang+llvm-15.0.6-powerpc64-ibm-aix-7.2.tar.xz
clang+llvm-15.0.6-powerpc64le-linux-rhel-8.4.tar.xz
clang+llvm-15.0.6-powerpc64le-linux-ubuntu-18.04.tar.xz
clang+llvm-15.0.6-x86_64-linux-gnu-ubuntu-18.04.tar.xz 

LLVM 15.0.5

clang+llvm-15.0.5-arm64-apple-darwin21.0.tar.xz
clang+llvm-15.0.5-powerpc64-ibm-aix-7.2.tar.xz
clang+llvm-15.0.5-powerpc64le-linux-rhel-8.4.tar.xz
clang+llvm-15.0.5-powerpc64le-linux-ubuntu-18.04.5.tar.xz
clang+llvm-15.0.5-x86_64-linux-gnu-ubuntu-18.04.tar.xz 

LLVM 15.0.0

clang+llvm-15.0.0-aarch64-linux-gnu.tar.xz
clang+llvm-15.0.0-amd64-pc-solaris2.11.tar.xz
clang+llvm-15.0.0-arm64-apple-darwin21.0.tar.xz
clang+llvm-15.0.0-armv7a-linux-gnueabihf.tar.xz
clang+llvm-15.0.0-powerpc64-ibm-aix-7.2.tar.xz
clang+llvm-15.0.0-powerpc64le-linux-rhel-8.4.tar.xz
clang+llvm-15.0.0-powerpc64le-linux-ubuntu-18.04.6.tar.xz
clang+llvm-15.0.0-sparc64-unknown-linux-gnu.tar.xz
clang+llvm-15.0.0-sparcv9-sun-solaris2.11.tar.xz
clang+llvm-15.0.0-x86_64-apple-darwin.tar.xz
clang+llvm-15.0.0-x86_64-linux-gnu-rhel-8.4.tar.xz 

Some weird things:

  • There doesn't seem to be any consistency between which OSes have archives for a given release. Arguably more popular platforms like x86_64 Ubuntu Linux often do not have archives which seems unintentional...
  • Sometimes OS versions also include a patch version (e.g. powerpc64le-linux-ubuntu-18.04.5) whereas most of the times they don't.
  • There is the aarch64-linux-gnu build but it doesn't say what glibc version is being targeted.

These kinds of factors make consuming pre-built archives from other projects difficult. For example, when consuming LLVM via Bazel in https://github.com/grailbio/bazel-toolchain/blob/master/toolchain/internal/llvm_distributions.bzl, you get seemingly odd errors with certain versions due to the LLVM version x OS version matrix being so inconsistently filled.

I understand Bazel is not officially supported, but it seems any downstream consumer of the archives would run into the same problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions