Make download fails on qosify

I'm building OpenWRT for the first time. A bit of a journey, but I feel like I'm almost there.
Someone asked this question already, but it was locked without expanding how they were able to make it work.
clang-12 and llvm-12 are now needed in order to build qosify. However, when I try to install these two packages, I get the following:

apt-get install clang-12 llvm-12

E: Package 'clang-12' has no installation candidate
E: Unable to locate package llvm-12

I'm sure I'm missing something fundamental, but I can't seem to figure out where these packages may live.

You can fall back to allowing the buildsystem to compile its own llvm/ clang stack.

There is no clang-12 in Debian anymore, stable has clang-11 (too old), testing/ unstable have clang-13 and up.

$ rmadison clang
clang      | 1:3.5-25       | oldoldoldstable | amd64, armel, armhf, i386
clang      | 1:3.8-36       | oldoldstable    | amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x
clang      | 1:7.0-47       | oldstable       | amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x
clang      | 1:11.0-51+nmu5 | stable          | amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
clang      | 1:14.0-55.3    | testing         | amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
clang      | 1:14.0-55.4    | unstable        | amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
clang      | 1:15.0-56~exp1 | experimental    | amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
$ rmadison clang-12
$
$ rmadison clang-13
clang-13   | 1:13.0.1-6~deb10u4 | oldstable  | amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x
clang-13   | 1:13.0.1-6~deb11u1 | stable     | amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
clang-13   | 1:13.0.1-11        | testing    | mips64el, mipsel
clang-13   | 1:13.0.1-11        | unstable   | mips64el, mipsel
clang-13   | 1:13.0.1-11+b1     | testing    | amd64, arm64, armel, armhf, i386, ppc64el, s390x
clang-13   | 1:13.0.1-11+b1     | unstable   | amd64, arm64, armel, armhf, i386, ppc64el, s390x

$ rmadison clang-14
clang-14   | 1:14.0.6-10+b1 | testing    | amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
clang-14   | 1:14.0.6-10+b1 | unstable   | amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
$ rmadison clang-15
clang-15   | 1:15~++20220309105819+8bef17ed59aa-1~exp1 | experimental        | mips64el, mipsel
clang-15   | 1:15.0.6-4                                | testing             | mips64el, mipsel
clang-15   | 1:15.0.6-4                                | unstable            | mips64el, mipsel
clang-15   | 1:15.0.6-4+b1                             | testing             | amd64, arm64, armel, armhf, i386, ppc64el, s390x
clang-15   | 1:15.0.6-4+b1                             | unstable            | amd64, arm64, armel, armhf, i386, ppc64el, s390x
clang-15   | 1:15.0.6-5~exp3                           | buildd-experimental | amd64, arm64, armhf, i386
clang-15   | 1:15.0.6-5~exp3                           | experimental        | amd64, arm64, armhf, i386
$ rmadison clang-16
clang-16   | 1:16~++20220928062542+48b8dee773f3-1~exp1 | experimental | armel
clang-16   | 1:16~++20221111053703+a77a02aa5794-1~exp1 | experimental | amd64, arm64, ppc64el, s390x

The current default version of clang (in unstable) would be clang-14:

$ clang --version
Debian clang version 14.0.6
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
3 Likes

It is really easy to download the compiled llvm toolchain from OpenWrt and expand it to the the buildroot. Additionally, you just need to set two config options in .config.

Currently it would be 15.0.6

E.g. for me:

llvm-bpf-15.0.6.Linux-x86_64.tar.xz 095575f5... 39225.3 KB Tue Jan 10 01:41:03 2023
1 Like

Aha, I see it now. For some reason 15.0.6 was registering in my head as "Chaos Calmer", a similar older 15 version of OpenWRT.

Got it! Thank you!

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.