Skip to content

Conversation

@KornevNikita
Copy link
Contributor

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

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.
@uditagarwal97
Copy link
Contributor

uditagarwal97 commented Oct 23, 2025

I have a script to build zstd from source in Ubuntu 24: https://github.com/intel/llvm/blob/sycl/devops/scripts/build_zstd_1_5_6_ub24.sh

Instead of adding steps to build zstd in dockerfile, maybe we can augment this script to work on RHEL as well and then use it for building release container? I don't have strong opinion on this approach, so I'm fine either way.

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

@KornevNikita
Copy link
Contributor Author

I have a script to build zstd from source in Ubuntu 24: https://github.com/intel/llvm/blob/sycl/devops/scripts/build_zstd_1_5_6_ub24.sh

Instead of adding steps to build zstd in dockerfile, maybe we can augment this script to work on RHEL as well and then use it for building release container? I don't have strong opinion on this approach, so I'm fine either way.

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.

@KornevNikita KornevNikita marked this pull request as ready for review October 23, 2025 17:49
@KornevNikita KornevNikita requested a review from a team as a code owner October 23, 2025 17:49
@KornevNikita
Copy link
Contributor Author

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?

@uditagarwal97
Copy link
Contributor

@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.

Copy link
Contributor

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.

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.

2 participants