Description
Description
vcpkg is pre-installed on the ubuntu-24.04 runner but the runner does not include two of its dependencies which are included in the ubuntu-22.04 runner. These dependencies are mono-complete
and libldtl-dev
. Without mono-complete
NuGet caching cannot be used. Without libldtl-dev
, libxcrypth
fails to build during the cmake configure step. I'm using manifest mode. I consider libxcrypt
to be a dependency of vcpkg because it does not appear in the transitive dependencies of the packages I am installing.
I am opening this issue because of the failure or refusal to reopen #12342 which reported the same problem and has been closed as completed simply because I reported that I had found a workaround. That is unacceptable. The actual problem needs to be fixed.
Platforms affected
- Azure DevOps
- GitHub Actions - Standard Runners
- GitHub Actions - Larger Runners
Runner images affected
- Ubuntu 22.04
- Ubuntu 24.04
- macOS 13
- macOS 13 Arm64
- macOS 14
- macOS 14 Arm64
- macOS 15
- macOS 15 Arm64
- Windows Server 2019
- Windows Server 2022
- Windows Server 2025
Image version and build link
Image version 20250615.1.0.
See https://github.com/KhronosGroup/KTX-Software/actions/runs/15775043929/job/44467473454.
Is it regression?
Yes. It works with the ubuntu-22.04 runner image therefore I consider it a regression. I don't know if it ever worked in ubuntu-24.04 because this is the first time I've used it.
Expected behavior
I expected vcpkg in manifest mode to work without issue as it does in ubuntu-22.04
Actual behavior
An attempt to add sources for NuGet caching fails due to the absence of mono
.
The cmake configure step fails due to the absence of libldtl-dev
because that package is needed to build libxcrypt
.
Repro steps
- Find an Ubuntu project that uses manifest mode with cmake and uses NuGet caching.
- Ensure it is not manually installing
mono-complete
andlibldtl-dev
. - Attempt to run CI on that project in ubuntu-24.04.
- Observe the failure to add sources to NuGet with an error telling you to install
mono-complete
- Add a manual install of
mono-complete
. - Run the CI again.
- Observe that adding sources now succeeds.
- Observe the failure of cmake configure step with errors telling you that the build of
libxcrypt
failed because libldlt was not found.