MSP-Greg / ruby-loco

Fully tested Ruby Windows Mingw, ucrt & mswin builds, built and saved on GitHub
https://github.com/MSP-Greg/ruby-loco
MIT License
17 stars 5 forks source link

Rust executables which link Ruby recently broke #8

Open ianks opened 1 year ago

ianks commented 1 year ago

As of a couple days ago, I noticed that Magnus' CI started failing on Windows. The test suite runs cargo test, which depends on linking libruby. The error code is a bit mysterious to me:

`D:\a\magnus\magnus\target\debug\deps\magnus-bbc43cc68a670100.exe` (exit code: 0xc0000142, STATUS_DLL_INIT_FAILED)

So compilation works properly, but when executing the tests some type of DLL cannot be initialized. When trying to fix the issue, I noticed that everything works for ruby-head, but 2.7, 3.0, and 3.1 have the same error.

I'm wondering if anything may have changed recently, or if you can help me figure out what's happening. Thank you 🙏

ianks commented 1 year ago

cc: @matsadler

MSP-Greg commented 1 year ago

Don't recall seeing that error before.

There was a change to MSYS2, but that was removing libssp-0.dll, I don't know if it's completed yet. See https://github.com/oneclick/rubyinstaller2/commit/0bbd65b5d73cbce8ac9146b4ea94932b87dbe03a. I don't think the Ruby builds resulting from that commit have reached setup-ruby yet, not sure. That may not be the issue...

@larskanis might have some idea...

ianks commented 1 year ago

For debugging, I'm posting the rbconfigs of Ruby 3.1 (❌ failing) and ruby-head (✅). I'm trying to figure out what differences there might be.

ruby-head

