-
Notifications
You must be signed in to change notification settings - Fork 791
[CI] Build zstd for release build container #20445
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: sycl
Are you sure you want to change the base?
Conversation
We enabled using zstd for release builds, but it requires zstd static library. zstd and libzstd-devel packages don't contain libzstd.a, therefore building from source.
|
I have a script to build Instead of adding steps to build We use this script for building Ubuntu 24 docker image as well: https://github.com/intel/llvm/blob/sycl/devops/containers/ubuntu2404_base.Dockerfile#L20 |
That's a good idea, but for now I'd prefer to proceed with the suggested approach to unblock the release nightly. Then I'll create a follow-up patch to use this script instead. |
|
Current container was built with this DockerFile - 94be7b8, so the release nightly is unblocked and we can proceed with using script without follow-up patch. @uditagarwal97 I also updated the version of zstd since there is a new one and renamed the script, we are not tied to the 1.5.6. version, right? |
That's correct, as long as zstd releases are backward compatible, we can use the latest ones. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we also update the documentation: https://github.com/intel/llvm/blob/sycl/sycl/doc/GetStartedGuide.md#build-dpc-toolchain-with-device-image-compression-support
Note that the libzstd-dev package provided on Ubuntu 24.04 has a bug (link) and the zstd static library is not built with the -fPIC flag. Linking to this library will result in a build failure. For example: #15935. As an alternative, zstd can be built from source either manually or by using the build_zstd_1_5_6_ub24.sh script.
With the file being renamed, the link has to be updated. And maybe we can add a statement like this for RHEL as well.
We enabled using zstd for release builds, but it requires zstd static library. zstd and libzstd-devel packages don't contain libzstd.a (note: it's rocky linux 8.10 / RHEL 8.10), therefore building from source.
Container build: https://github.com/intel/llvm/actions/runs/18755423984
SYCL release nightly: https://github.com/intel/llvm/actions/runs/18755907952