HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/log/1636428791_ruby-2.3.8/make.log
[2021-11-09 12:33:51] __rvm_make
__rvm_make () 
{ 
    \make "$@" || return $?
}
current path: /usr/local/rvm/src/ruby-2.3.8
GEM_HOME=/usr/local/rvm/gems/ruby-3.0.2
GEM_PATH=/usr/local/rvm/gems/ruby-3.0.2:/usr/local/rvm/gems/ruby-3.0.2@global
PATH=/usr/local/rvm/gems/ruby-3.0.2/bin:/usr/local/rvm/gems/ruby-3.0.2@global/bin:/usr/local/rvm/rubies/ruby-3.0.2/bin:/usr/local/rvm/bin:/usr/share/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
command(2): __rvm_make -j64
++ make -j64
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -std=iso9899:1999  -fPIC 
	XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT
	CPPFLAGS =   -I. -I.ext/include/x86_64-linux -I./include -I.
	DLDFLAGS = -Wl,-soname,libruby.so.2.3  -fstack-protector  
	SOLIBS = -lpthread -ldl -lcrypt -lm  
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugs.almalinux.org/ --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl --disable-libmpx --enable-offload-targets=nvptx-none --without-cuda-driver --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 8.4.1 20200928 (Red Hat 8.4.1-1) (GCC) 
translating probes probes.d
compiling main.c
compiling dmydln.c
compiling miniinit.c
compiling dmyext.c
compiling miniprelude.c
compiling bignum.c
compiling compar.c
compiling class.c
compiling complex.c
compiling dir.c
compiling dln_find.c
compiling encoding.c
compiling enum.c
compiling enumerator.c
compiling error.c
compiling proc.c
compiling file.c
compiling inits.c
compiling marshal.c
compiling io.c
compiling math.c
compiling node.c
compiling numeric.c
compiling pack.c
compiling process.c
compiling random.c
compiling range.c
compiling rational.c
compiling re.c
compiling regcomp.c
compiling regenc.c
compiling regerror.c
compiling regexec.c
compiling regparse.c
compiling regsyntax.c
compiling safe.c
compiling ruby.c
compiling signal.c
compiling sprintf.c
compiling st.c
compiling strftime.c
compiling struct.c
compiling time.c
compiling transcode.c
compiling util.c
compiling variable.c
compiling version.c
compiling compile.c
compiling debug.c
compiling iseq.c
compiling vm_dump.c
compiling vm_backtrace.c
compiling vm_trace.c
compiling thread.c
compiling cont.c
processing probes in object files
compiling ./missing/setproctitle.c
compiling ./missing/strlcat.c
compiling ./missing/strlcpy.c
compiling addr2line.c
compiling dmyenc.c
compiling dln.c
compiling localeinit.c
compiling prelude.c
In file included from bignum.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from class.c:26:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling enc/ascii.c
compiling enc/us_ascii.c
In file included from encoding.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling enc/unicode.c
In file included from inits.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling enc/utf_8.c
In file included from complex.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from error.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
In file included from dir.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from file.c:26:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from enum.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling enc/trans/newline.c
encoding.c: In function ‘rb_enc_get_index’:
encoding.c:793:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (NIL_P(obj)) break;
     ^
encoding.c:794:7: note: here
       case T_DATA:
       ^~~~
In file included from enumerator.c:15:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
encoding.c: In function ‘enc_capable’:
encoding.c:746:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (is_data_encoding(obj)) return TRUE;
     ^
encoding.c:747:7: note: here
       default:
       ^~~~~~~
In file included from method.h:14,
                 from vm_core.h:62,
                 from eval_intern.h:5,
                 from proc.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from io.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from numeric.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from math.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling array.c
In file included from pack.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from marshal.c:16:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from process.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from random.c:62:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from method.h:14,
                 from vm_core.h:62,
                 from node.c:13:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from range.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from re.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from signal.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from method.h:14,
                 from vm_core.h:62,
                 from safe.c:20:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from ruby.c:18:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from rational.c:8:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from st.c:9:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from sprintf.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from struct.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from util.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from time.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling eval.c