Click to show rbconfig ``` ========== RbConfig [C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\rb-sys-0.9.34\build/main.rs:60] rbconfig = RbConfig { search_paths: [ SearchPath { kind: Native, name: "D:/rubyinstaller-head-x64/lib", }, ], libs: [ Library { kind: Native, name: "x64-ucrt-ruby320", rename: None, modifiers: [], }, ], link_args: [ "-pipe", "-s", "-fstack-protector-strong", "-Wl,--enable-auto-image-base,--enable-auto-import", ], cflags: [ "-O3", "-fno-omit-frame-pointer", "-fno-fast-math", "-ggdb3", "-Wall", "-Wextra", "-Wdeprecated-declarations", "-Wdiv-by-zero", "-Wduplicated-cond", "-Wimplicit-function-declaration", "-Wimplicit-int", "-Wmisleading-indentation", "-Wpointer-arith", "-Wwrite-strings", "-Wold-style-definition", "-Wimplicit-fallthrough=0", "-Wmissing-noreturn", "-Wno-cast-function-type", "-Wno-constant-logical-operand", "-Wno-long-long", "-Wno-missing-field-initializers", "-Wno-overlength-strings", "-Wno-packed-bitfield-compat", "-Wno-parentheses-equality", "-Wno-self-assign", "-Wno-tautological-compare", "-Wno-unused-parameter", "-Wno-unused-value", "-Wsuggest-attribute=format", "-Wsuggest-attribute=noreturn", "-Wunused-variable", "-Wundef", ], blocklist_lib: [], value_map: { "RMDIRS": "rmdir --ignore-fail-on-non-empty -p", "MAKEDIRS": "/usr/bin/mkdir -p", "mandir": "D:/rubyinstaller-head-x64/share/man", "includedir": "D:/rubyinstaller-head-x64/include", "LDSHARED": "gcc -shared", "debugflags": "-ggdb3", "STATIC": "", "LIBRUBY_A": "libx64-ucrt-ruby320-static.a", "try_header": "", "PACKAGE_TARNAME": "", "target_vendor": "w64", "rubyhdrdir": "D:/rubyinstaller-head-x64/include/ruby-3.2.0+3", "localstatedir": "D:/rubyinstaller-head-x64/var", "CARGO": "", "LD": "ld", "sitearchhdrdir": "D:/rubyinstaller-head-x64/include/ruby-3.2.0+3/site_ruby/x64-ucrt", "rubyarchprefix": "D:/rubyinstaller-head-x64/lib/ruby/x64-mingw-ucrt", "PLATFORM_DIR": "win32", "vendordir": "D:/rubyinstaller-head-x64/lib/ruby/vendor_ruby", "PATCHLEVEL": "-1", "EXTLDFLAGS": "-static-libgcc", "UNIVERSAL_INTS": "", "ruby_version": "3.2.0+3", "NULLCMD": ":", "MKDIR_P": "/usr/bin/mkdir -p", "libdir": "D:/rubyinstaller-head-x64/lib", "DLEXT": "so", "vendorhdrdir": "D:/rubyinstaller-head-x64/include/ruby-3.2.0+3/vendor_ruby", "ECHO_T": "", "CC_VERSION_MESSAGE": "gcc.exe (Rev5, Built by MSYS2 project) 12.2.0\r\nCopyright (C) 2022 Free Software Foundation, Inc.\r\nThis is free software; see the source for copying conditions. There is NO\r\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.", "RMALL": "rm -fr", "infodir": "D:/rubyinstaller-head-x64/share/info", "datarootdir": "D:/rubyinstaller-head-x64/share", "PACKAGE_URL": "", "exec": "exec", "build_os": "mingw32", "BUILTIN_TRANSSRCS": " enc/trans/newline.c", "cxxflags": "", "CXXFLAGS": "-march=nocona -msahf -mtune=generic -O2 -pipe", "RUBY_DEVEL": "", "THREAD_MODEL": "win32", "exec_prefix": "D:/rubyinstaller-head-x64", "PACKAGE_BUGREPORT": "", "prefix": "D:/rubyinstaller-head-x64", "RUBYW_BASE_NAME": "rubyw", "RUBYW_INSTALL_NAME": "rubyw", "RUBY_API_VERSION": "3.2", "build_alias": "x86_64-w64-mingw32", "DLDFLAGS": "-pipe -s -fstack-protector-strong -Wl,--enable-auto-image-base,--enable-auto-import", "vendorlibdir": "D:/rubyinstaller-head-x64/lib/ruby/vendor_ruby/3.2.0+3", "vendorarchdir": "D:/rubyinstaller-head-x64/lib/ruby/vendor_ruby/3.2.0+3/x64-ucrt", "RUSTC": "", "PACKAGE_STRING": "", "DESTDIR": "D:", "rubyw_install_name": "rubyw", "ARCHFILE": "", "ARFLAGS": "rcD ", "WASMOPT": "", "pdfdir": "D:/rubyinstaller-head-x64/share/doc/ruby", "PATH_SEPARATOR": ":", "RUBY_INSTALL_NAME": "ruby", "archdir": "D:/rubyinstaller-head-x64/lib/ruby/3.2.0+3/x64-mingw-ucrt", "rubyarchdir": "D:/rubyinstaller-head-x64/lib/ruby/3.2.0+3/x64-mingw-ucrt", "EGREP": "/usr/bin/grep -E", "SET_MAKE": "", "build": "x86_64-w64-mingw32", "INSTALL_STATIC_LIBRARY": "no", "RMDIR": "rmdir --ignore-fail-on-non-empty", "target_alias": "x86_64-w64-mingw32", "SHELL": "/bin/sh", "host_os": "mingw32", "sitelibdir": "D:/rubyinstaller-head-x64/lib/ruby/site_ruby/3.2.0+3", "GCC": "yes", "INSTALL_PROGRAM": "/usr/bin/install -c", "host_alias": "x86_64-w64-mingw32", "WERRORFLAG": "-Werror", "sitehdrdir": "D:/rubyinstaller-head-x64/include/ruby-3.2.0+3/site_ruby", "EXTOUT": ".ext", "ALLOCA": "", "sharedstatedir": "D:/rubyinstaller-head-x64/com", "archincludedir": "D:/rubyinstaller-head-x64/include/x64-mingw-ucrt", "COMMON_LIBS": "m", "ECHO_C": "", "CCDLFLAGS": "", "MAJOR": "3", "CXX": "g++", "sitearchlibdir": "D:/rubyinstaller-head-x64/lib/x64-ucrt", "ENABLE_SHARED": "yes", "OUTFLAG": "-o ", "vendorarchhdrdir": "D:/rubyinstaller-head-x64/include/ruby-3.2.0+3/vendor_ruby/x64-ucrt", "PREP": "miniruby.exe", "LIBRUBY": "libx64-ucrt-ruby320.dll.a", "MANTYPE": "man", "warnflags": "-Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef", "GNU_LD": "yes", "cleanlibs": "", "DEFS": "-D_FILE_OFFSET_BITS=64", "docdir": "D:/rubyinstaller-head-x64/share/doc/ruby", "libdirname": "libdir", "LIBRUBYARG_STATIC": "-lx64-ucrt-ruby320-static -lgmp -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -lbcrypt ", "TEST_RUNNABLE": "yes", "PRELOADENV": "", "LN_S": "cp -pR", "RUBY_SEARCH_PATH": "", "EXPORT_PREFIX": " ", "ENCSTATIC": "", "platform": "x64-mingw-ucrt", "sbindir": "D:/rubyinstaller-head-x64/sbin", "POSTLINK": ":", "CONFIGURE": "configure", "build_vendor": "w64", "cflags": "-O3 -fno-omit-frame-pointer -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef", "RI_BASE_NAME": "ri", "MJIT_CC": "C:/msys64/ucrt64/bin/gcc.exe", "EXTSTATIC": "", "CPPOUTFILE": "-o conftest.i", "PACKAGE_VERSION": "", "ruby_pc": "ruby-3.2.pc", "PACKAGE_NAME": "", "LIBRUBY_SO": "x64-ucrt-ruby320.dll", "OBJEXT": "o", "RPATHFLAG": "", "rubysitearchprefix": "D:/rubyinstaller-head-x64/lib/ruby/x64-ucrt", "oldincludedir": "/usr/include", "LIBRUBY_RELATIVE": "yes", "COROUTINE_TYPE": "win64", "sitearchdir": "D:/rubyinstaller-head-x64/lib/ruby/site_ruby/3.2.0+3/x64-ucrt", "htmldir": "D:/rubyinstaller-head-x64/share/doc/ruby", "MKMF_VERBOSE": "0", "RUBY_SO_NAME": "x64-ucrt-ruby320", "YJIT_SUPPORT": "no", "rubyarchhdrdir": "D:/rubyinstaller-head-x64/include/ruby-3.2.0+3/x64-mingw-ucrt", "datadir": "D:/rubyinstaller-head-x64/share", "MAKEFILES": "Makefile GNUmakefile", "EXEEXT": ".exe", "ARCH_FLAG": "-m64", "CC_VERSION": "gcc --version", "SOLIBS": "-lgmp -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -lbcrypt ", "AS": "as", "UNICODE_VERSION": "14.0.0", "rubylibprefix": "D:/rubyinstaller-head-x64/lib/ruby", "host_vendor": "w64", "libexecdir": "D:/rubyinstaller-head-x64/libexec", "CPPFLAGS": "-D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0600 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 ", "build_cpu": "x86_64", "LIBPATHENV": "PATH", "TEENY": "0", "arch": "x64-mingw-ucrt", "sysconfdir": "", "UNICODE_EMOJI_VERSION": "14.0", "PACKAGE": "ruby", "YJIT_LIBS": "", "sitedir": "D:/rubyinstaller-head-x64/lib/ruby/site_ruby", "CFLAGS": "-O3 -fno-fast-math -fstack-protector-strong", "LIBPATHFLAG": " -L%s", "OBJDUMP": "objdump", "CP": "cp", "RUBY_PROGRAM_VERSION": "3.2.0", "MJIT_SUPPORT": "no", "ASMEXT": "S", "dsymutil": "", "EXECUTABLE_EXTS": ".exe .com .cmd .bat", "DOT": "", "CARGO_BUILD_ARGS": "", "CC_WRAPPER": "", "runstatedir": "D:/rubyinstaller-head-x64/var/run", "HAVE_GIT": "yes", "COMMON_MACROS": "", "INSTALL_DATA": "/usr/bin/install -c -m 644", "optflags": "-O3 -fno-omit-frame-pointer -fno-fast-math", "ASFLAGS": "", "localedir": "D:/rubyinstaller-head-x64/share/locale", "wasmoptflags": "", "RANLIB": "gcc-ranlib", "LIBRUBYARG": "-lx64-ucrt-ruby320", "ADDITIONAL_DLDFLAGS": "", "COUTFLAG": "-o ", "DOXYGEN": "doxygen", "CROSS_COMPILING": "no", "MAINLIBS": "-lgmp -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -lbcrypt ", "SOEXT": "dll", "RUBY_EXEC_PREFIX": "", "host_cpu": "x64", "configure_args": " '--prefix=/ucrt64' '--build=x86_64-w64-mingw32' '--host=x86_64-w64-mingw32' '--target=x86_64-w64-mingw32' '--without-ext=readline,pty,syslog' 'build_alias=x86_64-w64-mingw32' 'host_alias=x86_64-w64-mingw32' 'target_alias=x86_64-w64-mingw32' 'CC=gcc' 'CXX=g++' 'CFLAGS=-O3 -fno-fast-math -fstack-protector-strong' 'LDFLAGS=-pipe -s -fstack-protector-strong' 'CPPFLAGS=-D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048' 'CXXFLAGS=-march=nocona -msahf -mtune=generic -O2 -pipe'", "PKG_CONFIG": "x86_64-w64-mingw32-pkg-config", "target_cpu": "x64", "rubylibdir": "D:/rubyinstaller-head-x64/lib/ruby/3.2.0+3", "GREP": "/usr/bin/grep", "STRIP": "strip -S -x", "dvidir": "D:/rubyinstaller-head-x64/share/doc/ruby", "CPP": "gcc -E", "COMMON_HEADERS": "winsock2.h windows.h", "sitearchincludedir": "D:/rubyinstaller-head-x64/include/x64-ucrt", "cppflags": "", "LIBRUBY_SONAME": "libx64-ucrt-ruby320.dll.3.2", "RUBY_VERSION_NAME": "ruby-3.2.0+3", "LIBEXT": "a", "DLNOBJ": "dln.o", "ruby_install_name": "ruby", "archlibdir": "D:/rubyinstaller-head-x64/lib/x64-mingw-ucrt", "DLDLIBS": "", "YJIT_OBJ": "", "WINDRES": "windres", "LIBRUBYARG_SHARED": "-lx64-ucrt-ruby320", "strict_warnflags": "", "INSTALL": "/usr/bin/install -c", "LDFLAGS": "-L. -pipe -s -fstack-protector-strong -Wl,--no-as-needed", "UNIVERSAL_ARCHNAMES": "", "MINOR": "2", "host": "x86_64-w64-mingw32", "ECHO_N": "-n", "topdir": "D:/rubyinstaller-head-x64/lib/ruby/3.2.0+3/x64-mingw-ucrt", "LIBS": "-lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -lbcrypt ", "target": "x86_64-w64-mingw32", "DLLWRAP": "dllwrap", "ridir": "D:/rubyinstaller-head-x64/share/ri", "OBJCOPY": ":", "NM": "gcc-nm", "CHDIR": "cd", "EXTDLDFLAGS": "$(DEFFILE)", "CSRCFLAG": "", "codesign": "", "SYMBOL_PREFIX": "", "LDSHAREDXX": "g++ -shared", "RUBY_LIB_VERSION": "", "LIBRUBY_ALIASES": "", "psdir": "D:/rubyinstaller-head-x64/share/doc/ruby", "RUBY_LIB_VERSION_STYLE": "3\t/* full */", "RM": "rm -f", "AR": "gcc-ar", "target_os": "mingw32", "LINK_SO": "", "DLDSHARED": "gcc -shared", "GIT": "git", "INSTALL_SCRIPT": "/usr/bin/install -c", "ENABLE_DEBUG_ENV": "", "sitearch": "x64-ucrt", "CC": "gcc", "RUBY_BASE_NAME": "ruby", "bindir": "D:/rubyinstaller-head-x64/bin", "setup": "Setup", "TRY_LINK": "", }, } ```

