Issue #13496 has been updated by MSP-Greg (Greg L).


Hiroshi,

Good morning.

Definitely pre-release.  See [ruby-loco](https://github.com/MSP-Greg/ruby-loco).

Re pgp, I haven't worked with it much.  My KeyID is 77D8FA18.  I don't recall whether you need that or the truncated public key.  My info can be found at sks under MSP-Greg.

Looking forward to hearing your results.  I hope the README is clear...

This morning's build -

```
16632 tests, 2227872 assertions, 8 failures, 1 errors, 114 skips
ruby 2.5.0dev (2017-04-28 trunk 58501) [x64-mingw32]
```

Thanks again.


----------------------------------------
Bug #13496: Patches for MinGW builds
https://bugs.ruby-lang.org/issues/13496#change-64566

* Author: MSP-Greg (Greg L)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
Thanks to Nobu for [58448](https://github.com/ruby/ruby/commit/27ed9f1d290a6ff6b788976ea7139c608920ee1e), which led me to the probable cause of many (but not all) of the silent SEGV's I was having in test-all, which is the patch of `defines.h`.

Since appveyor is currently broken, and I'm not a *nix guy, does anyone know if the following two patches will break travis or appveyor?  Or, a better way to do it?

These are the only two patches I have on the 'build' side.  The other patches are only for test-all.  I believe these should probably be backported to 2.4.  Thank you.

```patch
--- a/configure.in	Wed Apr 19 14:58:48 2017
+++ configure.in	Thu Apr 20 13:44:41 2017
@@ -1319,6 +1319,7 @@
 		])
 		AC_CHECK_TYPE([NET_LUID], [], [],
 			      [@%:@include <winsock2.h>
+			      @%:@include <windows.h>
 			      @%:@include <iphlpapi.h>])
 		if test x"$ac_cv_type_NET_LUID" = xyes; then
 		    AC_DEFINE(HAVE_TYPE_NET_LUID, 1)
@@ -1657,8 +1658,13 @@
             [@%:@include <stdio.h>
 	    @%:@include <stddef.h>
             @%:@ifdef __GNUC__
+            @%:@ifdef __MINGW32__
+            @%:@define PRINTF_ARGS(decl, string_index, first_to_check) \
+              decl __attribute__((format(gnu_printf, string_index, first_to_check)))
+            @%:@else
             @%:@define PRINTF_ARGS(decl, string_index, first_to_check) \
               decl __attribute__((format(printf, string_index, first_to_check)))
+            @%:@endif
             @%:@else
             @%:@define PRINTF_ARGS(decl, string_index, first_to_check) decl
             @%:@endif

```

and

```patch
--- a/include/ruby/defines.h	Thu Apr 20 18:58:40 2017
+++ b/include/ruby/defines.h	Sat Apr 22 17:08:33 2017
@@ -83,8 +83,13 @@
 #endif /* __GNUC__ >= 3 */
 
 #ifdef __GNUC__
+#ifdef __MINGW32__
+#define PRINTF_ARGS(decl, string_index, first_to_check) \
+  decl __attribute__((format(gnu_printf, string_index, first_to_check)))
+#else
 #define PRINTF_ARGS(decl, string_index, first_to_check) \
   decl __attribute__((format(printf, string_index, first_to_check)))
+#endif
 #else
 #define PRINTF_ARGS(decl, string_index, first_to_check) decl
 #endif

```




-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>