fix: add openssl replace_requires to vfx Conan profiles#381
fix: add openssl replace_requires to vfx Conan profiles#381aloysbaillet wants to merge 5 commits intoAcademySoftwareFoundation:mainfrom
Conversation
78dbed7 to
1fc0ec3
Compare
jfpanisset
left a comment
There was a problem hiding this comment.
As per:
https://dl.rockylinux.org/pub/rocky/8.10/AppStream/x86_64/os/Packages/n/
Although the first release of Rocky 8.10 had nss-3.90.0-7 from 2024-05-23, since then there have been a number of updates:
- 3.101.0-7 on 2024-09-16
- 3.101.0-11 on 2024-12-21
- 3.112.0-4 on 2025-09-10
For vfx2024-2025-2026 the base image as per ci-baseos-gl-conan/image.yaml is:
${ASWF_BASEOS_IMAGE}:${ASWF_CUDA_VERSION}-runtime-${ASWF_BASEOS_DISTRO}
which resolves to:
vfx2024: nvidia/cuda:12.6.3-runtime-rockylinux8
vfx2025: nvidia/cuda:12.6.3-runtime-rockylinux8
vfx2026: nvidia/cuda:12.9.1-runtime-rockylinux8
Those base images don't have nss-3 in them, that gets installed by scripts/common/install_yumpackages.sh, which will get you nss-3.112.0-4
Looking at the latest set of images which were refreshed a few weeks ago, they also seem to have nss-3.112.0-4 in them:
$ docker image pull aswf/ci-baseos-gl-conan:6.3
$ docker run --rm aswf/ci-baseos-gl-conan:6.3 rpm -qa | grep nss-3
nss-3.112.0-4.el8_10.x86_64
Detecting that a base image needs to be refresh / rebuilt is not simple. Where did you run across a base image that still had nss-3.101 in it?
|
For the openssl issue, I believe the problem is caused by an obsolete version specified in versions.yaml, I just merged a fix here: For the issue with nss, I saw this in a failed build: I'm investigating why this is, the code in |
Conan 2 replaces (not merges) [replace_requires] sections when a child profile defines its own. Since the vfx profiles define their own [replace_requires], the openssl mapping from the parent ci_common profiles was lost after openssl was moved to common-wrappers in 99175a6 and removed from vfx profiles in d95cc87. This caused builds of packages depending on openssl (e.g. cpython) to fail with: "Package 'openssl/1.1.1k@aswftesting/ci_common6' not resolved: Unable to find in remotes." Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Aloys Baillet <aloys.baillet+github@gmail.com>
30a9f1b to
c2bc3d5
Compare
c7795a2 to
b93f20b
Compare
The Dockerfile was hardcoding ASWF_PYSIDE_CLANG_VERSION to ASWF_CLANG_VERSION, ignoring the ARG passed from versions.yaml. This caused PySide to always use whatever clang version was inherited via ASWF_CLANG_VERSION rather than the explicitly configured ASWF_PYSIDE_CLANG_VERSION. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Aloys Baillet <aloys.baillet+github@gmail.com>
b93f20b to
d4559bc
Compare
The nss conanfile uses set_version() to detect the system version from /usr/lib64/pkgconfig/nss.pc. The CUDA base image (nvidia/cuda) used by ci-baseos-gl-conan ships nss 3.101.0, but commit 5c0fe00 bumped the profiles to 3.112.0 assuming the base image had been updated. This caused Qt and other nss consumers to fail with "not resolved" errors in both CI and local builds. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Aloys Baillet <aloys.baillet+github@gmail.com>
|
I don't think any version of And unless different Rocky Linux mirrors have different contents (which is definitely not impossible), when I end up with: We've seen similar issues before where unavailable Rocky Linux mirrors would cause build failures: Some discussion here: I wonder if you tried switch from |
|
I just tried: and all the repos seemed to have nss-3.112.0... Perhaps worth trying to replace |
Docker BuildKit cache mounts don't persist between separate docker buildx bake invocations. This means packages built in earlier steps (e.g. openssl in common-wrappers) can't be found by later steps (e.g. cpython in base1-2) because the Conan cache mount is empty. Added export_profile_recipes.sh which parses the Conan profile's [replace_requires] entries and pre-exports all referenced recipes to the Conan cache before each conan create/install. Combined with --build=missing, this allows Conan to build any missing dependency from source even when the cache mount starts empty. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Aloys Baillet <aloys.baillet+github@gmail.com>
600cdf8 to
88d4f75
Compare
When building clang with shared=True, static .a libraries are removed but LLVMExports-release.cmake and ClangTargets-release.cmake still contain file-existence checks for them. The existing patches only covered LLVMExports.cmake and ClangTargets.cmake, missing the per-configuration -release.cmake variants. This caused PySide/shiboken to fail during CMake configure when clang was built from source via --build=missing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Aloys Baillet <aloys.baillet+github@gmail.com>
88d4f75 to
4888b45
Compare
Summary
[replace_requires]sections when a child profile defines its own. After openssl was moved tocommon-wrappers(99175a6) and removed from vfx profiles (d95cc87), the openssl mapping from parentci_common*profiles was silently lost. Adds explicitopenssl/*entries to vfx2024, vfx2025, and vfx2026 profiles.packages/common/Dockerfilewas hardcodingASWF_PYSIDE_CLANG_VERSIONtoASWF_CLANG_VERSION, ignoring the ARG fromversions.yaml. This caused PySide to use the wrong clang version.id=aswf-conan-cacheandid=aswf-ccacheto BuildKit cache mounts in both the package builder and CI image Dockerfiles for more predictable cache sharing.Test plan
🤖 Generated with Claude Code