ruby 3.1

Click to show rbconfig ``` ========== RbConfig [C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\rb-sys-0.9.34\build/main.rs:60] rbconfig = RbConfig { search_paths: [ SearchPath { kind: Native, name: "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib", }, ], libs: [ Library { kind: Native, name: "x64-ucrt-ruby310", rename: None, modifiers: [], }, ], link_args: [ "-pipe", "-s", "-fstack-protector-strong", "-Wl,--enable-auto-image-base,--enable-auto-import", ], cflags: [ "-O3", "-fno-omit-frame-pointer", "-fno-fast-math", "-ggdb3", "-Wall", "-Wextra", "-Wdeprecated-declarations", "-Wduplicated-cond", "-Wimplicit-function-declaration", "-Wimplicit-int", "-Wmisleading-indentation", "-Wpointer-arith", "-Wwrite-strings", "-Wimplicit-fallthrough=0", "-Wmissing-noreturn", "-Wno-cast-function-type", "-Wno-constant-logical-operand", "-Wno-long-long", "-Wno-missing-field-initializers", "-Wno-overlength-strings", "-Wno-packed-bitfield-compat", "-Wno-parentheses-equality", "-Wno-self-assign", "-Wno-tautological-compare", "-Wno-unused-parameter", "-Wno-unused-value", "-Wsuggest-attribute=format", "-Wsuggest-attribute=noreturn", "-Wunused-variable", "-Wundef", ], blocklist_lib: [], value_map: { "LD": "ld", "build_os": "mingw32", "CPPFLAGS": "-D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048 -D_WIN32_WINNT=0x0600 -D__MINGW_USE_VC2005_COMPAT -D_FILE_OFFSET_BITS=64 ", "cflags": "-O3 -fno-omit-frame-pointer -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef", "ALLOCA": "", "localstatedir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/var", "sitearch": "x64-ucrt", "CC": "gcc", "PACKAGE_STRING": "", "RUBYW_INSTALL_NAME": "rubyw", "PACKAGE_NAME": "", "INSTALL_SCRIPT": "/usr/bin/install -c", "host_vendor": "w64", "OBJCOPY": ":", "runstatedir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/var/run", "sbindir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/sbin", "cleanlibs": "", "platform": "x64-mingw-ucrt", "TRY_LINK": "", "MAJOR": "3", "target_os": "mingw32", "EXEEXT": ".exe", "target_vendor": "w64", "RI_BASE_NAME": "ri", "LIBRUBY_ALIASES": "", "exec": "exec", "LIBRUBY_RELATIVE": "yes", "RMDIRS": "rmdir --ignore-fail-on-non-empty -p", "CSRCFLAG": "", "target_cpu": "x64", "ruby_install_name": "ruby", "DLLWRAP": "dllwrap", "sysconfdir": "", "PACKAGE": "ruby", "archdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/3.1.0/x64-mingw-ucrt", "RPATHFLAG": "", "vendorarchdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/vendor_ruby/3.1.0/x64-ucrt", "topdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/3.1.0/x64-mingw-ucrt", "build_cpu": "x86_64", "EXTDLDFLAGS": "$(DEFFILE)", "CXX": "g++", "CPPOUTFILE": "-o conftest.i", "CCDLFLAGS": "", "rubysitearchprefix": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/x64-ucrt", "RUBY_PROGRAM_VERSION": "3.1.2", "LIBRUBY_A": "libx64-ucrt-ruby310-static.a", "LIBS": "-lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -lbcrypt ", "LDSHAREDXX": "g++ -shared", "GIT": "git", "dvidir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/share/doc/ruby", "target_alias": "x86_64-w64-mingw32", "vendordir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/vendor_ruby", "sharedstatedir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/com", "EXECUTABLE_EXTS": ".exe .com .cmd .bat", "rubyhdrdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/include/ruby-3.1.0", "cxxflags": "", "LIBRUBYARG": "-lx64-ucrt-ruby310", "PACKAGE_TARNAME": "", "MINOR": "1", "DLEXT": "so", "datarootdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/share", "DLDLIBS": "", "RUBY_API_VERSION": "3.1", "CROSS_COMPILING": "no", "CONFIGURE": "configure", "LDFLAGS": "-L. -pipe -s -fstack-protector-strong -Wl,--no-as-needed", "cppflags": "", "sitelibdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/site_ruby/3.1.0", "LIBRUBYARG_SHARED": "-lx64-ucrt-ruby310", "exec_prefix": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64", "RMDIR": "rmdir --ignore-fail-on-non-empty", "build_alias": "x86_64-w64-mingw32", "ruby_pc": "ruby-3.1.pc", "htmldir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/share/doc/ruby", "warnflags": "-Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef", "PRELOADENV": "", "CC_VERSION_MESSAGE": "gcc.exe (Rev10, Built by MSYS2 project) 11.2.0\r\nCopyright (C) 2021 Free Software Foundation, Inc.\r\nThis is free software; see the source for copying conditions. There is NO\r\nwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.", "rubylibdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/3.1.0", "build_vendor": "w64", "includedir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/include", "RUBY_LIB_VERSION_STYLE": "3\t/* full */", "GREP": "/usr/bin/grep", "host_os": "mingw32", "rubyw_install_name": "rubyw", "PLATFORM_DIR": "win32", "CP": "cp", "GNU_LD": "yes", "MJIT_SUPPORT": "yes", "INSTALL_DATA": "/usr/bin/install -c -m 644", "ASMEXT": "S", "RUBY_INSTALL_NAME": "ruby", "CC_VERSION": "gcc --version", "sitearchdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/site_ruby/3.1.0/x64-ucrt", "PACKAGE_BUGREPORT": "", "target": "x86_64-w64-mingw32", "LIBRUBYARG_STATIC": "-lx64-ucrt-ruby310-static -lgmp -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -lbcrypt ", "SET_MAKE": "", "DOT": "", "RUBY_SEARCH_PATH": "", "NM": "x86_64-w64-mingw32-gcc-nm", "DESTDIR": "C:", "docdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/share/doc/ruby", "INSTALL_STATIC_LIBRARY": "no", "ENABLE_DEBUG_ENV": "", "MJIT_CC": "C:/msys64/ucrt64/bin/gcc.exe", "EXTSTATIC": "", "COUTFLAG": "-o ", "TEENY": "2", "LDSHARED": "gcc -shared", "prefix": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64", "arch": "x64-mingw-ucrt", "COMMON_MACROS": "", "PACKAGE_VERSION": "", "archlibdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/x64-mingw-ucrt", "DLDSHARED": "gcc -shared", "mandir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/share/man", "LIBRUBY": "libx64-ucrt-ruby310.dll.a", "CHDIR": "cd", "bindir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/bin", "MKDIR_P": "/usr/bin/mkdir -p", "PREP": "miniruby.exe", "vendorlibdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/vendor_ruby/3.1.0", "ARCHFILE": "", "MAKEDIRS": "/usr/bin/mkdir -p", "RUBY_BASE_NAME": "ruby", "debugflags": "-ggdb3", "OBJEXT": "o", "LIBPATHFLAG": " -L%s", "sitehdrdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/include/ruby-3.1.0/site_ruby", "RUBY_VERSION_NAME": "ruby-3.1.0", "PACKAGE_URL": "", "DLDFLAGS": "-pipe -s -fstack-protector-strong -Wl,--enable-auto-image-base,--enable-auto-import", "RUBY_SO_NAME": "x64-ucrt-ruby310", "MAINLIBS": "-lgmp -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -lbcrypt ", "CFLAGS": "-O3 -fno-fast-math -fstack-protector-strong", "EGREP": "/usr/bin/grep -E", "MAKEFILES": "Makefile GNUmakefile", "localedir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/share/locale", "RM": "rm -f", "vendorarchhdrdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/include/ruby-3.1.0/vendor_ruby/x64-ucrt", "EXTOUT": ".ext", "RANLIB": "x86_64-w64-mingw32-gcc-ranlib", "ASFLAGS": "", "RMALL": "rm -fr", "SHELL": "/bin/sh", "NULLCMD": ":", "BUILTIN_TRANSSRCS": " enc/trans/newline.c", "configure_args": " '--prefix=/ucrt64' '--build=x86_64-w64-mingw32' '--host=x86_64-w64-mingw32' '--target=x86_64-w64-mingw32' '--without-ext=readline,pty,syslog' 'build_alias=x86_64-w64-mingw32' 'host_alias=x86_64-w64-mingw32' 'target_alias=x86_64-w64-mingw32' 'CC=gcc' 'CXX=g++' 'CFLAGS=-O3 -fno-fast-math -fstack-protector-strong' 'LDFLAGS=-pipe -s -fstack-protector-strong' 'CPPFLAGS=-D__USE_MINGW_ANSI_STDIO=1 -DFD_SETSIZE=2048' 'CXXFLAGS=-march=x86-64 -mtune=generic -O2 -pipe'", "oldincludedir": "/usr/include", "vendorhdrdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/include/ruby-3.1.0/vendor_ruby", "infodir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/share/info", "UNICODE_VERSION": "13.0.0", "STATIC": "", "WERRORFLAG": "-Werror", "INSTALL_PROGRAM": "/usr/bin/install -c", "AR": "x86_64-w64-mingw32-gcc-ar", "ENABLE_SHARED": "yes", "psdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/share/doc/ruby", "libdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib", "rubylibprefix": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby", "OUTFLAG": "-o ", "DEFS": "-D_FILE_OFFSET_BITS=64", "PATCHLEVEL": "20", "optflags": "-O3 -fno-omit-frame-pointer -fno-fast-math", "ENCSTATIC": "", "datadir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/share", "AS": "as", "dsymutil": "", "ECHO_T": "", "CXXFLAGS": "-march=x86-64 -mtune=generic -O2 -pipe", "COMMON_HEADERS": "winsock2.h windows.h", "LN_S": "cp -pR", "sitedir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/site_ruby", "LIBEXT": "a", "HAVE_GIT": "yes", "LIBRUBY_SO": "x64-ucrt-ruby310.dll", "DOXYGEN": "", "RUBY_LIB_VERSION": "", "ridir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/share/ri", "EXTLDFLAGS": "-static-libgcc", "INSTALL": "/usr/bin/install -c", "CC_WRAPPER": "", "rubyarchdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/3.1.0/x64-mingw-ucrt", "host_alias": "x86_64-w64-mingw32", "UNIVERSAL_INTS": "", "MANTYPE": "man", "pdfdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/share/doc/ruby", "archincludedir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/include/x64-mingw-ucrt", "UNIVERSAL_ARCHNAMES": "", "STRIP": "strip -S -x", "libexecdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/libexec", "EXPORT_PREFIX": " ", "PKG_CONFIG": "x86_64-w64-mingw32-pkg-config", "COMMON_LIBS": "m", "codesign": "", "host": "x86_64-w64-mingw32", "RUBYW_BASE_NAME": "rubyw", "sitearchhdrdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/include/ruby-3.1.0/site_ruby/x64-ucrt", "ECHO_N": "-n", "OBJDUMP": "objdump", "SOLIBS": "-lgmp -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -lbcrypt ", "rubyarchprefix": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/ruby/x64-mingw-ucrt", "SOEXT": "dll", "LIBPATHENV": "PATH", "ARFLAGS": "rcD ", "host_cpu": "x64", "sitearchlibdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/lib/x64-ucrt", "CPP": "gcc -E", "rubyarchhdrdir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/include/ruby-3.1.0/x64-mingw-ucrt", "DLNOBJ": "dln.o", "LINK_SO": "", "ruby_version": "3.1.0", "WINDRES": "windres", "TEST_RUNNABLE": "yes", "build": "x86_64-w64-mingw32", "try_header": "", "RUBY_EXEC_PREFIX": "", "strict_warnflags": "-std=gnu99", "ARCH_FLAG": "-m64", "POSTLINK": ":", "PATH_SEPARATOR": ":", "THREAD_MODEL": "win32", "UNICODE_EMOJI_VERSION": "13.1", "LIBRUBY_SONAME": "libx64-ucrt-ruby310.dll.3.1", "sitearchincludedir": "C:/hostedtoolcache/windows/Ruby/3.1.2/x64/include/x64-ucrt", "setup": "Setup", "SYMBOL_PREFIX": "", "ECHO_C": "", "libdirname": "libdir", "GCC": "yes", }, } ```
ianks commented 1 year ago

~Another thing to note, linking against LIBRUBY_A (static ruby) seems to work fine, but DLLs do not.~

UPDATE: actually, it can't find libruby static so this was a false alarm. but builds started passing again 🤔

Attempting to configure static libruby
  Could not find libx64-ucrt-ruby310-static.a in libdir, files were:
  engines-1_1
  libx64-ucrt-ruby310.dll.a
  pkgconfig
  ruby
  Current LIBRUBYARG_STATIC: -lx64-ucrt-ruby310-static -lgmp -lshell32 -lws2_32 -liphlpapi -limagehlp -lshlwapi -lbcrypt