-
Notifications
You must be signed in to change notification settings - Fork 533
[FIX] Fix Windows build by updating vcpkg baseline and other packages #1778
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
Conversation
ead321a to
ecff434
Compare
Update vcpkg baseline from Feb 2024 to Dec 2025 to resolve libxml2 hash mismatch. GitLab regenerates archives dynamically, causing SHA512 verification failures with old baselines. Switch to CCExtractor's forked rsmpeg (github.com/CCExtractor/rsmpeg) which pins rusty_ffmpeg to 0.16.4 for FFmpeg 7.1 compatibility. This provides consistent FFmpeg 7 support across all platforms. Changes: - Update vcpkg baseline in workflow and vcpkg.json - Use forked rsmpeg from git for all platforms - Use ffmpeg7_1 feature instead of ffmpeg6/ffmpeg8 - Use link_vcpkg_ffmpeg for Windows 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
ecff434 to
9ea8345
Compare
This ensures consistent FFmpeg 7 API signatures across all platforms, regardless of the system FFmpeg version installed. Ubuntu's FFmpeg 6 has different function signatures than FFmpeg 7. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Use FFmpeg 6 consistently: - Linux: uses apt packages (libavcodec-dev, etc.) which provide FFmpeg 6 - Windows: vcpkg baseline pinned to FFmpeg 6.1.1 (commit 5a58e645) - macOS: uses system FFmpeg 6 This ensures consistent behavior and API compatibility across all platforms. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Linux: FFmpeg 6 (from Ubuntu apt packages) - Windows: FFmpeg 7 (from vcpkg with recent baseline) - macOS: FFmpeg 7 (from Homebrew) This fixes the Windows build which was failing due to vcpkg baseline hash mismatch for libxml2 in older baselines. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Use ffmpeg7 feature everywhere and use_prebuilt_binding for Linux to ensure FFmpeg 7 API signatures regardless of system FFmpeg version. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
29b75d6 to
77ef133
Compare
- Update leptonica library name from 1.83.1 to 1.85.0 - Update tesseract library name from tesseract53 to tesseract55 (v5.5.1) - Update libiconv library names: charset.lib -> libcharset.lib, iconv.lib -> libiconv.lib 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
77ef133 to
5ab48b9
Compare
vcpkg libiconv for x64-windows-static produces only iconv.lib with charset functionality bundled in, not separate libcharset.lib and libiconv.lib files. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Restores the correct vcpkg libiconv library names: - charset.lib (libcharset library) - iconv.lib (libiconv library) These are the original names from vcpkg libiconv package for x64-windows-static. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Updated the builtin baseline hash for ccextractor.
The project has its own win_iconv.c implementation in src/thirdparty/win_iconv/ which provides iconv functionality. With the updated vcpkg baseline (ab2977be), the libiconv library doesn't produce charset.lib or libcharset.lib files. FFmpeg is also built with --disable-iconv in this vcpkg configuration, so the external iconv libraries are not needed by any of the vcpkg dependencies. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
try: New Hash
CCExtractor CI platform finished running the test files on linux. Below is a summary of the test results, when compared to test for commit 42d7509...:
Congratulations: Merging this PR would fix the following tests:
All tests passing on the master branch were passed completely. Check the result page for more info. |
CCExtractor CI platform finished running the test files on windows. Below is a summary of the test results, when compared to test for commit da03c1e...:
Your PR breaks these cases:
NOTE: The following tests have been failing on the master branch as well as the PR:
It seems that not all tests were passed completely. This is an indication that the output of some files is not as expected (but might be according to you). Check the result page for more info. |
|
I'm going to merge this - I see some failures in the Windows tests but let's have at least a successful build and go from there. |
…CCExtractor#1778) * [FIX] Update vcpkg baseline and use forked rsmpeg for FFmpeg 7 Update vcpkg baseline from Feb 2024 to Dec 2025 to resolve libxml2 hash mismatch. GitLab regenerates archives dynamically, causing SHA512 verification failures with old baselines. Switch to CCExtractor's forked rsmpeg (github.com/CCExtractor/rsmpeg) which pins rusty_ffmpeg to 0.16.4 for FFmpeg 7.1 compatibility. This provides consistent FFmpeg 7 support across all platforms. Changes: - Update vcpkg baseline in workflow and vcpkg.json - Use forked rsmpeg from git for all platforms - Use ffmpeg7_1 feature instead of ffmpeg6/ffmpeg8 - Use link_vcpkg_ffmpeg for Windows 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> * Enable use_prebuilt_binding feature for rsmpeg This ensures consistent FFmpeg 7 API signatures across all platforms, regardless of the system FFmpeg version installed. Ubuntu's FFmpeg 6 has different function signatures than FFmpeg 7. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> * Standardize on FFmpeg 6.1.1 across all platforms Use FFmpeg 6 consistently: - Linux: uses apt packages (libavcodec-dev, etc.) which provide FFmpeg 6 - Windows: vcpkg baseline pinned to FFmpeg 6.1.1 (commit 5a58e645) - macOS: uses system FFmpeg 6 This ensures consistent behavior and API compatibility across all platforms. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> * Use platform-appropriate FFmpeg versions - Linux: FFmpeg 6 (from Ubuntu apt packages) - Windows: FFmpeg 7 (from vcpkg with recent baseline) - macOS: FFmpeg 7 (from Homebrew) This fixes the Windows build which was failing due to vcpkg baseline hash mismatch for libxml2 in older baselines. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> * Use FFmpeg 7 with prebuilt bindings for Linux Use ffmpeg7 feature everywhere and use_prebuilt_binding for Linux to ensure FFmpeg 7 API signatures regardless of system FFmpeg version. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> * Fix library names for Windows build with updated vcpkg - Update leptonica library name from 1.83.1 to 1.85.0 - Update tesseract library name from tesseract53 to tesseract55 (v5.5.1) - Update libiconv library names: charset.lib -> libcharset.lib, iconv.lib -> libiconv.lib 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> * Fix iconv library name for vcpkg static build vcpkg libiconv for x64-windows-static produces only iconv.lib with charset functionality bundled in, not separate libcharset.lib and libiconv.lib files. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> * Fix iconv library names: use charset.lib and iconv.lib Restores the correct vcpkg libiconv library names: - charset.lib (libcharset library) - iconv.lib (libiconv library) These are the original names from vcpkg libiconv package for x64-windows-static. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> * try: New Hash Updated the builtin baseline hash for ccextractor. * Remove charset.lib and iconv.lib from dependencies The project has its own win_iconv.c implementation in src/thirdparty/win_iconv/ which provides iconv functionality. With the updated vcpkg baseline (ab2977be), the libiconv library doesn't produce charset.lib or libcharset.lib files. FFmpeg is also built with --disable-iconv in this vcpkg configuration, so the external iconv libraries are not needed by any of the vcpkg dependencies. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]> --------- Co-authored-by: Claude Opus 4.5 <[email protected]> Co-authored-by: Deepnarayan Sett <[email protected]>
Update vcpkg baseline from Feb 2024 to Dec 2025 to resolve libxml2 hash mismatch. GitLab regenerates archives dynamically, causing SHA512 verification failures with old baselines.
Pin ffmpeg to 6.1.1 to maintain compatibility with rsmpeg 0.14.2. Updated tesseract and leptonica.
In raising this pull request, I confirm the following (please check boxes):
My familiarity with the project is as follows (check one):
{pull request content here}