Releases with Ubuntu 18.04 builds?

There doesn’t seem to be any Ubuntu 18.04 releases since 16.0.0. In 16.0.1 there is only a Ubuntu 20.04 and in 16.0.2 and later there are only Ubuntu 22.04 releases.

Why aren’t builds for all OSes released in every release?

We are unfortunately stuck with Ubuntu 18.04 and Clang 16 in our CI and we think we’re suffering from this crash: [clang] Fix a crash with parenthesized aggregate initialization and b… · llvm/llvm-project@33b41a6 · GitHub which is fixed in 16.0.3.

Would it be possible to make a 16.0.5 release with a Ubuntu 18.04 build?

This has been confusing for a lot of folks. We have added a note about this to more recent releases and from 18.x the same note should (in theory) be on the GitHub release pages too.

Which doesn’t actually help you, but some context as to why this can happen.

1 Like

Volunteers make binaries for the LLVM project which will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration.

From LLVM 17.0.6 Released!

2 Likes

As far as getting a build of it, that would be up to the volunteer who built the earlier versions, or some else to step in. Assuming we would even accept a new build package at this point.

Perhaps @tobiashieta would know?

There is also https://apt.llvm.org/ but I am not sure if every version is there for every version of the OS. Worth a try.

1 Like

The other option is to build your own copy using How To Validate a New Release — LLVM 18.0.0git documentation and include that in your CI environment.

…and upload that to our releases too :slight_smile:

1 Like

I found Index of /bionic/pool/main/l/llvm-toolchain-16/, but I haven’t found any tar file that looks similar to https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.0/clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz.

Is there a way to determine who that was?

Looks like it only has the latest 16.x release. So you will have to use 16.0.6 if you’re going to use those packages.

So I don’t know how to do that, and either way given it’s a volunteer job, I wouldn’t be comfortable just giving out a name.

@tstellar was the release manager for 16 (16.0.3 Release), they may be able to advise what’s appropriate here.

And/or confirm whether my suggestions of how to build your own copy of the release are correct.

Yes, I realize that. The problem is that AFAICT the structure of the tar files doesn’t seem to be the same as (or even similar to) https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.0/clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz

Sorry, I’m missing context so that came off a bit flippant, I didn’t mean it to.

You would like whatever you use to match https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.0/clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz. In terms of file layout, correct? So clang should be in <root>/bin/clang, etc.

As opposed to the .deb files which are intended to be installed using something like apt and end up in /usr/bin/clang, etc.

Is that correct or is there more to it?

No worries. I wasn’t clear about what I wanted. Yes, that’s what I want. I want to be able to unpack the file and use it as is, with maybe very minor adjustments to our CI environment. E.g. that in 15.0.5, clang is found in lib/clang/15.0.5, while in 16.0.0, it’s found in clang/16.