Skip to content

[ltla-cppirlba] Update to 3.1.0 [libscran-umappp] Update to 3.3.0#51202

Merged
BillyONeal merged 6 commits intomicrosoft:masterfrom
xiaozhuai:dev-ltla-cppirlba
Apr 18, 2026
Merged

[ltla-cppirlba] Update to 3.1.0 [libscran-umappp] Update to 3.3.0#51202
BillyONeal merged 6 commits intomicrosoft:masterfrom
xiaozhuai:dev-ltla-cppirlba

Conversation

@xiaozhuai
Copy link
Copy Markdown
Contributor

  • Changes comply with the maintainer guide.
  • SHA512s are updated for each updated download.
  • The "supports" clause reflects platforms that may be fixed by this new version, or no changes were necessary.
  • Any fixed CI baseline and CI feature baseline entries are removed from that file, or no entries needed to be changed.
  • All patch files in the port are applied and succeed.
  • The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
  • Exactly one version is added in each modified versions file.

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

Change Dir: '/Users/vcpkg/Data/b/vcpkg-ci-libscran-umappp/arm64-osx-dbg'

Run Build Command(s): /Users/vcpkg/Data/work/1/s/downloads/tools/ninja-1.13.2-osx/ninja -v -v -j9
[1/2] /usr/bin/c++  -isystem /Users/vcpkg/Data/installed/arm64-osx/include/libscran -isystem /Users/vcpkg/Data/installed/arm64-osx/include/ltla_aarand -isystem /Users/vcpkg/Data/installed/arm64-osx/include/ltla -isystem /Users/vcpkg/Data/installed/arm64-osx/include/eigen3 -isystem /Users/vcpkg/Data/installed/arm64-osx/include/ltla_subpar -isystem /Users/vcpkg/Data/installed/arm64-osx/include/ltla_sanisizer -isystem /Users/vcpkg/Data/installed/arm64-osx/include/knncolle -fPIC -g -std=gnu++17 -arch arm64 -MD -MT CMakeFiles/main.dir/main.cpp.o -MF CMakeFiles/main.dir/main.cpp.o.d -o CMakeFiles/main.dir/main.cpp.o -c /Users/vcpkg/Data/work/1/s/scripts/test_ports/vcpkg-ci-libscran-umappp/project/main.cpp
FAILED: [code=1] CMakeFiles/main.dir/main.cpp.o 
/usr/bin/c++  -isystem /Users/vcpkg/Data/installed/arm64-osx/include/libscran -isystem /Users/vcpkg/Data/installed/arm64-osx/include/ltla_aarand -isystem /Users/vcpkg/Data/installed/arm64-osx/include/ltla -isystem /Users/vcpkg/Data/installed/arm64-osx/include/eigen3 -isystem /Users/vcpkg/Data/installed/arm64-osx/include/ltla_subpar -isystem /Users/vcpkg/Data/installed/arm64-osx/include/ltla_sanisizer -isystem /Users/vcpkg/Data/installed/arm64-osx/include/knncolle -fPIC -g -std=gnu++17 -arch arm64 -MD -MT CMakeFiles/main.dir/main.cpp.o -MF CMakeFiles/main.dir/main.cpp.o.d -o CMakeFiles/main.dir/main.cpp.o -c /Users/vcpkg/Data/work/1/s/scripts/test_ports/vcpkg-ci-libscran-umappp/project/main.cpp
In file included from /Users/vcpkg/Data/work/1/s/scripts/test_ports/vcpkg-ci-libscran-umappp/project/main.cpp:1:
In file included from /Users/vcpkg/Data/installed/arm64-osx/include/libscran/umappp/umappp.hpp:11:
In file included from /Users/vcpkg/Data/installed/arm64-osx/include/libscran/umappp/initialize.hpp:8:
/Users/vcpkg/Data/installed/arm64-osx/include/libscran/umappp/spectral_init.hpp:123:17: error: no member named 'converged' in 'irlba::Results<Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, 1>>'
  123 |     if (!actual.converged) {
      |          ~~~~~~ ^
/Users/vcpkg/Data/installed/arm64-osx/include/libscran/umappp/spectral_init.hpp:186:10: note: in instantiation of function template specialization 'umappp::normalized_laplacian<int, double>' requested here
  186 |     if (!normalized_laplacian(edges, num_dim, vals, irlba_opt, nthreads, scale)) {
      |          ^
/Users/vcpkg/Data/installed/arm64-osx/include/libscran/umappp/initialize.hpp:81:36: note: in instantiation of function template specialization 'umappp::spectral_init<int, double>' requested here
   81 |         const bool spectral_okay = spectral_init(
      |                                    ^
/Users/vcpkg/Data/installed/arm64-osx/include/libscran/umappp/initialize.hpp:141:12: note: in instantiation of function template specialization 'umappp::initialize<int, double>' requested here
  141 |     return initialize(std::move(output), num_dim, embedding, std::move(options));
      |            ^
/Users/vcpkg/Data/installed/arm64-osx/include/libscran/umappp/initialize.hpp:176:12: note: in instantiation of function template specialization 'umappp::initialize<int, double, double>' requested here
  176 |     return initialize(*prebuilt, num_dim, embedding, std::move(options));
      |            ^
/Users/vcpkg/Data/work/1/s/scripts/test_ports/vcpkg-ci-libscran-umappp/project/main.cpp:22:27: note: in instantiation of function template specialization 'umappp::initialize<int, double, knncolle::Matrix<int, double>>' requested here
   22 |     auto status = umappp::initialize(
      |                           ^
1 error generated.
ninja: build stopped: subcommand failed.

CC @LTLA

@LTLA
Copy link
Copy Markdown

LTLA commented Apr 16, 2026

I'd suggest holding off until I update umappp.

@vicroms
Copy link
Copy Markdown
Member

vicroms commented Apr 16, 2026

@xiaozhuai Thanks for looking at the issues, I'm experimenting with using Copilot to generate reports on PR test failures.
Any feedback would be appreciated.

For comparison this is what the analyze-ci-failures skill found out using Claude Opus 4.6:


vcpkg CI Failure Report — Build #130079

Build: #130079
Triggered by: Pull Request #51202[ltla-cppirlba] Update to 3.1.0 by @xiaozhuai on refs/pull/51202/merge @ 5d43156e
Result:FAILED — 13/13 jobs failed
Finished: 2026-04-16T13:19:48Z UTC


Summary

Triplet Status New Regressions Known Failures
x64-windows ❌ Failed 1 0
x64-windows-release ❌ Failed 1 0
x86-windows ❌ Failed 1 0
x64-windows-static ❌ Failed 1 0
x64-windows-static-md ❌ Failed 1 0
arm64-windows ❌ Failed 1 0
arm64-windows-static-md ❌ Failed 1 0
x64-linux ❌ Failed 1 0
arm64-linux ❌ Failed 1 0
arm64-osx ❌ Failed 1 0
arm-neon-android ❌ Failed 1 0
arm64-android ❌ Failed 1 0
x64-android ❌ Failed 1 0

Total unique failing ports across all triplets: 1 (vcpkg-ci-libscran-umappp)
Cross-platform: fails on all 13 triplets


🔴 New Regressions (Action Required)

1. vcpkg-ci-libscran-umappp — API break: irlba::Results::converged removed in ltla-cppirlba 3.1.0

  • Triplets: All 13 (x64-windows, x64-windows-release, x86-windows, x64-windows-static, x64-windows-static-md, arm64-windows, arm64-windows-static-md, x64-linux, arm64-linux, arm64-osx, arm-neon-android, arm64-android, x64-android)
  • Failure type: BUILD_FAILED — compiler error
  • Error (MSVC):
    error C2039: 'converged': is not a member of 'irlba::Results<Eigen::MatrixXd,Eigen::VectorXd>'
    
    in umappp/spectral_init.hpp:123
  • Error (GCC):
    error: 'const struct irlba::Results<...>' has no member named 'converged'
    
    in umappp/spectral_init.hpp:123
  • Root cause: PR [ltla-cppirlba] Update to 3.1.0 [libscran-umappp] Update to 3.3.0 #51202 updates ltla-cppirlba from its previous version to 3.1.0. The new version of irlba removed or renamed the converged member from irlba::Results. The downstream library umappp (consumed via libscran-umappp) still references actual.converged at spectral_init.hpp:123, causing a compilation failure on every platform.
  • Suggested fix: The libscran-umappp port (or its upstream umappp library) needs to be updated to be compatible with ltla-cppirlba 3.1.0's API changes. Either:
    1. Update libscran-umappp to a version that supports the new irlba::Results API (check upstream for a compatible release).
    2. Patch umappp/spectral_init.hpp in the port to use the new API for checking convergence.
    3. Add a version constraint on ltla-cppirlba in the libscran-umappp port to prevent using 3.1.0 until upstream is updated.

🟡 Known / Expected Failures (Baseline)

None — vcpkg-ci-libscran-umappp is not listed in scripts/ci.baseline.txt.


ℹ️ Notes

  • This is a single root cause failure — the ltla-cppirlba 3.1.0 update breaks the umappp API contract, causing all 13 triplets to fail with the identical compiler error.
  • No transient failures detected (no download errors, no timeouts, no flaky tests).
  • No dependency chain cascades — only the direct consumer vcpkg-ci-libscran-umappp is affected.
  • The format.diff artifact was not published, indicating no formatting issues.

@vicroms
Copy link
Copy Markdown
Member

vicroms commented Apr 16, 2026

  • Suggested fix: The libscran-umappp port (or its upstream umappp library) needs to be updated to be compatible with ltla-cppirlba 3.1.0's API changes. Either:
    the port to use the new API for checking convergence.

    1. Add a version constraint on ltla-cppirlba in the libscran-umappp port to prevent using 3.1.0 until upstream is updated.

I think this suggested fix is bogus because vcpkg doesn't support < constraints and using a recent registry baseline would automatically upgrade this constraint.

@BillyONeal BillyONeal marked this pull request as draft April 16, 2026 23:26
@xiaozhuai xiaozhuai changed the title [ltla-cppirlba] Update to 3.1.0 [ltla-cppirlba] Update to 3.1.0 [libscran-umappp] Update to 3.3.0 Apr 17, 2026
@xiaozhuai xiaozhuai marked this pull request as ready for review April 17, 2026 03:25
@xiaozhuai
Copy link
Copy Markdown
Contributor Author

@LTLA Thank you for updating umappp. This PR can now move forward.

Copy link
Copy Markdown
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

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

xiaozhuai#1

Thanks for the update!

find_dependency(ltla_sanisizer 0.2.0 CONFIG REQUIRED)
find_dependency(ltla_subpar 0.5.0 CONFIG REQUIRED)
find_dependency(ltla_irlba 3.0.0 CONFIG REQUIRED)
find_dependency(ltla_irlba 3.1.0 CONFIG REQUIRED)
Copy link
Copy Markdown
Member

@BillyONeal BillyONeal Apr 17, 2026

Choose a reason for hiding this comment

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

find_dependency must not be REQUIRED. I submitted libscran/umappp#35 .

@xiaozhuai
Copy link
Copy Markdown
Contributor Author

xiaozhuai commented Apr 17, 2026

@BillyONeal Thank you for the patch!

Copy link
Copy Markdown
Member

@BillyONeal BillyONeal left a comment

Choose a reason for hiding this comment

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

Thanks!

@BillyONeal BillyONeal merged commit 6e48d97 into microsoft:master Apr 18, 2026
16 checks passed
@xiaozhuai xiaozhuai deleted the dev-ltla-cppirlba branch April 18, 2026 10:06
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.

4 participants