Skip to content

Add llvm from kernel.org/pub/tools/llvm#2

Open
pv wants to merge 2 commits into
BluezTestBot:masterfrom
pv:llvm
Open

Add llvm from kernel.org/pub/tools/llvm#2
pv wants to merge 2 commits into
BluezTestBot:masterfrom
pv:llvm

Conversation

@pv
Copy link
Copy Markdown

@pv pv commented Apr 18, 2026

Download newer LLVM version from kernel.org

Also add ccache (can be useful for incremental build)

@hadess
Copy link
Copy Markdown

hadess commented May 12, 2026

Download newer LLVM version from kernel.org

The product page for the version of Ubuntu used in the manifest says: Reached end of standard support on 31 May 2025, maybe we could use a newer version, like the latest 26.04, and then we can use LLVM 22 directly from the repo?
https://packages.ubuntu.com/resolute/llvm-22

Also add ccache (can be useful for incremental build)

That would be interesting, but do we have any storage persistence right now? (no harm in adding it now in any case)

@hadess
Copy link
Copy Markdown

hadess commented May 12, 2026

The product page for the version of Ubuntu used in the manifest says: Reached end of standard support on 31 May 2025, maybe we could use a newer version, like the latest 26.04, and then we can use LLVM 22 directly from the repo?

Did the runtime update in #3 but 25.10 doesn't have a new enough LLVM. If somebody can figure out what the locales problem is, we get llvm22 for free.

@hadess
Copy link
Copy Markdown

hadess commented May 12, 2026

Did the runtime update in #3 but 25.10 doesn't have a new enough LLVM. If somebody can figure out what the locales problem is, we get llvm22 for free.

Looks like installing locales separately works, so, llvm22 for free?

@pv
Copy link
Copy Markdown
Author

pv commented May 12, 2026

As noted in bluez/action-ci#4 this will likely need Clang 23 in the future, so it's probably better to just go download the version we want instead of sticking with distro packages

@pv
Copy link
Copy Markdown
Author

pv commented May 12, 2026

Also add ccache (can be useful for incremental build)

That would be interesting, but do we have any storage persistence right now? (no harm in adding it now in any case)

There's no caching infrastructure but iirc the incremental build rebuilds in same instance

@Vudentz
Copy link
Copy Markdown

Vudentz commented May 12, 2026

I cannot merge this one it seems, anyway we probably need to transfer this to bluez org if it is still a dependency.

@Vudentz
Copy link
Copy Markdown

Vudentz commented May 12, 2026

I see, we are still using this in Dockerfile:

Dockerfile:FROM blueztestbot/bluez-build:latest

Let us move it over to bluez/docker or something like that.

Comment thread Dockerfile
cd /smatch && make

# Install clang
COPY download-llvm.sh /
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a way to just import a LLVM docker file instead of creating a custom script to download it?

Copy link
Copy Markdown
Author

@pv pv May 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As @hadess suggests above, the base github ubuntu should contain Clang 22.

But you can copy files between images, https://docs.docker.com/build/building/multi-stage/

If CONTEXT_ANALYSIS starts to require Clang 23 with it probably will https://lore.kernel.org/all/CANpmjNN4O=W70sAc5gaVkTAFdrGGOW+XBMyuehfz3_QMiT=uCw@mail.gmail.com/ I'm thinking unreleased build has to be downloaded from somewhere, unless this is just postponed until Clang 23 is out.

Note the download is done only when building the image, so once when this is triggered manually, not on every CI job.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @pv's work is fine here, there's a good reason to not use the distribution's version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants