Hi, Here's a technique that allows you to build on platforms for which you don't have a machine without direct access.
A machine with direct access (either a VM, or a machine with ssh access [1]) is preferred, since it's more easy to work with. But for some platforms, GitHub provides an alternative way. The platforms are: - Ubuntu GNU/Linux - CentOS GNU/Linux - Alpine Linux - macOS 11, 12, 13, 14 - FreeBSD 14.0 - NetBSD 10.0 - OpenBSD 7.5 - Solaris 11.4 - Solaris 11 OmniOS (an OpenSolaris derivative) - Cygwin (32, 64 bit) - mingw (32, 64 bit) - MSVC (32, 64 bit) The way of working with these is to 1) Commit into a scratch GitHub repository a directory that can be built using the usual "./configure; make; make check" commands. 2) Commit into the same repository three files: - .github/workflows/many-platforms.yml - build-on.sh - libbacktrace.tar.gz found in [2]. The *.yml file is a "GitHub actions" specification, that will build the directory on nearly 20 platforms. (You can disable undesired platforms, to save energy.) The build-on.sh is a shell script that executes the build. libbacktrace.tar.gz is useful, together with the Gnulib module 'abort-debug', to get decent stack traces upon abort(). 3) Modify the .github/workflows/many-platforms.yml to include among the artifacts the log files of the tests. 4) Each 'git push' triggers a new execution of the build. You then look at the execution logs and download relevant log file zips. Modify the source code to either add more printf statements (yuck - only printf-based debugging, no gdb!) or add supposed workarounds/fixes. Commit that. Push, and the cycle repeats. It's more tedious to work with than a machine with direct access. Turnaround times of 5 minutes or so are not a developer's dream, but it's workable. And it saves you buying a Mac or a Windows license. Bruno [1] https://git.savannah.gnu.org/gitweb/?p=gnulib/maint-tools.git;a=blob_plain;f=platforms/test-environments.txt;hb=HEAD [2] https://github.com/gnu-gnulib/ci-scratch