In file included from transcode.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling load.c
addr2line.c: In function ‘kvprintf’:
addr2line.c:960:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (!dot) {
       ^
addr2line.c:964:3: note: here
   case '1': case '2': case '3': case '4':
   ^~~~
addr2line.c:1100:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
    upper = 1;
    ~~~~~~^~~
addr2line.c:1101:3: note: here
   case 'x':
   ^~~~
In file included from method.h:14,
                 from vm_core.h:62,
                 from eval_intern.h:5,
                 from thread.c:60:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from iseq.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from vm_trace.c:24:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from vm_backtrace.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from vm_dump.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from variable.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from compile.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from method.h:14,
                 from vm_core.h:62,
                 from eval_intern.h:5,
                 from debug.c:16:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from cont.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from localeinit.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
strftime.c: In function ‘rb_strftime_with_timespec’:
strftime.c:780:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
    padding = '0';
    ~~~~~~~~^~~~~
strftime.c:781:3: note: here
   case '1':  case '2': case '3': case '4':
   ^~~~
marshal.c: In function ‘r_object0’:
marshal.c:1749:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (bs & 1) --dst;
       ^
marshal.c:1750:9: note: here
         default: bs = 0; break;
         ^~~~~~~
In file included from random.c:1448:
siphash.c: In function ‘ruby_sip_hash24’:
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:444:6: note: in expansion of macro ‘OR_BYTE’
      OR_BYTE(6);
      ^~~~~~~
siphash.c:445:2: note: here
  case 6:
  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:446:6: note: in expansion of macro ‘OR_BYTE’
      OR_BYTE(5);
      ^~~~~~~
siphash.c:447:2: note: here
  case 5:
  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:448:6: note: in expansion of macro ‘OR_BYTE’
      OR_BYTE(4);
      ^~~~~~~
siphash.c:449:2: note: here
  case 4:
  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:461:6: note: in expansion of macro ‘OR_BYTE’
      OR_BYTE(2);
      ^~~~~~~
siphash.c:462:2: note: here
  case 2:
  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:463:6: note: in expansion of macro ‘OR_BYTE’
      OR_BYTE(1);
      ^~~~~~~
siphash.c:464:2: note: here
  case 1:
  ^~~~
In file included from prelude.c:7:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
marshal.c: In function ‘load_mantissa’:
marshal.c:365:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
        default: m = *buf++ & 0xff;
                 ~~^~~~~~~~~~~~~~~
marshal.c:367:8: note: here
        case 3: m = (m << 8) | (*buf++ & 0xff);
        ^~~~
marshal.c:367:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
        case 3: m = (m << 8) | (*buf++ & 0xff);
                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
marshal.c:370:8: note: here
        case 2: m = (m << 8) | (*buf++ & 0xff);
        ^~~~
marshal.c:370:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
        case 2: m = (m << 8) | (*buf++ & 0xff);
                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
marshal.c:373:8: note: here
        case 1: m = (m << 8) | (*buf++ & 0xff);
        ^~~~
random.c: In function ‘rand_range’:
random.c:1221:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case T_FLOAT: {
                     ^
random.c:1227:7: note: here
       default:
       ^~~~~~~
st.c: In function ‘st_hash’:
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1463:25: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                         ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1463:43: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                           ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1463:43: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                           ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1463:61: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                             ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1463:61: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                             ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1463:79: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                               ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
random.c: In function ‘random_load’:
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1463:79: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                               ^~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
random.c:747:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  seed = ary[2];
  ~~~~~^~~~~~~~
random.c:748:7: note: here
       case 2:
       ^~~~
random.c:749:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  left = ary[1];
  ~~~~~^~~~~~~~
random.c:750:7: note: here
       case 1:
       ^~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1461:25: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                         ^~~~~~~~~~~~~
st.c:1463:97: note: in expansion of macro ‘UNALIGNED_ADD_4’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                                                 ^~~~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1461:25: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                         ^~~~~~~~~~~~~
st.c:1463:97: note: in expansion of macro ‘UNALIGNED_ADD_4’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                                                 ^~~~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1461:43: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                                           ^~~~~~~~~~~~~
st.c:1463:97: note: in expansion of macro ‘UNALIGNED_ADD_4’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                                                 ^~~~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1561:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1461:43: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                                           ^~~~~~~~~~~~~
st.c:1463:97: note: in expansion of macro ‘UNALIGNED_ADD_4’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                                                 ^~~~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1560:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1461:61: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                                                             ^~~~~~~~~~~~~
st.c:1463:97: note: in expansion of macro ‘UNALIGNED_ADD_4’
 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4
                                                                                                 ^~~~~~~~~~~~~~~
st.c:1469:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1563:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
signal.c: In function ‘ruby_signal’:
signal.c:596:31: warning: cast between incompatible function types from ‘ruby_sighandler_t’ {aka ‘void (*)(int)’} to ‘void (*)(int,  siginfo_t *, void *)’ {aka ‘void (*)(int,  struct <anonymous> *, void *)’} [-Wcast-function-type]
         sigact.sa_sigaction = (ruby_sigaction_t*)handler;
                               ^
signal.c:625:9: warning: cast between incompatible function types from ‘void (*)(int,  siginfo_t *, void *)’ {aka ‘void (*)(int,  struct <anonymous> *, void *)’} to ‘void (*)(int)’ [-Wcast-function-type]
  return (sighandler_t)old.sa_sigaction;
         ^
signal.c: In function ‘default_handler’:
signal.c:1063:16: warning: cast between incompatible function types from ‘void (*)(int,  siginfo_t *, void *)’ {aka ‘void (*)(int,  struct <anonymous> *, void *)’} to ‘void (*)(int)’ [-Wcast-function-type]
         func = (sighandler_t)sigbus;
                ^
signal.c:1068:16: warning: cast between incompatible function types from ‘void (*)(int,  siginfo_t *, void *)’ {aka ‘void (*)(int,  struct <anonymous> *, void *)’} to ‘void (*)(int)’ [-Wcast-function-type]
         func = (sighandler_t)sigsegv;
                ^
compiling gc.c
signal.c: In function ‘Init_signal’:
signal.c:1481:29: warning: cast between incompatible function types from ‘void (*)(int,  siginfo_t *, void *)’ {aka ‘void (*)(int,  struct <anonymous> *, void *)’} to ‘void (*)(int)’ [-Wcast-function-type]
  install_sighandler(SIGBUS, (sighandler_t)sigbus);
                             ^
signal.c:1363:75: note: in definition of macro ‘install_sighandler’
 #  define install_sighandler(signum, handler) (install_sighandler(signum, handler) ? rb_bug(#signum) : (void)0)
                                                                           ^~~~~~~
signal.c:1484:29: warning: cast between incompatible function types from ‘void (*)(int,  siginfo_t *, void *)’ {aka ‘void (*)(int,  struct <anonymous> *, void *)’} to ‘void (*)(int)’ [-Wcast-function-type]
  install_sighandler(SIGILL, (sighandler_t)sigill);
                             ^
signal.c:1363:75: note: in definition of macro ‘install_sighandler’
 #  define install_sighandler(signum, handler) (install_sighandler(signum, handler) ? rb_bug(#signum) : (void)0)
                                                                           ^~~~~~~
signal.c:1490:30: warning: cast between incompatible function types from ‘void (*)(int,  siginfo_t *, void *)’ {aka ‘void (*)(int,  struct <anonymous> *, void *)’} to ‘void (*)(int)’ [-Wcast-function-type]
  install_sighandler(SIGSEGV, (sighandler_t)sigsegv);
                              ^
signal.c:1363:75: note: in definition of macro ‘install_sighandler’
 #  define install_sighandler(signum, handler) (install_sighandler(signum, handler) ? rb_bug(#signum) : (void)0)
                                                                           ^~~~~~~
sprintf.c: In function ‘rb_str_format’:
sprintf.c:661:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
      p--;
      ~^~
sprintf.c:662:4: note: here
    case '%':
    ^~~~
util.c: In function ‘ruby_strtod’:
util.c:2006:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
             sign = 1;
             ~~~~~^~~
util.c:2008:11: note: here
           case '+':
           ^~~~
util.c:2171:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
             esign = 1;
             ~~~~~~^~~
util.c:2172:11: note: here
           case '+':
           ^~~~
vm_trace.c: In function ‘exec_hooks_body’:
vm_trace.c:259:6: warning: cast between incompatible function types from ‘rb_event_hook_func_t’ {aka ‘void (*)(unsigned int,  long unsigned int,  long unsigned int,  long unsigned int,  long unsigned int)’} to ‘void (*)(VALUE,  const rb_trace_arg_t *)’ {aka ‘void (*)(long unsigned int,  const struct rb_trace_arg_struct *)’} [-Wcast-function-type]
   (*((rb_event_hook_raw_arg_func_t)hook->func))(hook->data, trace_arg);
      ^
compiling hash.c
util.c: In function ‘ruby_dtoa’:
util.c:3346:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
         leftright = 0;
         ~~~~~~~~~~^~~
util.c:3348:7: note: here
       case 4:
       ^~~~
util.c:3354:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
         leftright = 0;
         ~~~~~~~~~~^~~
util.c:3356:7: note: here
       case 5:
       ^~~~
vm_trace.c: In function ‘rb_tracepoint_enable’:
vm_trace.c:1017:49: warning: cast between incompatible function types from ‘void (*)(VALUE,  rb_trace_arg_t *)’ {aka ‘void (*)(long unsigned int,  struct rb_trace_arg_struct *)’} to ‘void (*)(rb_event_flag_t,  VALUE,  VALUE,  ID,  VALUE)’ {aka ‘void (*)(unsigned int,  long unsigned int,  long unsigned int,  long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  rb_thread_add_event_hook2(tp->target_th->self, (rb_event_hook_func_t)tp_call_trace, tp->events, tpval,
                                                 ^
vm_trace.c:1021:21: warning: cast between incompatible function types from ‘void (*)(VALUE,  rb_trace_arg_t *)’ {aka ‘void (*)(long unsigned int,  struct rb_trace_arg_struct *)’} to ‘void (*)(rb_event_flag_t,  VALUE,  VALUE,  ID,  VALUE)’ {aka ‘void (*)(unsigned int,  long unsigned int,  long unsigned int,  long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  rb_add_event_hook2((rb_event_hook_func_t)tp_call_trace, tp->events, tpval,
                     ^
vm_trace.c: In function ‘rb_tracepoint_disable’:
vm_trace.c:1036:61: warning: cast between incompatible function types from ‘void (*)(VALUE,  rb_trace_arg_t *)’ {aka ‘void (*)(long unsigned int,  struct rb_trace_arg_struct *)’} to ‘void (*)(rb_event_flag_t,  VALUE,  VALUE,  ID,  VALUE)’ {aka ‘void (*)(unsigned int,  long unsigned int,  long unsigned int,  long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  rb_thread_remove_event_hook_with_data(tp->target_th->self, (rb_event_hook_func_t)tp_call_trace, tpval);
                                                             ^
vm_trace.c:1039:33: warning: cast between incompatible function types from ‘void (*)(VALUE,  rb_trace_arg_t *)’ {aka ‘void (*)(long unsigned int,  struct rb_trace_arg_struct *)’} to ‘void (*)(rb_event_flag_t,  VALUE,  VALUE,  ID,  VALUE)’ {aka ‘void (*)(unsigned int,  long unsigned int,  long unsigned int,  long unsigned int,  long unsigned int)’} [-Wcast-function-type]
  rb_remove_event_hook_with_data((rb_event_hook_func_t)tp_call_trace, tpval);
                                 ^
process.c: In function ‘handle_fork_error’:
process.c:3243:24: warning: cast between incompatible function types from ‘void (*)(int)’ to ‘VALUE (*)()’ {aka ‘long unsigned int (*)()’} [-Wcast-function-type]
             rb_protect((VALUE (*)())rb_thread_sleep, 1, &state);
                        ^
In file included from sprintf.c:1275:
vsnprintf.c: In function ‘BSD_vfprintf’:
vsnprintf.c:886:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (prec != 0)
       ^
vsnprintf.c:888:3: note: here
   case 'g':
   ^~~~
re.c: In function ‘unescape_nonascii’:
re.c:2310:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 {
                 ^
re.c:2321:15: note: here
               case '0': /* \0, \0O, \0OO */
               ^~~~
re.c: In function ‘read_escaped_byte’:
re.c:2083:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (p == end || *p++ != '-') {
             ~~~~~~~~~^~~~~~~~~~~~~~
re.c:2087:7: note: here
       case 'c': /* \cX, \c\M-X */
       ^~~~
compiling object.c
ruby.c: In function ‘proc_options’:
ruby.c:856:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
      opt->do_print = TRUE;
ruby.c:858:4: note: here
    case 'n':
    ^~~~
ruby.c:882:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
      opt->verbose = 1;
      ~~~~~~~~~~~~~^~~
ruby.c:883:4: note: here
    case 'w':
    ^~~~
ruby.c:1194:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (!s[1])
         ^
ruby.c:1197:4: note: here
    default:
    ^~~~~~~
time.c: In function ‘utc_offset_arg’:
time.c:2092:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
      n += (s[7] * 10 + s[8] - '0' * 11);
      ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
time.c:2093:4: note: here
    case 6:
    ^~~~
compiling parse.c
compiling string.c
compiling symbol.c
compiling vm.c
In file included from ./include/ruby.h:33,
                 from internal.h:15,
                 from iseq.c:12:
iseq.c: In function ‘rb_insn_operand_intern’:
./include/ruby/ruby.h:401:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define RB_ID2SYM(x) (rb_id2sym(x))
                      ~^~~~~~~~~~~~~
./include/ruby/ruby.h:406:19: note: in expansion of macro ‘RB_ID2SYM’
 #define ID2SYM(x) RB_ID2SYM(x)
                   ^~~~~~~~~
iseq.c:1279:7: note: in expansion of macro ‘ID2SYM’
  op = ID2SYM(op);
       ^~~~~~
iseq.c:1281:7: note: here
       case TS_VALUE:  /* VALUE */
       ^~~~
In file included from array.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from load.c:5:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from eval.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from gc.c:17:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
regparse.c: In function ‘parse_enclose’:
regparse.c:5183:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL)) {
          ^
regparse.c:5211:5: note: here
     case '-': case 'i': case 'm': case 's': case 'x':
     ^~~~
In file included from string.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from hash.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
eval.c: In function ‘rb_raise_jump’:
eval.c:776:8: warning: unused variable ‘mid’ [-Wunused-variable]
     ID mid = me->called_id;
        ^~~
load.c: In function ‘search_required’:
load.c:924:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (ft) {
     ^
load.c:929:7: note: here
       case 1:
       ^~~~
In file included from parse.y:27:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from object.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compile.c: In function ‘iseq_compile_each’:
compile.c:4562:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
      boff = 1;
      ~~~~~^~~
compile.c:4563:4: note: here
    default:
    ^~~~~~~
compile.c:5020:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
      flag |= VM_CALL_VCALL;
compile.c:5022:4: note: here
    case NODE_FCALL:
    ^~~~
In file included from symbol.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compile.c:4020:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (node->nd_var) {
     ^
compile.c:4046:7: note: here
       case NODE_ITER:{
       ^~~~
compile.c:4891:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (node->nd_mid == idAREF && !private_recv_p(node) && node->nd_args &&
     ^
compile.c:4907:7: note: here
       case NODE_QCALL:
       ^~~~
gc.c: In function ‘make_io_zombie’:
gc.c:2052:32: warning: cast between incompatible function types from ‘int (*)(rb_io_t *)’ {aka ‘int (*)(struct rb_io_t *)’} to ‘void (*)(void *)’ [-Wcast-function-type]
     make_zombie(objspace, obj, (void (*)(void*))rb_io_fptr_finalize, fptr);
                                ^
In file included from vm.c:15:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compile.c: In function ‘defined_expr0’:
compile.c:3331:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case NODE_ARRAY:{
                       ^
compile.c:3343:7: note: here
       case NODE_STR:
       ^~~~
compile.c: In function ‘iseq_peephole_optimize’:
compile.c:2253:13: warning: this statement may fall through [-Wimplicit-fallthrough=]
       piobj = iobj;
       ~~~~~~^~~~~~
compile.c:2254:5: note: here
     default:
     ^~~~~~~
hash.c: In function ‘rb_hash_s_create’:
hash.c:658:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
       val = RARRAY_AREF(v, 1);
hash.c:659:5: note: here
     case 1:
     ^~~~
array.c: In function ‘rb_ary_rindex’:
array.c:1532:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (!rb_equal(e, val)) break;
         ^
array.c:1533:4: note: here
    case Qtrue:
    ^~~~
array.c: In function ‘rb_ary_index’:
array.c:1469:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (!rb_equal(e, val)) break;
         ^
array.c:1470:4: note: here
    case Qtrue:
    ^~~~
In file included from ./include/ruby.h:33,
                 from internal.h:15,
                 from object.c:14:
object.c: In function ‘rb_f_integer’:
./include/ruby/ruby.h:689:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define RB_NUM2INT(x) rb_num2int_inline(x)
                       ^~~~~~~~~~~~~~~~~~~~
./include/ruby/ruby.h:701:21: note: in expansion of macro ‘RB_NUM2INT’
 #define NUM2INT(x)  RB_NUM2INT(x)
                     ^~~~~~~~~~
object.c:2740:9: note: in expansion of macro ‘NUM2INT’
  base = NUM2INT(argv[1]);
         ^~~~~~~
object.c:2741:7: note: here
       case 1:
       ^~~~
io.c: In function ‘rb_io_s_popen’:
io.c:6281:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
  pmode = argv[1];
  ~~~~~~^~~~~~~~~
io.c:6282:7: note: here
       case 1:
       ^~~~
In file included from vm.c:206:
vm_eval.c: In function ‘rb_eval_string_protect’:
vm_eval.c:1506:23: warning: cast between incompatible function types from ‘VALUE (*)(const char *)’ {aka ‘long unsigned int (*)(const char *)’} to ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} [-Wcast-function-type]
     return rb_protect((VALUE (*)(VALUE))rb_eval_string, (VALUE)str, state);
                       ^
In file included from vm.c:201:
vm_insnhelper.c: In function ‘check_method_entry’:
vm_insnhelper.c:389:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (can_be_svar) {
     ^
vm_insnhelper.c:392:7: note: here
       default:
       ^~~~~~~
In file included from vm_exec.c:120,
                 from vm.c:203:
insns.def: In function ‘vm_exec_core’:
insns.def:1262:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case T_FLOAT: {
                     ^
insns.def:1268:7: note: here
       case T_TRUE:
       ^~~~
In file included from vm.c:201:
vm_insnhelper.c: In function ‘vm_defined’:
vm_insnhelper.c:2592:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
   if (!rb_obj_is_kind_of(GET_SELF(), rb_class_real(klass))) {
      ^
vm_insnhelper.c:2595:8: note: here
        case METHOD_VISI_PUBLIC:
        ^~~~
In file included from vm.c:201:
vm_insnhelper.c: In function ‘check_cref’:
vm_insnhelper.c:440:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (can_be_svar) {
     ^
vm_insnhelper.c:443:7: note: here
       default:
       ^~~~~~~
parse.y: In function ‘ruby_yyparse’:
parse.y:407:43: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define rb_node_newnode(type, a1, a2, a3) node_newnode(parser, (type), (a1), (a2), (a3))
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node.h:356:30: note: in expansion of macro ‘rb_node_newnode’
 #define NEW_NODE(t,a0,a1,a2) rb_node_newnode((t),(VALUE)(a0),(VALUE)(a1),(VALUE)(a2))
                              ^~~~~~~~~~~~~~~
parse.y:4007:15: note: in expansion of macro ‘NEW_NODE’
        node = NEW_NODE(NODE_DSTR, STR_NEW0(), 1, NEW_LIST(node));
               ^~~~~~~~
parse.y:4008:6: note: here
      case NODE_DSTR:
      ^~~~
parse.y:340:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define yyerror(msg) parser_yyerror(parser, (msg))
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
parse.y:5028:5: note: in expansion of macro ‘yyerror’
     yyerror("can't define singleton method for literals");
     ^~~~~~~
parse.y:5029:10: note: here
          default:
          ^~~~~~~
In file included from vm.c:206:
vm_eval.c: In function ‘singleton_class_for_eval’:
vm_eval.c:1671:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (FL_TEST_RAW(self, RSTRING_FSTR)) return Qnil;
     ^
vm_eval.c:1672:7: note: here
       default:
       ^~~~~~~
In file included from vm.c:201:
vm_insnhelper.c: In function ‘cref_replace_with_duplicated_cref_each_frame’:
vm_insnhelper.c:510:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (can_be_svar) {
         ^
vm_insnhelper.c:513:4: note: here
    case imemo_ment:
    ^~~~
parse.y: In function ‘parser_yylex’:
parse.y:8207:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
   if (peek('.') == (c == '&')) {
      ^
parse.y:8213:8: note: here
        default:
        ^~~~~~~
parse.y:8215:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
   lex_nextline = lex_lastline;
parse.y:8216:8: note: here
        case -1:  /* EOF no decrement*/
        ^~~~
parse.y:8561:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  paren_nest--;
parse.y:8562:7: note: here
       case '}':
       ^~~~
parse.y: In function ‘parser_here_document’:
parse.y:6870:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (--pend == p || pend[-1] != '\r') {
           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
parse.y:6874:5: note: here
     case '\r':
     ^~~~
parse.y: In function ‘parser_read_escape’:
parse.y:6063:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ((c = nextc()) != '-') {
     ^
parse.y:6067:7: note: here
       case 'c':
       ^~~~
parse.y: In function ‘parse_gvar’:
parse.y:7929:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (!parser_is_identchar()) {
      ^
parse.y:7939:7: note: here
       case '0':
       ^~~~
parse.y: In function ‘is_static_content’:
parse.y:9754:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (!(node = node->nd_head)) break;
     ^
parse.y:9755:7: note: here
       case NODE_ARRAY:
       ^~~~
In file included from parse.y:28:
parse.y: In function ‘literal_concat_gen’:
node.h:276:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
     RNODE(n)->flags=((RNODE(n)->flags&~NODE_TYPEMASK)|((((unsigned long)(t))<<NODE_TYPESHIFT)&NODE_TYPEMASK))
                    ^
parse.y:8970:6: note: in expansion of macro ‘nd_set_type’
      nd_set_type(head, NODE_DSTR);
      ^~~~~~~~~~~
parse.y:8971:4: note: here
    case NODE_DSTR:
    ^~~~
linking miniruby
generating encdb.h
rbconfig.rb updated
creating verconf.h
generating enc.mk
encdb.h updated
verconf.h updated
compiling loadpath.c
making srcs under enc
make[1]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[1]: Nothing to be done for 'srcs'.
make[1]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8'
generating transdb.h
linking static-library libruby-static.a
transdb.h updated
verifying static-library libruby-static.a
linking shared-library libruby.so.2.3.0
generating makefile exts.mk
making enc
making trans
make[1]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[1]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
compiling ./enc/emacs_mule.c
compiling ./enc/trans/emoji_iso2022_kddi.c
compiling ./enc/gb2312.c
compiling ./enc/gb18030.c
compiling ./enc/big5.c
compiling ./enc/cp949.c
compiling ./enc/euc_jp.c
compiling ./enc/trans/big5.c
compiling ./enc/encdb.c
compiling ./enc/euc_kr.c
compiling ./enc/trans/chinese.c
compiling ./enc/trans/transdb.c
compiling ./enc/euc_tw.c
compiling ./enc/iso_8859_4.c
compiling ./enc/trans/ebcdic.c
compiling ./enc/iso_8859_1.c
compiling ./enc/iso_8859_3.c
compiling ./enc/trans/emoji.c
compiling ./enc/trans/emoji_sjis_docomo.c
compiling ./enc/gbk.c
compiling ./enc/trans/iso2022.c
compiling ./enc/trans/escape.c
compiling ./enc/trans/emoji_sjis_kddi.c
compiling ./enc/trans/emoji_sjis_softbank.c
compiling ./enc/iso_8859_2.c
compiling ./enc/trans/gbk.c
compiling ./enc/trans/gb18030.c
compiling ./enc/trans/japanese.c
compiling ./enc/trans/japanese_euc.c
compiling ./enc/iso_8859_5.c
compiling ./enc/iso_8859_6.c
compiling ./enc/trans/japanese_sjis.c
compiling ./enc/iso_8859_7.c
compiling ./enc/iso_8859_9.c
compiling ./enc/iso_8859_10.c
compiling ./enc/trans/korean.c
compiling ./enc/iso_8859_8.c
compiling ./enc/trans/single_byte.c
compiling ./enc/iso_8859_15.c
compiling ./enc/iso_8859_14.c
compiling ./enc/trans/utf8_mac.c
compiling ./enc/koi8_r.c
compiling ./enc/iso_8859_13.c
compiling ./enc/trans/utf_16_32.c
compiling ./enc/iso_8859_16.c
compiling ./enc/iso_8859_11.c
compiling ./enc/koi8_u.c
compiling ./enc/shift_jis.c
compiling ./enc/utf_16be.c
compiling ./enc/utf_16le.c
compiling ./enc/utf_32be.c
configuring -test-/array/resize
configuring -test-/bignum
compiling ./enc/utf_32le.c
compiling ./enc/windows_31j.c
configuring -test-/bug-3571
compiling ./enc/windows_1250.c
configuring -test-/bug-5832
compiling ./enc/windows_1251.c
compiling ./enc/windows_1252.c
configuring -test-/bug_reporter
configuring -test-/class
configuring -test-/debug
configuring -test-/dln/empty
configuring -test-/exception
configuring -test-/fatal
configuring -test-/file
linking transcoder transdb.so
In file included from ./enc/encdb.c:12:
./internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
./internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
linking encoding iso_8859_4.so
linking encoding iso_8859_7.so
linking encoding koi8_r.so
linking encoding iso_8859_5.so
linking encoding koi8_u.so
linking encoding cp949.so
linking encoding iso_8859_10.so
linking encoding iso_8859_3.so
linking encoding iso_8859_6.so
linking encoding iso_8859_8.so
linking encoding gbk.so
linking encoding iso_8859_11.so
linking encoding iso_8859_15.so
linking encoding iso_8859_2.so
linking encoding gb2312.so
linking encoding iso_8859_9.so
linking encoding iso_8859_14.so
linking transcoder ebcdic.so
linking encoding iso_8859_13.so
linking encoding windows_1251.so
linking encoding euc_kr.so
linking encoding iso_8859_16.so
linking encoding windows_1250.so
linking encoding iso_8859_1.so
linking transcoder japanese.so
linking encoding windows_1252.so
linking encoding utf_32be.so
linking transcoder escape.so
linking encoding euc_tw.so
linking encoding encdb.so
linking encoding big5.so
linking encoding utf_16be.so
linking encoding utf_16le.so
linking encoding utf_32le.so
linking encoding emacs_mule.so
linking encoding gb18030.so
linking transcoder iso2022.so
linking encoding shift_jis.so
linking encoding windows_31j.so
linking transcoder emoji.so
linking encoding euc_jp.so
linking transcoder single_byte.so
make[1]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8'
linking transcoder utf_16_32.so
linking transcoder emoji_sjis_docomo.so
linking transcoder emoji_sjis_kddi.so
linking transcoder emoji_iso2022_kddi.so
linking transcoder emoji_sjis_softbank.so
linking transcoder japanese_sjis.so
linking transcoder gb18030.so
linking transcoder chinese.so
linking transcoder gbk.so
linking transcoder korean.so
linking transcoder utf8_mac.so
linking transcoder japanese_euc.so
configuring -test-/float
configuring -test-/funcall
configuring -test-/gvl/call_without_gvl
configuring -test-/hash
configuring -test-/iseq_load
configuring -test-/iter
configuring -test-/load/dot.dot
configuring -test-/marshal/compat
configuring -test-/marshal/internal_ivar
configuring -test-/marshal/usr
configuring -test-/method
configuring -test-/notimplement
configuring -test-/num2int
configuring -test-/path_to_class
configuring -test-/popen_deadlock
configuring -test-/postponed_job
configuring -test-/printf
configuring -test-/proc
configuring -test-/rational
configuring -test-/recursion
configuring -test-/st/foreach
configuring -test-/st/numhash
configuring -test-/st/update
configuring -test-/string
configuring -test-/struct
configuring -test-/symbol
configuring -test-/thread_fd_close
configuring -test-/time
configuring -test-/tracepoint
configuring -test-/typeddata
configuring -test-/vm
configuring -test-/wait_for_single_fd
configuring bigdecimal
linking transcoder big5.so
make[1]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8'
making encs
make[1]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[1]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8'
configuring cgi/escape
configuring continuation
configuring coverage
configuring date
configuring dbm
Failed to configure dbm. It will not be installed.
configuring digest
configuring digest/bubblebabble
configuring digest/md5
configuring digest/rmd160
configuring digest/sha1
configuring digest/sha2
configuring etc
configuring fcntl
configuring fiber
configuring fiddle
configuring gdbm
Failed to configure gdbm. It will not be installed.
configuring io/console
configuring io/nonblock
configuring io/wait
configuring json
configuring json/generator
configuring json/parser
configuring mathn/complex
configuring mathn/rational
configuring nkf
configuring objspace
configuring openssl
configuring pathname
configuring psych
configuring pty
configuring racc/cparse
configuring rbconfig/sizeof
configuring readline
configuring ripper
configuring sdbm
configuring socket
configuring stringio
configuring strscan
configuring syslog
configuring thread
configuring tk
............
check struct members..
check libraries....
Use ActiveTcl libraries (if available).
Search tclConfig.sh and tkConfig.sh..............................
Fail to find [tclConfig.sh, tkConfig.sh]
Use X11 libraries (or use TK_XINCLUDES/TK_XLIBSW information on tkConfig.sh).
Warning:: cannot find X11 library. tcltklib will not be compiled (tcltklib is disabled on your Ruby. That is, Ruby/Tk will not work). Please check configure options. If your Tcl/Tk don't require X11, please try --without-X11.
Can't find X11 libraries. 
So, can't make tcltklib.so which is required by Ruby/Tk.
Failed to configure tk. It will not be installed.
Failed to configure tk/tkutil. It will not be installed.
configuring zlib
make[1]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling resize.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling bug.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling bug.c
compiling call_without_gvl.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling bug_reporter.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling class2name.c
compiling str2big.c
compiling div.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling profile_frames.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling init.c
compiling empty.c
compiling init.c
compiling mul.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling fs.c
compiling ensured.c
compiling rb_fatal.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling init.c
compiling bug.c
compiling init.c
compiling inspector.c
compiling delete.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling passing_block.c
compiling big2str.c
compiling init.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling arity.c
compiling enc_raise.c
compiling bigzero.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
compiling init.c
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling stat.c
compiling nextafter.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling iseq_load.c
compiling init.c
compiling usrcompat.c
compiling dataerror.c
compiling init.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling break.c
compiling yield.c
compiling internal_ivar.c
compiling dot.dot.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling init.c
compiling num2int.c
compiling usrmarshal.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling intpack.c
compiling path_to_class.c
compiling init.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling infinite_loop_dlsym.c
compiling recursion.c
compiling printf.c
compiling postponed_job.c
compiling numhash.c
compiling receiver.c
compiling foreach.c
compiling rat.c
compiling update.c
compiling qsort.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling super.c
compiling normalize.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling modify.c
compiling member.c
compiling init.c
compiling duplicate.c
compiling type.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling coderange.c
compiling thread_fd_close.c
compiling init.c
compiling ellipsize.c
compiling new.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling gc_hook.c
compiling init.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling tracepoint.c
compiling typeddata.c
linking shared-object -test-/dln/empty.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling init.c
linking shared-object -test-/load/dot.dot/dot.dot.so
compiling at_exit.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling wait_for_single_fd.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling nofree.c
compiling bigdecimal.c
compiling escape.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
In file included from str2big.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from mul.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling continuation.c
In file included from big2str.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling set_len.c
In file included from div.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from bigzero.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from rat.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from intpack.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from normalize.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/dbm'
compiling bubblebabble.c
compiling digest.c
compiling coverage.c
compiling date_core.c
compiling date_parse.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling md5init.c
compiling cstr.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling rmd160init.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object -test-/fatal/rb_fatal.so
installing default bigdecimal libraries
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling enc_associate.c
compiling sha2init.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling sha1init.c
linking shared-object -test-/bug_reporter/bug_reporter.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling fcntl.c
linking shared-object -test-/iter.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object -test-/notimplement.so
linking shared-object -test-/bug-5832/bug.so
generating constant definitions
compiling fiber.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/dln/empty'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/load/dot.dot'
linking shared-object -test-/iseq_load/iseq_load.so
linking shared-object -test-/gvl/call_without_gvl.so
compiling enc_str_buf_cat.c
compiling closure.c
linking shared-object -test-/method.so
linking shared-object -test-/marshal/usr.so
compiling date_strftime.c
linking shared-object -test-/marshal/internal_ivar.so
linking shared-object -test-/bug-3571/bug.so
linking shared-object -test-/path_to_class/path_to_class.so
linking shared-object -test-/marshal/compat.so
linking shared-object -test-/st/update.so
installing digest libraries
installing default digest libraries
installing default sha2 libraries
linking shared-object -test-/rational.so
linking shared-object -test-/funcall/funcall.so
compiling fstring.c
linking shared-object -test-/recursion.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/gdbm'
linking shared-object -test-/popen_deadlock/infinite_loop_dlsym.so
linking shared-object -test-/debug.so
linking shared-object -test-/class.so
compiling conversions.c
linking shared-object -test-/hash.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling date_strptime.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling console.c
linking shared-object -test-/proc.so
linking shared-object -test-/file.so
linking shared-object -test-/float.so
compiling fiddle.c
compiling function.c
installing default date_core libraries
linking shared-object -test-/exception.so
compiling etc.c
compiling nonblock.c
compiling wait.c
linking shared-object -test-/struct.so
linking shared-object -test-/postponed_job.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object fiber.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/fatal'
linking shared-object -test-/array/resize.so
linking shared-object -test-/st/numhash.so
compiling handle.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
In file included from ../../method.h:14,
                 from ../../vm_core.h:62,
                 from coverage.c:12:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling pointer.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/bug_reporter'
linking shared-object -test-/thread_fd_close.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object -test-/time.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/notimplement'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object -test-/st/foreach.so
compiling parser.c
compiling generator.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
installing default console libraries
compiling complex.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
sha2init.c:23:5: warning: cast between incompatible function types from ‘int (*)(SHA256_CTX *, const void *, size_t)’ {aka ‘int (*)(struct SHA256state_st *, const void *, long unsigned int)’} to ‘void (*)(void *, unsigned char *, size_t)’ {aka ‘void (*)(void *, unsigned char *, long unsigned int)’} [-Wcast-function-type]
     (rb_digest_hash_update_func_t)SHA##bitlen##_Update, \
     ^
sha2init.c:14:30: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
 #define FOREACH_BITLEN(func) func(256) func(384) func(512)
                              ^~~~
sha2init.c:27:1: note: in expansion of macro ‘FOREACH_BITLEN’
 FOREACH_BITLEN(DEFINE_ALGO_METADATA)
 ^~~~~~~~~~~~~~
compiling rational.c
sha2init.c:23:5: warning: cast between incompatible function types from ‘int (*)(SHA512_CTX *, const void *, size_t)’ {aka ‘int (*)(struct SHA512state_st *, const void *, long unsigned int)’} to ‘void (*)(void *, unsigned char *, size_t)’ {aka ‘void (*)(void *, unsigned char *, long unsigned int)’} [-Wcast-function-type]
     (rb_digest_hash_update_func_t)SHA##bitlen##_Update, \
     ^
sha2init.c:14:40: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
 #define FOREACH_BITLEN(func) func(256) func(384) func(512)
                                        ^~~~
sha2init.c:27:1: note: in expansion of macro ‘FOREACH_BITLEN’
 FOREACH_BITLEN(DEFINE_ALGO_METADATA)
 ^~~~~~~~~~~~~~
sha2init.c:23:5: warning: cast between incompatible function types from ‘int (*)(SHA512_CTX *, const void *, size_t)’ {aka ‘int (*)(struct SHA512state_st *, const void *, long unsigned int)’} to ‘void (*)(void *, unsigned char *, size_t)’ {aka ‘void (*)(void *, unsigned char *, long unsigned int)’} [-Wcast-function-type]
     (rb_digest_hash_update_func_t)SHA##bitlen##_Update, \
     ^
sha2init.c:14:50: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
 #define FOREACH_BITLEN(func) func(256) func(384) func(512)
                                                  ^~~~
sha2init.c:27:1: note: in expansion of macro ‘FOREACH_BITLEN’
 FOREACH_BITLEN(DEFINE_ALGO_METADATA)
 ^~~~~~~~~~~~~~
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/bug-5832'
compiling nkf.c
compiling object_tracing.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/st/update'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/gvl/call_without_gvl'
linking shared-object -test-/printf.so
linking shared-object -test-/num2int/num2int.so
In file included from cstr.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling openssl_missing.c
md5init.c:20:5: warning: cast between incompatible function types from ‘int (*)(MD5_CTX *, const void *, size_t)’ {aka ‘int (*)(struct MD5state_st *, const void *, long unsigned int)’} to ‘void (*)(void *, unsigned char *, size_t)’ {aka ‘void (*)(void *, unsigned char *, long unsigned int)’} [-Wcast-function-type]
     (rb_digest_hash_update_func_t)MD5_Update,
     ^
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/rational'
rmd160init.c:18:5: warning: cast between incompatible function types from ‘int (*)(RIPEMD160_CTX *, const void *, size_t)’ {aka ‘int (*)(struct RIPEMD160state_st *, const void *, long unsigned int)’} to ‘void (*)(void *, unsigned char *, size_t)’ {aka ‘void (*)(void *, unsigned char *, long unsigned int)’} [-Wcast-function-type]
     (rb_digest_hash_update_func_t)RMD160_Update,
     ^
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/marshal/internal_ivar'
linking shared-object -test-/bignum.so
linking shared-object -test-/vm/at_exit.so
sha1init.c:20:5: warning: cast between incompatible function types from ‘int (*)(SHA_CTX *, const void *, size_t)’ {aka ‘int (*)(struct SHAstate_st *, const void *, long unsigned int)’} to ‘void (*)(void *, unsigned char *, size_t)’ {aka ‘void (*)(void *, unsigned char *, long unsigned int)’} [-Wcast-function-type]
     (rb_digest_hash_update_func_t)SHA1_Update,
     ^
compiling pathname.c
compiling pty.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/funcall'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/path_to_class'
installing default nkf libraries
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/method'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/iseq_load'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
installing default pathname libraries
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/marshal/usr'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/marshal/compat'
compiling objspace.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/recursion'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling ossl.c
compiling psych_emitter.c
compiling psych_parser.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
compiling _sdbm.c
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling objspace_dump.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/hash'
compiling ripper.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/bug-3571'
compiling ossl_asn1.c
compiling cparse.c
compiling init.c
installing default fiddle libraries
installing default pty libraries
linking shared-object -test-/tracepoint.so
compiling sizes.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/debug'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/class'
linking shared-object continuation.so
compiling readline.c
compiling stringio.c
generating constant definitions
compiling strscan.c
In file included from closure.c:3:
../.././internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../.././internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling ossl_bio.c
compiling ossl_bn.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/iter'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
generating constant definitions
compiling syslog.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
linking shared-object -test-/symbol.so
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object -test-/typeddata/typeddata.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/proc'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/fiber'
compiling psych.c
date_strftime.c: In function ‘date_strftime_with_tmx’:
date_strftime.c:573:14: warning: this statement may fall through [-Wimplicit-fallthrough=]
      padding = '0';
      ~~~~~~~~^~~~~
date_strftime.c:574:4: note: here
    case '1':  case '2': case '3': case '4':
    ^~~~
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/tk'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/array/resize'
compiling ossl_cipher.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/popen_deadlock'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/st/numhash'
compiling thread.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/exception'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/postponed_job'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/struct'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/file'
installing default socket libraries
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/float'
linking shared-object digest/sha2.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/tk/tkutil'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/st/foreach'
linking shared-object digest/md5.so
linking shared-object -test-/wait_for_single_fd/wait_for_single_fd.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/thread_fd_close'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/time'
installing default syslog libraries
linking shared-object digest/rmd160.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.3.8'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object mathn/rational.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/printf'
compiling psych_to_ruby.c
linking shared-object fcntl.so
linking shared-object mathn/complex.so
compiling psych_yaml_tree.c
linking shared-object cgi/escape.so
installing default libraries
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/json'
compiling zlib.c
compiling ossl_config.c
compiling ../.././ext/psych/yaml/dumper.c
linking shared-object digest/sha1.so
checking ../.././parse.y and ../.././ext/ripper/eventids2.c
installing default ripper libraries
linking shared-object digest/bubblebabble.so
compiling ../.././ext/psych/yaml/reader.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/vm'
compiling ../.././ext/psych/yaml/writer.c
compiling init.c
compiling basicsocket.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/num2int'
In file included from object_tracing.c:16:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
date_core.c: In function ‘datetime_s_jisx0301’:
date_core.c:8114:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:8115:7: note: here
       case 1:
       ^~~~
generator.c: In function ‘convert_UTF8_to_JSON_ASCII’:
generator.c:148:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
             case 5: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */
                                      ~~~^~~~~
generator.c:149:13: note: here
             case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */
             ^~~~
generator.c:149:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
             case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */
                                      ~~~^~~~~
generator.c:150:13: note: here
             case 3: ch += *source++; ch <<= 6;
             ^~~~
generator.c:150:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
             case 3: ch += *source++; ch <<= 6;
                                      ~~~^~~~~
generator.c:151:13: note: here
             case 2: ch += *source++; ch <<= 6;
             ^~~~
generator.c:151:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
             case 2: ch += *source++; ch <<= 6;
                                      ~~~^~~~~
generator.c:152:13: note: here
             case 1: ch += *source++; ch <<= 6;
             ^~~~
generator.c:152:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
             case 1: ch += *source++; ch <<= 6;
                                      ~~~^~~~~
generator.c:153:13: note: here
             case 0: ch += *source++;
             ^~~~
generator.c: In function ‘isLegalUTF8’:
generator.c:86:46: warning: this statement may fall through [-Wimplicit-fallthrough=]
         case 4: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
generator.c:87:9: note: here
         case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
         ^~~~
generator.c:87:46: warning: this statement may fall through [-Wimplicit-fallthrough=]
         case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
generator.c:88:9: note: here
         case 2: if ((a = (*--srcptr)) > 0xBF) return 0;
         ^~~~
generator.c:90:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
                     switch (*source) {
                     ^~~~~~
generator.c:99:9: note: here
         case 1: if (*source >= 0x80 && *source < 0xC2) return 0;
         ^~~~
compiling ossl_digest.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/continuation'
In file included from objspace.c:15:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
parser.c: In function ‘cParser_parse_quirks_mode’:
parser.c:1968:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1970:1: note: here
 case 1:
 ^~~~
parser.rl:803:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
             begin_value >parse_value
     ^
parser.rl:805:1: note: here
 }%%
 ^~~ 
parser.c:2015:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2017:1: note: here
 case 2:
 ^~~~
parser.c:2024:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2026:1: note: here
 case 3:
 ^~~~
parser.c:2031:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2033:1: note: here
 case 4:
 ^~~~
parser.c:2040:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2042:1: note: here
 case 5:
 ^~~~
parser.c:2047:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2049:1: note: here
 case 6:
 ^~~~
parser.c:2056:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2058:1: note: here
 case 7:
 ^~~~
parser.c:2063:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2065:1: note: here
 case 8:
 ^~~~
parser.c:2072:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2074:1: note: here
 case 9:
 ^~~~
parser.c: In function ‘JSON_parse_value’:
parser.rl:227:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
             *result = CNaN;
     ^
parser.rl:229:1: note: here
             rb_enc_raise(EXC_ENCODING eParserError, "%u: unexpected token at '%s'", __LINE__, p - 2);
 ^   
parser.c:630:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:632:1: note: here
 case 2:
 ^~~~
parser.c:637:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:639:1: note: here
 case 3:
 ^~~~
parser.c:644:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:646:1: note: here
 case 4:
 ^~~~
date_core.c: In function ‘datetime_s_httpdate’:
parser.c:651:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:653:1: note: here
 case 5:
 ^~~~
parser.c:658:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:660:1: note: here
 case 6:
 ^~~~
parser.c:665:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:667:1: note: here
 case 7:
 ^~~~
parser.c:672:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:674:1: note: here
 case 8:
 ^~~~
parser.c:679:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:681:1: note: here
 case 9:
 ^~~~
parser.c:686:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:688:1: note: here
 case 10:
 ^~~~
parser.c:693:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:695:1: note: here
 case 11:
 ^~~~
parser.c:700:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:702:1: note: here
 case 12:
 ^~~~
parser.c:707:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:709:1: note: here
 case 13:
 ^~~~
parser.c:714:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:716:1: note: here
 case 14:
 ^~~~
parser.c:721:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:723:1: note: here
 case 15:
 ^~~~
parser.c:728:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:730:1: note: here
 case 16:
 ^~~~
parser.c:735:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:737:1: note: here
 case 17:
 ^~~~
parser.c:742:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:744:1: note: here
 case 18:
 ^~~~
parser.c:749:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:751:1: note: here
 case 19:
 ^~~~
parser.c:756:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:758:1: note: here
 case 20:
 ^~~~
date_core.c:8084:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 01 Jan -4712 00:00:00 GMT");
date_core.c:8085:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘datetime_s_rfc2822’:
compiling socket.c
date_core.c:8054:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 1 Jan -4712 00:00:00 +0000");
parser.c: In function ‘JSON_parse_string’:
parser.c:1447:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1449:1: note: here
 case 2:
 ^~~~
parser.c:1479:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1481:1: note: here
 case 3:
 ^~~~
parser.c:1488:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1490:1: note: here
 case 4:
 ^~~~
parser.c:1501:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1503:1: note: here
 case 5:
 ^~~~
parser.c:1514:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1516:1: note: here
 case 6:
 ^~~~
parser.c:1527:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1529:1: note: here
 case 7:
 ^~~~
date_core.c:8055:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘datetime_s_xmlschema’:
date_core.c:8023:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:8024:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘datetime_s_rfc3339’:
date_core.c:7993:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:7994:7: note: here
       case 1:
       ^~~~
compiling ../.././ext/psych/yaml/api.c
date_core.c: In function ‘datetime_s_iso8601’:
parser.c: In function ‘JSON_parse_array’:
parser.c:1106:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1108:1: note: here
 case 2:
 ^~~~
parser.rl:394:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 
     ^
parser.rl:396:1: note: here
 
 ^   
parser.c:1163:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1165:1: note: here
 case 4:
 ^~~~
parser.c:1187:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
date_core.c:7963:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
parser.c:1189:1: note: here
 case 5:
 ^~~~
parser.c:1196:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1198:1: note: here
 case 6:
 ^~~~
parser.c:1203:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1205:1: note: here
 case 7:
 ^~~~
parser.c:1212:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1214:1: note: here
 case 8:
 ^~~~
parser.c:1219:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1221:1: note: here
 case 9:
 ^~~~
parser.c:1228:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1230:1: note: here
 case 10:
 ^~~~
parser.c:1235:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1237:1: note: here
 case 11:
 ^~~~
parser.c:1244:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1246:1: note: here
 case 12:
 ^~~~
parser.c:1261:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1263:1: note: here
 case 13:
 ^~~~
parser.c:1270:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1272:1: note: here
 case 14:
 ^~~~
parser.c:1277:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1279:1: note: here
 case 15:
 ^~~~
parser.c:1286:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1288:1: note: here
 case 16:
 ^~~~
date_core.c:7964:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘datetime_s_parse’:
date_core.c:7923:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:7924:7: note: here
       case 1:
       ^~~~
date_core.c:7925:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  comp = Qtrue;
parser.c: In function ‘JSON_parse_object’:
parser.c:156:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:158:1: note: here
 case 2:
 ^~~~
parser.rl:162:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 
     ^
parser.rl:164:1: note: here
     next_pair   = ignore* value_separator pair;
 ^   
parser.c:194:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:196:1: note: here
 case 4:
 ^~~~
parser.c:203:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:205:1: note: here
 case 5:
 ^~~~
parser.c:210:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:212:1: note: here
 case 6:
 ^~~~
parser.c:219:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:221:1: note: here
 case 7:
 ^~~~
parser.c:226:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:228:1: note: here
 case 8:
 ^~~~
parser.rl:154:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
         char *np;
     ^
parser.rl:156:1: note: here
         np = JSON_parse_string(json, fpc, pe, &last_name);
 ^   
parser.c:282:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:284:1: note: here
 case 10:
 ^~~~
parser.c:295:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:297:1: note: here
 case 11:
 ^~~~
parser.c:304:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:306:1: note: here
 case 12:
 ^~~~
parser.c:311:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:313:1: note: here
 case 13:
 ^~~~
parser.c:320:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:322:1: note: here
 case 14:
 ^~~~
parser.c:327:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:329:1: note: here
 case 15:
 ^~~~
parser.c:336:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:338:1: note: here
 case 16:
 ^~~~
parser.c:343:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:345:1: note: here
 case 17:
 ^~~~
parser.c:352:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:354:1: note: here
 case 18:
 ^~~~
parser.c:369:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:371:1: note: here
 case 19:
 ^~~~
parser.c:378:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:380:1: note: here
 case 20:
 ^~~~
parser.c:385:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:387:1: note: here
 case 21:
 ^~~~
parser.c:394:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:396:1: note: here
 case 22:
 ^~~~
parser.c:401:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:403:1: note: here
 case 23:
 ^~~~
parser.c:410:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:412:1: note: here
 case 24:
 ^~~~
parser.c:417:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:419:1: note: here
 case 25:
 ^~~~
parser.c:426:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:428:1: note: here
 case 26:
 ^~~~
date_core.c:7926:7: note: here
       case 2:
       ^~~~
date_core.c: In function ‘datetime_s_strptime’:
date_core.c:7880:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/tracepoint'
date_core.c:7881:7: note: here
       case 1:
       ^~~~
date_core.c:7882:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  fmt = rb_str_new2("%FT%T%z");
parser.c: In function ‘JSON_parse_float’:
parser.c:939:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:941:1: note: here
 case 2:
 ^~~~
parser.c:948:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:950:1: note: here
 case 3:
 ^~~~
parser.c:958:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:960:1: note: here
 case 4:
 ^~~~
parser.c:965:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:967:1: note: here
 case 8:
 ^~~~
parser.c:989:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:991:1: note: here
 case 5:
 ^~~~
parser.c:1000:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1002:1: note: here
 case 6:
 ^~~~
parser.c:1007:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1009:1: note: here
 case 10:
 ^~~~
parser.c:1021:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1023:1: note: here
 case 7:
 ^~~~
date_core.c:7883:7: note: here
       case 2:
       ^~~~
compiling ../.././ext/psych/yaml/loader.c
parser.c: In function ‘JSON_parse_integer’:
parser.c:840:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:842:1: note: here
 case 2:
 ^~~~
parser.c:849:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:851:1: note: here
 case 3:
 ^~~~
parser.c:866:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:868:1: note: here
 case 5:
 ^~~~
parser.c: In function ‘cParser_parse_strict’:
parser.c:1794:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1796:1: note: here
 case 1:
 ^~~~
parser.c:1811:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1813:1: note: here
 case 2:
 ^~~~
parser.c:1820:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1822:1: note: here
 case 3:
 ^~~~
parser.c:1827:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1829:1: note: here
 case 4:
 ^~~~
parser.c:1836:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1838:1: note: here
 case 5:
 ^~~~
parser.rl:757:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
         char *np;
     ^
parser.rl:759:1: note: here
         np = JSON_parse_array(json, fpc, pe, &result);
 ^   
parser.c:1874:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1876:1: note: here
 case 6:
 ^~~~
parser.c:1883:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1885:1: note: here
 case 7:
 ^~~~
parser.c:1890:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1892:1: note: here
 case 8:
 ^~~~
date_core.c: In function ‘datetime_s_commercial’:
parser.c:1899:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1901:1: note: here
 case 9:
 ^~~~
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7443:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:7444:7: note: here
       case 7:
       ^~~~
linking shared-object coverage.so
date_core.c:4696:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7445:2: note: in expansion of macro ‘val2off’
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7446:7: note: here
       case 6:
       ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/typeddata'
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7447:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:7448:7: note: here
       case 5:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7449:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(min, 5);
  ^~~~~~~~~~~~~~~~~
date_core.c:7450:7: note: here
       case 4:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7451:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(h, 4);
  ^~~~~~~~~~~~~~~~~
date_core.c:7452:7: note: here
       case 3:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7453:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, 3);
  ^~~~~~~~~~~~~~~~~
date_core.c:7454:7: note: here
       case 2:
       ^~~~
In file included from ../.././include/ruby.h:33,
                 from date_core.c:5:
../.././include/ruby/ruby.h:689:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define RB_NUM2INT(x) rb_num2int_inline(x)
                       ^~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:701:21: note: in expansion of macro ‘RB_NUM2INT’
 #define NUM2INT(x)  RB_NUM2INT(x)
                     ^~~~~~~~~~
date_core.c:7455:6: note: in expansion of macro ‘NUM2INT’
  w = NUM2INT(vw);
      ^~~~~~~
date_core.c:7456:7: note: here
       case 1:
       ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/symbol'
date_core.c: In function ‘datetime_s_civil’:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7346:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:7347:7: note: here
       case 7:
       ^~~~
compiling ../.././ext/psych/yaml/emitter.c
date_core.c:4696:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7348:2: note: in expansion of macro ‘val2off’
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7349:7: note: here
       case 6:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7350:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:7351:7: note: here
       case 5:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7352:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(min, 5);
  ^~~~~~~~~~~~~~~~~
date_core.c:7353:7: note: here
       case 4:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7354:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(h, 4);
  ^~~~~~~~~~~~~~~~~
date_core.c:7355:7: note: here
       case 3:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7356:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, 3);
  ^~~~~~~~~~~~~~~~~
date_core.c:7357:7: note: here
       case 2:
       ^~~~
In file included from ../.././include/ruby.h:33,
                 from date_core.c:5:
../.././include/ruby/ruby.h:689:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define RB_NUM2INT(x) rb_num2int_inline(x)
                       ^~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:701:21: note: in expansion of macro ‘RB_NUM2INT’
 #define NUM2INT(x)  RB_NUM2INT(x)
                     ^~~~~~~~~~
date_core.c:7358:6: note: in expansion of macro ‘NUM2INT’
  m = NUM2INT(vm);
      ^~~~~~~
date_core.c:7359:7: note: here
       case 1:
       ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/mathn/complex'
date_core.c: In function ‘datetime_s_ordinal’:
In file included from pty.c:36:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7269:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:7270:7: note: here
       case 6:
       ^~~~
date_core.c:4696:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7271:2: note: in expansion of macro ‘val2off’
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7272:7: note: here
       case 5:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7273:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/bignum'
date_core.c:7274:7: note: here
       case 4:
       ^~~~
compiling ossl_engine.c
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7275:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(min, 4);
  ^~~~~~~~~~~~~~~~~
date_core.c:7276:7: note: here
       case 3:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7277:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(h, 3);
  ^~~~~~~~~~~~~~~~~
date_core.c:7278:7: note: here
       case 2:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7279:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, 2);
  ^~~~~~~~~~~~~~~~~
date_core.c:7280:7: note: here
       case 1:
       ^~~~
In file included from ripper.y:27:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
date_core.c: In function ‘datetime_s_jd’:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7200:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
In file included from objspace_dump.c:15:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
date_core.c:7201:7: note: here
       case 5:
       ^~~~
date_core.c:4696:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7202:2: note: in expansion of macro ‘val2off’
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7203:7: note: here
       case 4:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7204:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:7205:7: note: here
       case 3:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7206:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(min, 3);
  ^~~~~~~~~~~~~~~~~
date_core.c:7207:7: note: here
       case 2:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7208:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(h, 2);
  ^~~~~~~~~~~~~~~~~
date_core.c:7209:7: note: here
       case 1:
       ^~~~
In file included from ossl.h:57,
                 from ossl.c:10:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
 #error "This file is obsolete; please update your software."
  ^~~~~
In file included from ossl.h:57,
                 from ossl_asn1.c:10:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
 #error "This file is obsolete; please update your software."
  ^~~~~
In file included from ossl.h:57,
                 from ossl_bio.c:10:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
 #error "This file is obsolete; please update your software."
  ^~~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/mathn/rational'
compiling ipsocket.c
date_core.c: In function ‘date_s_jisx0301’:
date_core.c:4631:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4632:7: note: here
       case 1:
       ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/digest/bubblebabble'
date_core.c: In function ‘date_s_httpdate’:
date_core.c:4590:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 01 Jan -4712 00:00:00 GMT");
date_core.c:4591:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_rfc2822’:
date_core.c:4548:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 1 Jan -4712 00:00:00 +0000");
date_core.c:4549:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_xmlschema’:
date_core.c:4504:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
In file included from openssl_missing.c:21:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509_vfy.h:17,
                 from openssl_missing.c:15:
openssl_missing.h:82:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:90:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
date_core.c:4505:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_rfc3339’:
openssl_missing.c:39:23: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX_create(void)
                       ^
openssl_missing.c:40:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
 {
 ^
openssl_missing.c: In function ‘EVP_MD_CTX_cleanup’:
openssl_missing.c:55:27: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_MD_CTX’ {aka ‘struct evp_md_ctx_st’}
     memset(ctx, 0, sizeof(EVP_MD_CTX));
                           ^~~~~~~~~~
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509_vfy.h:17,
                 from openssl_missing.c:15:
openssl_missing.c: At top level:
openssl_missing.c:63:1: error: expected declaration specifiers or ‘...’ before ‘(’ token
 EVP_MD_CTX_destroy(EVP_MD_CTX *ctx)
 ^~~~~~~~~~~~~~~~~~
openssl_missing.c:72:1: error: expected declaration specifiers or ‘...’ before ‘(’ token
 EVP_MD_CTX_init(EVP_MD_CTX *ctx)
 ^~~~~~~~~~~~~~~
date_core.c:4463:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
openssl_missing.c: In function ‘HMAC_CTX_init’:
openssl_missing.c:82:25: error: dereferencing pointer to incomplete type ‘HMAC_CTX’ {aka ‘struct hmac_ctx_st’}
     EVP_MD_CTX_init(&ctx->i_ctx);
                         ^~
openssl_missing.c: In function ‘HMAC_CTX_cleanup’:
openssl_missing.c:95:27: error: invalid application of ‘sizeof’ to incomplete type ‘HMAC_CTX’ {aka ‘struct hmac_ctx_st’}
     memset(ctx, 0, sizeof(HMAC_CTX));
                           ^~~~~~~~
date_core.c:4464:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_iso8601’:
date_core.c:4422:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4423:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_parse’:
In file included from ossl.h:57,
                 from ossl_bn.c:11:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
 #error "This file is obsolete; please update your software."
  ^~~~~
date_core.c:4366:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4367:7: note: here
       case 1:
       ^~~~
date_core.c:4368:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  comp = Qtrue;
date_core.c:4369:7: note: here
       case 2:
       ^~~~
date_core.c: In function ‘date_s_strptime’:
date_core.c:4275:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4276:7: note: here
       case 1:
       ^~~~
date_core.c:4277:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  fmt = rb_str_new2("%F");
date_core.c:4278:7: note: here
       case 2:
       ^~~~
date_core.c: In function ‘date_s_commercial’:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3480:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3481:7: note: here
       case 3:
       ^~~~
linking shared-object io/wait.so
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:3482:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:3483:7: note: here
       case 2:
       ^~~~
In file included from ../.././include/ruby.h:33,
                 from date_core.c:5:
../.././include/ruby/ruby.h:689:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define RB_NUM2INT(x) rb_num2int_inline(x)
                       ^~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:701:21: note: in expansion of macro ‘RB_NUM2INT’
 #define NUM2INT(x)  RB_NUM2INT(x)
                     ^~~~~~~~~~
date_core.c:3484:6: note: in expansion of macro ‘NUM2INT’
  w = NUM2INT(vw);
      ^~~~~~~
date_core.c:3485:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_civil’:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3403:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3404:7: note: here
       case 3:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:3405:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, positive_inf);
  ^~~~~~~~~~~~~~~~~
compiling ../.././ext/psych/yaml/parser.c
date_core.c:3406:7: note: here
       case 2:
       ^~~~
In file included from ../.././include/ruby.h:33,
                 from date_core.c:5:
../.././include/ruby/ruby.h:689:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define RB_NUM2INT(x) rb_num2int_inline(x)
                       ^~~~~~~~~~~~~~~~~~~~
../.././include/ruby/ruby.h:701:21: note: in expansion of macro ‘RB_NUM2INT’
 #define NUM2INT(x)  RB_NUM2INT(x)
                     ^~~~~~~~~~
date_core.c:3407:6: note: in expansion of macro ‘NUM2INT’
  m = NUM2INT(vm);
      ^~~~~~~
date_core.c:3408:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_ordinal’:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3334:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3335:7: note: here
       case 2:
       ^~~~
date_core.c:3223:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:3336:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:3337:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_jd’:
date_core.c:3247:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3282:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3283:7: note: here
       case 1:
       ^~~~
compiling ../.././ext/psych/yaml/scanner.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/fcntl'
stringio.c: In function ‘strio_read’:
stringio.c:1293:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (!NIL_P(str)) {
     ^
compiling tcpsocket.c
stringio.c:1297:7: note: here
       case 1:
       ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/wait_for_single_fd'
In file included from readline.c:36:
../.././internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../.././internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
../.././ext/psych/yaml/api.c: In function ‘yaml_document_delete’:
../.././ext/psych/yaml/api.c:1121:7: warning: variable ‘context’ set but not used [-Wunused-but-set-variable]
     } context;
       ^~~~~~~
make[2]: *** [Makefile:301: openssl_missing.o] Error 1
make[2]: *** Waiting for unfinished jobs....
linking shared-object -test-/string.so
compiling ossl_hmac.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/cgi/escape'
In file included from ossl.h:57,
                 from ossl_cipher.c:10:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
 #error "This file is obsolete; please update your software."
  ^~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_document_start’:
../.././ext/psych/yaml/emitter.c:595:56: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             if (!yaml_emitter_write_indicator(emitter, "...", 1, 0, 0))
                                                        ^~~~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:603:56: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             if (!yaml_emitter_write_indicator(emitter, "%YAML", 1, 0, 0))
                                                        ^~~~~~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:605:56: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             if (!yaml_emitter_write_indicator(emitter, "1.1", 1, 0, 0))
                                                        ^~~~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:617:60: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
                 if (!yaml_emitter_write_indicator(emitter, "%TAG", 1, 0, 0))
                                                            ^~~~~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:637:56: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             if (!yaml_emitter_write_indicator(emitter, "---", 1, 0, 0))
                                                        ^~~~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:654:56: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             if (!yaml_emitter_write_indicator(emitter, "...", 1, 0, 0))
                                                        ^~~~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_document_end’:
../.././ext/psych/yaml/emitter.c:699:56: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             if (!yaml_emitter_write_indicator(emitter, "...", 1, 0, 0))
                                                        ^~~~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_flow_sequence_item’:
../.././ext/psych/yaml/emitter.c:734:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, "[", 1, 1, 0))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
compiling tcpserver.c
../.././ext/psych/yaml/emitter.c:746:56: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             if (!yaml_emitter_write_indicator(emitter, ",", 0, 0, 0))
                                                        ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:751:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, "]", 0, 0, 0))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:759:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, ",", 0, 0, 0))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_flow_mapping_key’:
../.././ext/psych/yaml/emitter.c:783:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, "{", 1, 1, 0))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:795:56: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             if (!yaml_emitter_write_indicator(emitter, ",", 0, 0, 0))
                                                        ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:800:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, "}", 0, 0, 0))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:808:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, ",", 0, 0, 0))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:826:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, "?", 1, 0, 0))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_flow_mapping_value’:
../.././ext/psych/yaml/emitter.c:845:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, ":", 0, 0, 0))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:853:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, ":", 1, 0, 0))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_block_sequence_item’:
../.././ext/psych/yaml/emitter.c:886:48: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     if (!yaml_emitter_write_indicator(emitter, "-", 1, 0, 1))
                                                ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_block_mapping_key’:
../.././ext/psych/yaml/emitter.c:930:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, "?", 1, 0, 1))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_block_mapping_value’:
../.././ext/psych/yaml/emitter.c:949:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, ":", 0, 0, 0))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:955:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, ":", 1, 0, 1))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
In file included from rubysocket.h:8,
                 from init.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
