-
-
Notifications
You must be signed in to change notification settings - Fork 350
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
CI: Add a cross-build scenario #1294
Comments
Maybe worth doing this in tandem with #1333 to cross-build those dependencies we would cross-build NUT against. Alternatively, explore Debian/Ubuntu(/others?) support for additional architectures with Note PR #1334 touched a bit in this area, adding The autoconf based builds seem to play well with |
As a data point, work done in Windows branch for cross-building NUT in Linux+mingw (on environments without WINE so can't even run NUT binaries there) may be counted as a working cross-build, regularly running in NUT CI farm as the Windows effort is iterated. It is not tightly integrated with Also, regularly building for more target systems (e.g. Raspbian? OpenWRT?) would still be practically relevant, to document and script how this is done reliably and reproducibly. |
In #1490 I was made aware of https://github.com/mstorsjo/llvm-mingw which delivers clang mingw setups both for cross-builds (executed from Linux to make binaries for Windows) and natively. Installable as tarballs and usable as Docker images. |
Recent work on MacOS builds with Homebrew packages uncovered that it is also a sort of cross-build, at least as far as autotools warnings were concerned (a different set of headers and libs, although the resulting binaries are intended to run on the same platform/OS/CPU as the build host). |
As highlighted in #1289 and 567ab95 discussion, the fightwarn effort (#823) backfired a bit by using configure-time attempts to compile AND run some code.
While this helps on systems that can actually run built code (natively or with qemu interceptors), the tests involved fail for "common" cross-build setups (where compilers can generate correct bytes for the binaries, but same system can not run them).
When/if the original issue with build recipes is addressed, un-blocking the cross-builds per se, we would need some CI job (current NUT CI farm? GitHub Actions?) to run some cross-builds regularly to avoid regressions in this area.
The text was updated successfully, but these errors were encountered: