-
-
Notifications
You must be signed in to change notification settings - Fork 325
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
Fix mingw CI #1482
Fix mingw CI #1482
Conversation
Yes, I tried something like that (see |
7a6987f
to
ba51fa8
Compare
We might need |
May I suggest again switching the MinGW CI to "native" MSYS2 instead of cross-building like this? There are almost no extra codecs packaged on Linux for MinGW, so this job is not really covering most of the libheif code and features, and IMHO its added value is thus questionable...
|
@kmilos Yes, the mingw build has always been a PITA and I also don't see the use of it. Having an msys2 build would definitely be more useful, but I don't know enough about it to set it up. If you have a script for that, it would be much appreciated. BTW: Also many other CI checks look very outdated. In my view, we should do on each architecture a |
FWIW, the Wine error happened because two GCC threading libraries (POSIX and Win32) were mixed. 😅 This PR was just to make the tree green again, I'm fine with removing it in favor of an MSYS2-based variant. |
Incredible, I would never have found that... Thanks a lot. |
sudo apt-get update | ||
sudo apt-get install -y --allow-downgrades libgd3:i386/jammy libpcre2-8-0:i386/jammy libpcre2-16-0:i386/jammy libpcre2-32-0:i386/jammy libpcre2-posix3/jammy | ||
sudo apt-get purge -y libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4 | ||
INSTALL_PACKAGES="$INSTALL_PACKAGES \ | ||
binutils-mingw-w64-i686 \ | ||
g++-mingw-w64-i686 \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could potentially add "libz-mingw-w64" (i686 and x86-64 below) as the only other pre-built package available on Ubuntu, for e.g. testing the header compression in addition...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried to add the libz-mingw-w64(-dev) packages 0589ee3
But libz did not get picked up (https://github.com/strukturag/libheif/actions/runs/13634673899/job/38110364111). Any idea why?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, I was hoping it'd work OOTB... Maybe needs explicit setting of export PKG_CONFIG_PATH=/usr/i686-w64-mingw32/lib/pkgconfig
(and similarly for x86_64)? In any case, more trouble than gain as we established at this point...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Feel free to cherry-pick commit kleisauke@66826a2 for that. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And instead of setting all of these variables/options (CC
, CXX
, CMAKE_SYSTEM_NAME
, CMAKE_FIND_ROOT_PATH
) manually in each script, a cross toolchain file should really be used w/ CMake if building from Linux, e.g. https://www.mingw-w64.org/build-systems/cmake/#cross-compiling-on-linux
All of this of course is irrelevant if/when switching to MSYS2, which is native.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kleisauke Thanks again. I've cherry-picked it.
No description provided.