linking shared-object io/nonblock.so
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_process_anchor’:
../.././ext/psych/yaml/emitter.c:1247:51: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
                 (emitter->anchor_data.alias ? "*" : "&"), 1, 0, 0))
                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_process_tag’:
../.././ext/psych/yaml/emitter.c:1277:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, "!<", 1, 0, 0))
                                                    ^~~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:1282:52: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         if (!yaml_emitter_write_indicator(emitter, ">", 0, 0, 0))
                                                    ^~~
../.././ext/psych/yaml/emitter.c:224:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
In file included from rubysocket.h:8,
                 from basicsocket.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
zlib.c: In function ‘zstream_expand_buffer_protect’:
zlib.c:694:16: warning: cast between incompatible function types from ‘void (*)(struct zstream *)’ to ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} [-Wcast-function-type]
     rb_protect((VALUE (*)(VALUE))zstream_expand_buffer, (VALUE)z, &state);
                ^
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_plain_scalar’:
../.././ext/psych/yaml/emitter.c:28:6: warning: value computed is not used [-Wunused-value]
      && ((emitter->line_break == YAML_CR_BREAK ?                                \
      ^~
../.././ext/psych/yaml/emitter.c:56:11: note: in expansion of macro ‘PUT_BREAK’
          (PUT_BREAK(emitter),                                                   \
           ^~~~~~~~~
../.././ext/psych/yaml/emitter.c:1931:18: note: in expansion of macro ‘WRITE_BREAK’
             if (!WRITE_BREAK(emitter, string)) return 0;
                  ^~~~~~~~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_single_quoted_scalar’:
../.././ext/psych/yaml/emitter.c:1967:48: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     if (!yaml_emitter_write_indicator(emitter, "'", 1, 0, 0))
                                                ^~~
../.././ext/psych/yaml/emitter.c:1787:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/parser.c: In function ‘yaml_parser_parse_block_sequence_entry’:
../.././ext/psych/yaml/parser.c:762:21: warning: variable ‘dummy_mark’ set but not used [-Wunused-but-set-variable]
         yaml_mark_t dummy_mark;     /* Used to eliminate a compiler warning. */
                     ^~~~~~~~~~
../.././ext/psych/yaml/emitter.c:28:6: warning: value computed is not used [-Wunused-value]
      && ((emitter->line_break == YAML_CR_BREAK ?                                \
      ^~
../.././ext/psych/yaml/emitter.c:56:11: note: in expansion of macro ‘PUT_BREAK’
          (PUT_BREAK(emitter),                                                   \
           ^~~~~~~~~
../.././ext/psych/yaml/emitter.c:1992:18: note: in expansion of macro ‘WRITE_BREAK’
             if (!WRITE_BREAK(emitter, string)) return 0;
                  ^~~~~~~~~~~
../.././ext/psych/yaml/parser.c: In function ‘yaml_parser_parse_block_mapping_key’:
../.././ext/psych/yaml/parser.c:872:21: warning: variable ‘dummy_mark’ set but not used [-Wunused-but-set-variable]
         yaml_mark_t dummy_mark;     /* Used to eliminate a compiler warning. */
                     ^~~~~~~~~~
../.././ext/psych/yaml/emitter.c:2011:48: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     if (!yaml_emitter_write_indicator(emitter, "'", 0, 0, 0))
                                                ^~~
../.././ext/psych/yaml/emitter.c:1787:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_double_quoted_scalar’:
../.././ext/psych/yaml/emitter.c:2029:48: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     if (!yaml_emitter_write_indicator(emitter, "\"", 1, 0, 0))
                                                ^~~~
../.././ext/psych/yaml/emitter.c:1787:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/parser.c: In function ‘yaml_parser_parse_flow_sequence_entry’:
../.././ext/psych/yaml/parser.c:955:17: warning: variable ‘dummy_mark’ set but not used [-Wunused-but-set-variable]
     yaml_mark_t dummy_mark;     /* Used to eliminate a compiler warning. */
                 ^~~~~~~~~~
../.././ext/psych/yaml/parser.c: In function ‘yaml_parser_parse_flow_mapping_key’:
../.././ext/psych/yaml/parser.c:1107:17: warning: variable ‘dummy_mark’ set but not used [-Wunused-but-set-variable]
     yaml_mark_t dummy_mark;     /* Used to eliminate a compiler warning. */
                 ^~~~~~~~~~
../.././ext/psych/yaml/scanner.c: In function ‘yaml_parser_decrease_flow_level’:
../.././ext/psych/yaml/scanner.c:1189:23: warning: variable ‘dummy_key’ set but not used [-Wunused-but-set-variable]
     yaml_simple_key_t dummy_key;    /* Used to eliminate a compiler warning. */
                       ^~~~~~~~~
../.././ext/psych/yaml/emitter.c:2167:48: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     if (!yaml_emitter_write_indicator(emitter, "\"", 0, 0, 0))
                                                ^~~~
../.././ext/psych/yaml/emitter.c:1787:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_block_scalar_hints’:
../.././ext/psych/yaml/emitter.c:2196:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         chomp_hint = "-";
                    ^
../.././ext/psych/yaml/emitter.c:2205:24: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             chomp_hint = "-";
                        ^
../.././ext/psych/yaml/emitter.c:2209:24: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
             chomp_hint = "+";
                        ^
../.././ext/psych/yaml/emitter.c:2219:28: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
                 chomp_hint = "+";
                            ^
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_literal_scalar’:
../.././ext/psych/yaml/emitter.c:2243:48: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     if (!yaml_emitter_write_indicator(emitter, "|", 1, 0, 0))
                                                ^~~
../.././ext/psych/yaml/emitter.c:1787:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
../.././ext/psych/yaml/emitter.c:28:6: warning: value computed is not used [-Wunused-value]
      && ((emitter->line_break == YAML_CR_BREAK ?                                \
      ^~
../.././ext/psych/yaml/emitter.c:56:11: note: in expansion of macro ‘PUT_BREAK’
          (PUT_BREAK(emitter),                                                   \
           ^~~~~~~~~
../.././ext/psych/yaml/emitter.c:2255:18: note: in expansion of macro ‘WRITE_BREAK’
             if (!WRITE_BREAK(emitter, string)) return 0;
                  ^~~~~~~~~~~
compiling sockssocket.c
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_folded_scalar’:
../.././ext/psych/yaml/emitter.c:2283:48: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
     if (!yaml_emitter_write_indicator(emitter, ">", 1, 0, 0))
                                                ^~~
../.././ext/psych/yaml/emitter.c:1787:15: note: expected ‘char *’ but argument is of type ‘const char *’
         char *indicator, int need_whitespace,
         ~~~~~~^~~~~~~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/digest/sha2'
linking shared-object rbconfig/sizeof.so
linking shared-object thread.so
../.././ext/psych/yaml/emitter.c:28:6: warning: value computed is not used [-Wunused-value]
      && ((emitter->line_break == YAML_CR_BREAK ?                                \
      ^~
../.././ext/psych/yaml/emitter.c:56:11: note: in expansion of macro ‘PUT_BREAK’
          (PUT_BREAK(emitter),                                                   \
           ^~~~~~~~~
../.././ext/psych/yaml/emitter.c:2304:18: note: in expansion of macro ‘WRITE_BREAK’
             if (!WRITE_BREAK(emitter, string)) return 0;
                  ^~~~~~~~~~~
compiling udpsocket.c
In file included from ossl.h:57,
                 from ossl_config.c:10:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
 #error "This file is obsolete; please update your software."
  ^~~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/io/wait'
compiling unixsocket.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/coverage'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/digest/md5'
compiling unixserver.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/digest/rmd160'
In file included from rubysocket.h:8,
                 from socket.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from ossl.h:57,
                 from ossl_digest.c:10:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
 #error "This file is obsolete; please update your software."
  ^~~~~
linking shared-object digest.so
compiling option.c
compiling ancdata.c
In file included from rubysocket.h:8,
                 from ipsocket.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from ossl.h:222,
                 from ossl.c:10:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl.c:10:
openssl_missing.h:82:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:90:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:222,
                 from ossl_bio.c:10:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_bio.c:10:
openssl_missing.h:82:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:90:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:236,
                 from ossl_bio.c:10:
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from ossl.h:236,
                 from ossl.c:10:
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl.c: In function ‘ossl_protect_x509_ary2sk’:
ossl_bio.c: In function ‘ossl_protect_membio2str’:
ossl_bio.c:47:23: warning: cast between incompatible function types from ‘VALUE (*)(BIO *)’ {aka ‘long unsigned int (*)(struct bio_st *)’} to ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} [-Wcast-function-type]
     return rb_protect((VALUE(*)_((VALUE)))ossl_membio2str0, (VALUE)bio, status);
                       ^
ossl.c:80:6: warning: cast between incompatible function types from ‘struct stack_st_X509 * (*)(VALUE)’ {aka ‘struct stack_st_X509 * (*)(long unsigned int)’} to ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} [-Wcast-function-type]
      (VALUE(*)_((VALUE)))ossl_##name##_ary2sk0,  \
      ^
ossl.c:96:1: note: in expansion of macro ‘OSSL_IMPL_ARY2SK’
 OSSL_IMPL_ARY2SK(x509, X509, cX509Cert, DupX509CertPtr)
 ^~~~~~~~~~~~~~~~
ossl.c: In function ‘ossl_buf2str’:
ossl.c:139:22: warning: cast between incompatible function types from ‘VALUE (*)(int)’ {aka ‘long unsigned int (*)(int)’} to ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} [-Wcast-function-type]
     str = rb_protect((VALUE(*)_((VALUE)))ossl_str_new, len, &status);
                      ^
In file included from ossl.h:222,
                 from ossl_asn1.c:10:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_asn1.c:10:
openssl_missing.h:82:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:90:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
ossl.c: In function ‘ossl_verify_cb’:
ossl.c:220:42: error: dereferencing pointer to incomplete type ‘X509_STORE_CTX’ {aka ‘struct x509_store_ctx_st’}
  proc = (VALUE)X509_STORE_get_ex_data(ctx->ctx, ossl_store_ex_verify_cb_idx);
                                          ^~
ossl.c:225:20: warning: cast between incompatible function types from ‘VALUE (*)(X509_STORE_CTX *)’ {aka ‘long unsigned int (*)(struct x509_store_ctx_st *)’} to ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} [-Wcast-function-type]
  rctx = rb_protect((VALUE(*)(VALUE))ossl_x509stctx_new,
                    ^
ossl.c:235:23: warning: cast between incompatible function types from ‘VALUE (*)(struct ossl_verify_cb_args *)’ {aka ‘long unsigned int (*)(struct ossl_verify_cb_args *)’} to ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} [-Wcast-function-type]
      ret = rb_protect((VALUE(*)(VALUE))ossl_call_verify_cb_proc, (VALUE)&args, &state);
                       ^
In file included from ossl.h:236,
                 from ossl_asn1.c:10:
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling raddrinfo.c
compiling ifaddr.c
In file included from ossl.h:222,
                 from ossl_bn.c:11:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_bn.c:11:
openssl_missing.h:82:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:90:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:236,
                 from ossl_bn.c:11:
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_bn.c: In function ‘ossl_bn_size’:
ossl_bn.c:43:19: error: invalid application of ‘sizeof’ to incomplete type ‘BIGNUM’ {aka ‘struct bignum_st’}
     return sizeof(BIGNUM);
                   ^~~~~~
make[2]: *** [Makefile:302: ossl_bio.o] Error 1
In file included from ossl.h:57,
                 from ossl_engine.c:10:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
 #error "This file is obsolete; please update your software."
  ^~~~~
At top level:
ossl.c:545:1: warning: ‘ossl_lock_callback’ defined but not used [-Wunused-function]
 ossl_lock_callback(int mode, int type, const char *file, int line)
 ^~~~~~~~~~~~~~~~~~
ossl.c:535:22: warning: ‘ossl_thread_id’ defined but not used [-Wunused-function]
 static unsigned long ossl_thread_id(void)
                      ^~~~~~~~~~~~~~
ossl.c:522:1: warning: ‘ossl_dyn_destroy_callback’ defined but not used [-Wunused-function]
 ossl_dyn_destroy_callback(struct CRYPTO_dynlock_value *l, const char *file, int line)
 ^~~~~~~~~~~~~~~~~~~~~~~~~
ossl.c:516:1: warning: ‘ossl_dyn_lock_callback’ defined but not used [-Wunused-function]
 ossl_dyn_lock_callback(int mode, struct CRYPTO_dynlock_value *l, const char *file, int line)
 ^~~~~~~~~~~~~~~~~~~~~~
ossl.c:504:1: warning: ‘ossl_dyn_create_callback’ defined but not used [-Wunused-function]
 ossl_dyn_create_callback(const char *file, int line)
 ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from rubysocket.h:8,
                 from tcpsocket.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/io/nonblock'
ossl_bn.c: In function ‘ossl_bn_s_generate_prime’:
ossl_bn.c:775:5: warning: ‘BN_generate_prime’ is deprecated [-Wdeprecated-declarations]
     if (!BN_generate_prime(result, num, safe, add, rem, NULL, NULL)) {
     ^~
In file included from /usr/include/openssl/opensslconf.h:42,
                 from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/err.h:13,
                 from ossl.h:56,
                 from ossl_bn.c:11:
/usr/include/openssl/bn.h:326:1: note: declared here
 DEPRECATEDIN_0_9_8(BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe,
 ^~~~~~~~~~~~~~~~~~
ossl_bn.c: In function ‘ossl_bn_is_prime’:
ossl_bn.c:940:5: warning: ‘BN_is_prime’ is deprecated [-Wdeprecated-declarations]
     switch (BN_is_prime(bn, checks, NULL, ossl_bn_ctx, NULL)) {
     ^~~~~~
In file included from /usr/include/openssl/opensslconf.h:42,
                 from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/err.h:13,
                 from ossl.h:56,
                 from ossl_bn.c:11:
/usr/include/openssl/bn.h:332:1: note: declared here
 DEPRECATEDIN_0_9_8(int
 ^~~~~~~~~~~~~~~~~~
ossl_bn.c: In function ‘ossl_bn_is_prime_fasttest’:
ossl_bn.c:979:5: warning: ‘BN_is_prime_fasttest’ is deprecated [-Wdeprecated-declarations]
     switch (BN_is_prime_fasttest(bn, checks, NULL, ossl_bn_ctx, NULL, do_trial_division)) {
     ^~~~~~
In file included from /usr/include/openssl/opensslconf.h:42,
                 from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/err.h:13,
                 from ossl.h:56,
                 from ossl_bn.c:11:
/usr/include/openssl/bn.h:336:1: note: declared here
 DEPRECATEDIN_0_9_8(int
 ^~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:302: ossl.o] Error 1
ossl_asn1.c: In function ‘decode_bool’:
ossl_asn1.c:354:15: warning: implicit declaration of function ‘d2i_ASN1_BOOLEAN’; did you mean ‘V_ASN1_BOOLEAN’? [-Wimplicit-function-declaration]
     if((val = d2i_ASN1_BOOLEAN(NULL, &p, length)) < 0)
               ^~~~~~~~~~~~~~~~
               V_ASN1_BOOLEAN
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/digest/sha1'
ossl_asn1.c: In function ‘decode_int’:
ossl_asn1.c:371:22: warning: cast between incompatible function types from ‘VALUE (*)(ASN1_INTEGER *)’ {aka ‘long unsigned int (*)(struct asn1_string_st *)’} to ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} [-Wcast-function-type]
     ret = rb_protect((VALUE(*)_((VALUE)))asn1integer_to_num,
                      ^
ossl_asn1.c: In function ‘decode_enum’:
ossl_asn1.c:411:22: warning: cast between incompatible function types from ‘VALUE (*)(ASN1_INTEGER *)’ {aka ‘long unsigned int (*)(struct asn1_string_st *)’} to ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} [-Wcast-function-type]
     ret = rb_protect((VALUE(*)_((VALUE)))asn1integer_to_num,
                      ^
ossl_asn1.c: In function ‘decode_time’:
ossl_asn1.c:473:22: warning: cast between incompatible function types from ‘VALUE (*)(ASN1_TIME *)’ {aka ‘long unsigned int (*)(struct asn1_string_st *)’} to ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} [-Wcast-function-type]
     ret = rb_protect((VALUE(*)_((VALUE)))asn1time_to_time,
                      ^
In file included from ossl.h:222,
                 from ossl_cipher.c:10:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_cipher.c:10:
openssl_missing.h:82:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:90:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
ossl_bn.c: In function ‘ossl_bn_size’:
ossl_bn.c:44:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
In file included from ossl.h:236,
                 from ossl_cipher.c:10:
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/thread'
In file included from ../.././include/ruby.h:33,
                 from ossl.h:30,
                 from ossl_cipher.c:10:
ossl_cipher.c: In function ‘ossl_cipher_new’:
ossl_cipher.c:17:37: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_CIPHER_CTX’ {aka ‘struct evp_cipher_ctx_st’}
     (DATA_PTR(obj) = (ctx) = ZALLOC(EVP_CIPHER_CTX))
                                     ^~~~~~~~~~~~~~
../.././include/ruby/ruby.h:1599:61: note: in definition of macro ‘RB_ZALLOC_N’
 #define RB_ZALLOC_N(type,n) ((type*)ruby_xcalloc((n),sizeof(type)))
                                                             ^~~~
../.././include/ruby/ruby.h:1606:22: note: in expansion of macro ‘RB_ZALLOC’
 #define ZALLOC(type) RB_ZALLOC(type)
                      ^~~~~~~~~
ossl_cipher.c:17:30: note: in expansion of macro ‘ZALLOC’
     (DATA_PTR(obj) = (ctx) = ZALLOC(EVP_CIPHER_CTX))
                              ^~~~~~
ossl_cipher.c:70:5: note: in expansion of macro ‘AllocCipher’
     AllocCipher(ret, ctx);
     ^~~~~~~~~~~
ossl_cipher.c: In function ‘ossl_cipher_memsize’:
ossl_cipher.c:95:19: error: dereferencing pointer to incomplete type ‘EVP_CIPHER_CTX’ {aka ‘const struct evp_cipher_ctx_st’}
     return sizeof(*ctx);
                   ^~~~
In file included from ../.././include/ruby.h:33,
                 from ossl.h:30,
                 from ossl_cipher.c:10:
ossl_cipher.c: In function ‘ossl_cipher_initialize’:
ossl_cipher.c:17:37: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_CIPHER_CTX’ {aka ‘struct evp_cipher_ctx_st’}
     (DATA_PTR(obj) = (ctx) = ZALLOC(EVP_CIPHER_CTX))
                                     ^~~~~~~~~~~~~~
../.././include/ruby/ruby.h:1599:61: note: in definition of macro ‘RB_ZALLOC_N’
 #define RB_ZALLOC_N(type,n) ((type*)ruby_xcalloc((n),sizeof(type)))
                                                             ^~~~
../.././include/ruby/ruby.h:1606:22: note: in expansion of macro ‘RB_ZALLOC’
 #define ZALLOC(type) RB_ZALLOC(type)
                      ^~~~~~~~~
ossl_cipher.c:17:30: note: in expansion of macro ‘ZALLOC’
     (DATA_PTR(obj) = (ctx) = ZALLOC(EVP_CIPHER_CTX))
                              ^~~~~~
ossl_cipher.c:124:5: note: in expansion of macro ‘AllocCipher’
     AllocCipher(self, ctx);
     ^~~~~~~~~~~
ossl_cipher.c: In function ‘ossl_cipher_copy’:
ossl_cipher.c:17:37: error: invalid application of ‘sizeof’ to incomplete type ‘EVP_CIPHER_CTX’ {aka ‘struct evp_cipher_ctx_st’}
     (DATA_PTR(obj) = (ctx) = ZALLOC(EVP_CIPHER_CTX))
                                     ^~~~~~~~~~~~~~
../.././include/ruby/ruby.h:1599:61: note: in definition of macro ‘RB_ZALLOC_N’
 #define RB_ZALLOC_N(type,n) ((type*)ruby_xcalloc((n),sizeof(type)))
                                                             ^~~~
../.././include/ruby/ruby.h:1606:22: note: in expansion of macro ‘RB_ZALLOC’
 #define ZALLOC(type) RB_ZALLOC(type)
                      ^~~~~~~~~
ossl_cipher.c:17:30: note: in expansion of macro ‘ZALLOC’
     (DATA_PTR(obj) = (ctx) = ZALLOC(EVP_CIPHER_CTX))
                              ^~~~~~
ossl_cipher.c:145:2: note: in expansion of macro ‘AllocCipher’
  AllocCipher(self, ctx1);
  ^~~~~~~~~~~
ossl_cipher.c: In function ‘ossl_s_ciphers’:
ossl_cipher.c:177:21: warning: cast between incompatible function types from ‘void * (*)(const OBJ_NAME *, VALUE)’ {aka ‘void * (*)(const struct obj_name_st *, long unsigned int)’} to ‘void (*)(const OBJ_NAME *, void *)’ {aka ‘void (*)(const struct obj_name_st *, void *)’} [-Wcast-function-type]
                     (void(*)(const OBJ_NAME*,void*))add_cipher_name_to_ary,
                     ^
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/rbconfig/sizeof'
In file included from ossl.h:57,
                 from ossl_hmac.c:12:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
 #error "This file is obsolete; please update your software."
  ^~~~~
ossl_cipher.c: In function ‘ossl_cipher_memsize’:
ossl_cipher.c:96:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[2]: *** [Makefile:302: ossl_bn.o] Error 1
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/-test-/string'
In file included from rubysocket.h:8,
                 from tcpserver.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: *** [Makefile:302: ossl_cipher.o] Error 1
In file included from rubysocket.h:8,
                 from unixsocket.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/digest'
In file included from rubysocket.h:8,
                 from sockssocket.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
installing default psych libraries
make[2]: *** [Makefile:302: ossl_asn1.o] Error 1
In file included from rubysocket.h:8,
                 from udpsocket.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
linking shared-object pty.so
In file included from ossl.h:222,
                 from ossl_digest.c:10:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_digest.c:10:
openssl_missing.h:82:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:90:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
ripper.y: In function ‘parser_yylex’:
In file included from ossl.h:236,
                 from ossl_digest.c:10:
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ripper.y:8207:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
   if (peek('.') == (c == '&')) {
      ^
ripper.y:8213:8: note: here
        default:
        ^~~~~~~
ripper.y:8215:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
   lex_nextline = lex_lastline;
ripper.y:8216:8: note: here
        case -1:  /* EOF no decrement*/
        ^~~~
ripper.y:8561:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  paren_nest--;
ripper.y:8562:7: note: here
       case '}':
       ^~~~
In file included from ossl.h:222,
                 from ossl_config.c:10:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_config.c:10:
openssl_missing.h:82:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:90:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:236,
                 from ossl_config.c:10:
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ripper.y: In function ‘parser_here_document’:
ripper.y:6870:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (--pend == p || pend[-1] != '\r') {
           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
ripper.y:6874:5: note: here
     case '\r':
     ^~~~
make[2]: *** [Makefile:302: ossl_digest.o] Error 1
ripper.y: In function ‘parser_read_escape’:
ripper.y:6063:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ((c = nextc()) != '-') {
     ^
ripper.y:6067:7: note: here
       case 'c':
       ^~~~
make[2]: *** [Makefile:302: ossl_config.o] Error 1
In file included from nkf.c:62:
nkf-utf8/nkf.c: In function ‘module_connection’:
nkf-utf8/nkf.c:5710:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
     if (nkf_enc_unicode_p(output_encoding))
     ^~
nkf-utf8/nkf.c:5713:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  if (x0201_f == NKF_UNSPECIFIED) {
  ^~
In file included from rubysocket.h:8,
                 from ifaddr.c:1:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from rubysocket.h:8,
                 from unixserver.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from rubysocket.h:8,
                 from option.c:1:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ripper.y: In function ‘parse_gvar’:
ripper.y:7929:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (!parser_is_identchar()) {
      ^
ripper.y:7939:7: note: here
       case '0':
       ^~~~
In file included from rubysocket.h:8,
                 from raddrinfo.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from rubysocket.h:8,
                 from ancdata.c:1:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
linking shared-object syslog.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/pty'
In file included from ossl.h:222,
                 from ossl_engine.c:10:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_engine.c:10:
openssl_missing.h:82:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:90:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:236,
                 from ossl_engine.c:10:
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
linking shared-object etc.so
nkf-utf8/nkf.c: In function ‘options’:
nkf-utf8/nkf.c:6807:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
      fold_preserve_f = TRUE;
nkf-utf8/nkf.c:6808:2: note: here
  case 'f':   /* folding -f60 or -f */
  ^~~~
compiling constants.c
make[2]: *** [Makefile:302: ossl_engine.o] Error 1
linking shared-object fiddle.so
In file included from ossl.h:222,
                 from ossl_hmac.c:12:
openssl_missing.h:78:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
 EVP_MD_CTX *EVP_MD_CTX_create(void);
                                   ^
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:58,
                 from ossl_hmac.c:12:
openssl_missing.h:82:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:90:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:236,
                 from ossl_hmac.c:12:
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:45:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from ../.././include/ruby.h:33,
                 from ossl.h:30,
                 from ossl_hmac.c:12:
ossl_hmac.c: In function ‘ossl_hmac_alloc’:
ossl_hmac.c:15:44: error: invalid application of ‘sizeof’ to incomplete type ‘HMAC_CTX’ {aka ‘struct hmac_ctx_st’}
     (obj) = TypedData_Make_Struct((klass), HMAC_CTX, &ossl_hmac_type, (ctx))
                                            ^~~~~~~~
../.././include/ruby/ruby.h:1186:55: note: in definition of macro ‘TypedData_Make_Struct0’
     VALUE result = rb_data_typed_object_zalloc(klass, size, data_type); \
                                                       ^~~~
ossl_hmac.c:15:13: note: in expansion of macro ‘TypedData_Make_Struct’
     (obj) = TypedData_Make_Struct((klass), HMAC_CTX, &ossl_hmac_type, (ctx))
             ^~~~~~~~~~~~~~~~~~~~~
ossl_hmac.c:61:5: note: in expansion of macro ‘MakeHMAC’
     MakeHMAC(obj, klass, ctx);
     ^~~~~~~~
ossl_hmac.c: In function ‘ossl_hmac_initialize’:
ossl_hmac.c:110:5: warning: ‘HMAC_Init’ is deprecated [-Wdeprecated-declarations]
     HMAC_Init(ctx, RSTRING_PTR(key), RSTRING_LENINT(key),
     ^~~~~~~~~
In file included from /usr/include/openssl/opensslconf.h:42,
                 from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/err.h:13,
                 from ossl.h:56,
                 from ossl_hmac.c:12:
/usr/include/openssl/hmac.h:30:1: note: declared here
 DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len,
 ^~~~~~~~~~~~~~~~~~
In file included from nkf.c:62:
nkf-utf8/nkf.c: In function ‘set_input_encoding’:
nkf-utf8/nkf.c:1238:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */
     ^
nkf-utf8/nkf.c:1239:5: note: here
     case CP50220:
     ^~~~
ossl_hmac.c: In function ‘hmac_final’:
ossl_hmac.c:164:14: error: storage size of ‘final’ isn’t known
     HMAC_CTX final;
              ^~~~~
ossl_hmac.c:164:14: warning: unused variable ‘final’ [-Wunused-variable]
ossl_hmac.c: In function ‘ossl_hmac_reset’:
ossl_hmac.c:259:5: warning: ‘HMAC_Init’ is deprecated [-Wdeprecated-declarations]
     HMAC_Init(ctx, NULL, 0, NULL);
     ^~~~~~~~~
In file included from /usr/include/openssl/opensslconf.h:42,
                 from /usr/include/openssl/e_os2.h:13,
                 from /usr/include/openssl/err.h:13,
                 from ossl.h:56,
                 from ossl_hmac.c:12:
/usr/include/openssl/hmac.h:30:1: note: declared here
 DEPRECATEDIN_1_1_0(__owur int HMAC_Init(HMAC_CTX *ctx, const void *key, int len,
 ^~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:302: ossl_hmac.o] Error 1
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/openssl'
make[1]: *** [exts.mk:213: ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/syslog'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/etc'
In file included from rubysocket.h:8,
                 from constants.c:11:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/fiddle'
linking shared-object racc/cparse.so
linking shared-object io/console.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/racc/cparse'
linking shared-object sdbm.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/io/console'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/sdbm'
linking shared-object objspace.so
linking shared-object readline.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/objspace'
linking shared-object json/ext/parser.so
linking shared-object pathname.so
linking shared-object stringio.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/readline'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/json/parser'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/pathname'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/stringio'
linking shared-object strscan.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/strscan'
linking shared-object json/ext/generator.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/json/generator'
linking shared-object socket.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/socket'
linking shared-object zlib.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/zlib'
linking shared-object psych.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/psych'
linking shared-object bigdecimal.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/bigdecimal'
linking shared-object nkf.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/nkf'
linking shared-object date_core.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/date'
linking shared-object ripper.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8/ext/ripper'
make[1]: Leaving directory '/usr/local/rvm/src/ruby-2.3.8'
make: *** [uncommon.mk:203: build-ext] Error 2
++ return 2