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/1636428487_ruby-2.2.10/make.log
[2021-11-09 12:28:58] __rvm_make
__rvm_make () 
{ 
    \make "$@" || return $?
}
current path: /usr/local/rvm/src/ruby-2.2.10
PATH=/usr/share/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/rvm/bin
command(2): __rvm_make -j64
++ make -j64
translating probes probes.d
	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.2  -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) 
compiling main.c
compiling dmydln.c
compiling miniinit.c
compiling miniprelude.c
compiling bignum.c
compiling class.c
compiling compar.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 io.c
compiling marshal.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 ruby.c
compiling safe.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
compiling ./enc/ascii.c
compiling ./enc/us_ascii.c
compiling ./enc/unicode.c
compiling ./enc/utf_8.c
compiling newline.c
compiling ./missing/setproctitle.c
compiling ./missing/strlcat.c
compiling ./missing/strlcpy.c
compiling addr2line.c
compiling dmyext.c
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 dmyenc.c
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)
                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
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 complex.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 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]
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]
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 dln.c
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]
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 localeinit.c
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]
encoding.c: In function ‘rb_enc_associate_index’:
encoding.c:825:2: warning: implicit declaration of function ‘rb_str_change_terminator_length’; did you mean ‘rb_str_fill_terminator’? [-Wimplicit-function-declaration]
  rb_str_change_terminator_length(obj, oldtermlen, termlen);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  rb_str_fill_terminator
In file included from method.h:14,
                 from vm_core.h:24,
                 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 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]
compiling prelude.c
encoding.c: In function ‘rb_enc_get_index’:
encoding.c:771:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (NIL_P(obj)) break;
     ^
encoding.c:772:7: note: here
       case T_DATA:
       ^~~~
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)
                              ^
compiling array.c
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
encoding.c: In function ‘enc_capable’:
encoding.c:731:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (is_data_encoding(obj)) return TRUE;
     ^
encoding.c:732:7: note: here
       default:
       ^~~~~~~
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]
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 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 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 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 method.h:14,
                 from vm_core.h:24,
                 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 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)
                              ^
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]
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]
compiling eval.c
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]
compiling load.c
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 method.h:14,
                 from vm_core.h:24,
                 from safe.c:22:
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 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]
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]
compiling gc.c
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 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]
addr2line.c: In function ‘kvprintf’:
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)
                              ^
addr2line.c:960:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (!dot) {
       ^
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]
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
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:24,
                 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]
marshal.c: In function ‘r_object0’:
marshal.c:1740:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (bs & 1) --dst;
       ^
marshal.c:1741:9: note: here
         default: bs = 0; break;
         ^~~~~~~
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]
marshal.c: In function ‘load_mantissa’:
marshal.c:364:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
        default: m = *buf++ & 0xff;
                 ~~^~~~~~~~~~~~~~~
marshal.c:366:8: note: here
        case 3: m = (m << 8) | (*buf++ & 0xff);
        ^~~~
marshal.c:366:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
        case 3: m = (m << 8) | (*buf++ & 0xff);
                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
marshal.c:369:8: note: here
        case 2: m = (m << 8) | (*buf++ & 0xff);
        ^~~~
marshal.c:369:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
        case 2: m = (m << 8) | (*buf++ & 0xff);
                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
marshal.c:372:8: note: here
        case 1: m = (m << 8) | (*buf++ & 0xff);
        ^~~~
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 method.h:14,
                 from vm_core.h:24,
                 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]
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':
   ^~~~
compiling hash.c
In file included from random.c:1245:
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:
  ^~~~
random.c: In function ‘rand_range’:
random.c:1036:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case T_FLOAT: {
                     ^
random.c:1042:7: note: here
       default:
       ^~~~~~~
random.c: In function ‘random_load’:
random.c:632:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  seed = ary[2];
  ~~~~~^~~~~~~~
random.c:633:7: note: here
       case 2:
       ^~~~
random.c:634:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  left = ary[1];
  ~~~~~^~~~~~~~
random.c:635:7: note: here
       case 1:
       ^~~~
st.c: In function ‘st_hash’:
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1497:25: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                         ^~~~~~~~~~~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1497:25: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                         ^~~~~~~~~~~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1497:43: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                                           ^~~~~~~~~~~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
  t |= data_at(n) << CHAR_BIT*(n)
  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1497:43: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                                           ^~~~~~~~~~~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 # define UNALIGNED_ADD(n) case (n) + 1: \
                           ^~~~
st.c:1497:61: note: in expansion of macro ‘UNALIGNED_ADD’
 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0)
                                                             ^~~~~~~~~~~~~
st.c:1499: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:1505:27: note: in expansion of macro ‘UNALIGNED_ADD_8’
 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
  UNALIGNED_ADD_ALL;
  ^~~~~~~~~~~~~~~~~
compiling object.c
signal.c: In function ‘ruby_signal’:
signal.c:597: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:626: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;
         ^
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);
      ^
signal.c: In function ‘default_handler’:
signal.c:1045: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:1050: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;
                ^
signal.c: In function ‘Init_signal’:
signal.c:1456: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:1338:75: note: in definition of macro ‘install_sighandler’
 #  define install_sighandler(signum, handler) (install_sighandler(signum, handler) ? rb_bug(#signum) : (void)0)
                                                                           ^~~~~~~
signal.c:1459: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:1338:75: note: in definition of macro ‘install_sighandler’
 #  define install_sighandler(signum, handler) (install_sighandler(signum, handler) ? rb_bug(#signum) : (void)0)
                                                                           ^~~~~~~
signal.c:1465: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:1338:75: note: in definition of macro ‘install_sighandler’
 #  define install_sighandler(signum, handler) (install_sighandler(signum, handler) ? rb_bug(#signum) : (void)0)
                                                                           ^~~~~~~
vm_trace.c: In function ‘rb_tracepoint_enable’:
vm_trace.c:1014: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:1018: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:1033: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:1036: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);
                                 ^
compiling parse.c
sprintf.c: In function ‘rb_str_format’:
sprintf.c:653:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
      p--;
      ~^~
sprintf.c:654:4: note: here
    case '%':
    ^~~~
util.c: In function ‘ruby_strtod’:
util.c:1979:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
             sign = 1;
             ~~~~~^~~
util.c:1981:11: note: here
           case '+':
           ^~~~
util.c:2143:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
             esign = 1;
             ~~~~~~^~~
util.c:2144:11: note: here
           case '+':
           ^~~~
ruby.c: In function ‘proc_options’:
ruby.c:778:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
      opt->do_print = TRUE;
ruby.c:780:4: note: here
    case 'n':
    ^~~~
ruby.c:804:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
      opt->verbose = 1;
      ~~~~~~~~~~~~~^~~
ruby.c:805:4: note: here
    case 'w':
    ^~~~
ruby.c:1111:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (!s[1])
         ^
ruby.c:1114:4: note: here
    default:
    ^~~~~~~
In file included from sprintf.c:1261:
vsnprintf.c: In function ‘BSD_vfprintf’:
vsnprintf.c:880:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (prec != 0)
       ^
vsnprintf.c:882:3: note: here
   case 'g':
   ^~~~
compiling string.c
util.c: In function ‘ruby_dtoa’:
util.c:3318:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
         leftright = 0;
         ~~~~~~~~~~^~~
util.c:3320:7: note: here
       case 4:
       ^~~~
util.c:3326:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
         leftright = 0;
         ~~~~~~~~~~^~~
util.c:3328:7: note: here
       case 5:
       ^~~~
re.c: In function ‘unescape_nonascii’:
re.c:2313:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
                 {
                 ^
re.c:2324:15: note: here
               case '0': /* \0, \0O, \0OO */
               ^~~~
process.c: In function ‘handle_fork_error’:
process.c:3217: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);
                        ^
re.c: In function ‘read_escaped_byte’:
re.c:2086:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
         if (p == end || *p++ != '-') {
             ~~~~~~~~~^~~~~~~~~~~~~~
re.c:2090:7: note: here
       case 'c': /* \cX, \c\M-X */
       ^~~~
time.c: In function ‘utc_offset_arg’:
time.c:2080:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
      n += (s[7] * 10 + s[8] - '0' * 11);
      ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
time.c:2081:4: note: here
    case 6:
    ^~~~
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:369:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define ID2SYM(x) (rb_id2sym(x))
                   ~^~~~~~~~~~~~~
iseq.c:1182:7: note: in expansion of macro ‘ID2SYM’
  op = ID2SYM(op);
       ^~~~~~
iseq.c:1184:7: note: here
       case TS_VALUE:  /* VALUE */
       ^~~~
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]
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]
processing probes in object files
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: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]
compile.c: In function ‘iseq_compile_each’:
compile.c:4189:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
      boff = 1;
      ~~~~~^~~
compile.c:4190:4: note: here
    default:
    ^~~~~~~
compile.c:4625:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
      flag |= VM_CALL_VCALL;
compile.c:4627:4: note: here
    case NODE_FCALL:
    ^~~~
compile.c:4504:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (node->nd_mid == idAREF && !private_recv_p(node) && node->nd_args &&
     ^
compile.c:4519:7: note: here
       case NODE_FCALL:
       ^~~~
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 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 ‘defined_expr0’:
compile.c:2982:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case NODE_ARRAY:{
                       ^
compile.c:2994:7: note: here
       case NODE_STR:
       ^~~~
gc.c: In function ‘make_io_zombie’:
gc.c:1843: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 parse.y: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]
load.c: In function ‘search_required’:
load.c:927:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (ft) {
     ^
load.c:932:7: note: here
       case 1:
       ^~~~
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 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]
In file included from vm.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]
hash.c: In function ‘rb_hash_s_create’:
hash.c:622:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
       val = RARRAY_AREF(v, 1);
hash.c:623:5: note: here
     case 1:
     ^~~~
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:648:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define NUM2INT(x) rb_num2int_inline(x)
                    ^~~~~~~~~~~~~~~~~~~~
object.c:2801:9: note: in expansion of macro ‘NUM2INT’
  base = NUM2INT(argv[1]);
         ^~~~~~~
object.c:2802:7: note: here
       case 1:
       ^~~~
array.c: In function ‘rb_ary_rindex’:
array.c:1530:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (!rb_equal(e, val)) break;
         ^
array.c:1531:4: note: here
    case Qtrue:
    ^~~~
array.c: In function ‘rb_ary_index’:
array.c:1467:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (!rb_equal(e, val)) break;
         ^
array.c:1468:4: note: here
    case Qtrue:
    ^~~~
gc.c: In function ‘internal_object_p’:
gc.c:2191:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
      if (FL_TEST(p, FL_SINGLETON))
         ^
gc.c:2193:4: note: here
    default:
    ^~~~~~~
io.c: In function ‘rb_io_s_popen’:
io.c:6303:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
  pmode = argv[1];
  ~~~~~~^~~~~~~~~
io.c:6304:7: note: here
       case 1:
       ^~~~
In file included from vm.c:102:
vm_eval.c: In function ‘rb_eval_string_protect’:
vm_eval.c:1476: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);
                       ^
parse.y: In function ‘ruby_yyparse’:
parse.y:378: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:364: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:3971:15: note: in expansion of macro ‘NEW_NODE’
        node = NEW_NODE(NODE_DSTR, STR_NEW0(), 1, NEW_LIST(node));
               ^~~~~~~~
parse.y:3972:6: note: here
      case NODE_DSTR:
      ^~~~
parse.y:324:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define yyerror(msg) parser_yyerror(parser, (msg))
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
parse.y:4996:5: note: in expansion of macro ‘yyerror’
     yyerror("can't define singleton method for literals");
     ^~~~~~~
parse.y:4997:10: note: here
          default:
          ^~~~~~~
parse.y: In function ‘parser_yylex’:
parse.y:7983:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
   if ((c = nextc()) != '.') {
      ^
parse.y:7992:8: note: here
        default:
        ^~~~~~~
parse.y:7994:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
   lex_nextline = lex_lastline;
parse.y:7995:8: note: here
        case -1:  /* EOF no decrement*/
        ^~~~
parse.y:8342:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  paren_nest--;
parse.y:8343:7: note: here
       case '}':
       ^~~~
parse.y: In function ‘parser_here_document’:
parse.y:6697:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (--pend == p || pend[-1] != '\r') {
           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
parse.y:6701:5: note: here
     case '\r':
     ^~~~
parse.y: In function ‘parser_read_escape’:
parse.y:6003:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ((c = nextc()) != '-') {
     ^
parse.y:6007:7: note: here
       case 'c':
       ^~~~
parse.y: In function ‘parse_gvar’:
parse.y:7707:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (!parser_is_identchar()) {
      ^
parse.y:7712:7: note: here
       case '0':
       ^~~~
parse.y: In function ‘is_static_content’:
parse.y:9515:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (!(node = node->nd_head)) break;
     ^
parse.y:9516:7: note: here
       case NODE_ARRAY:
       ^~~~
In file included from vm_exec.c:120,
                 from vm.c:99:
insns.def: In function ‘vm_exec_core’:
insns.def:1315:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case T_FLOAT: {
                     ^
insns.def:1321:7: note: here
       case T_SYMBOL: /* fall through */
       ^~~~
In file included from vm.c:97:
vm_insnhelper.c: In function ‘vm_search_super_method’:
vm_insnhelper.c:1954:2: warning: this statement may fall through [-Wimplicit-fallthrough=]
  vm_super_outside();
  ^~~~~~~~~~~~~~~~~~
vm_insnhelper.c:1955:7: note: here
       case -2:
       ^~~~
string.c: In function ‘rb_str_enumerate_chars’:
string.c:6964:3: warning: ‘ary’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   rb_ary_push(ary, substr);
   ^~~~~~~~~~~~~~~~~~~~~~~~
linking miniruby
generating encdb.h
rbconfig.rb updated
generating enc.mk
creating verconf.h
encdb.h updated
verconf.h updated
compiling loadpath.c
making srcs under enc
make[1]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[1]: Nothing to be done for 'srcs'.
make[1]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10'
generating transdb.h
linking static-library libruby-static.a
transdb.h updated
verifying static-library libruby-static.a
linking shared-library libruby.so.2.2.0
generating makefile exts.mk
making enc
making trans
make[1]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[1]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
compiling ./enc/encdb.c
compiling ./enc/cp949.c
compiling ./enc/euc_jp.c
compiling ./enc/euc_tw.c
compiling ./enc/trans/transdb.c
compiling ./enc/big5.c
compiling ./enc/emacs_mule.c
compiling ./enc/euc_kr.c
compiling ./enc/trans/big5.c
compiling ./enc/trans/emoji_sjis_docomo.c
compiling ./enc/trans/chinese.c
compiling ./enc/gb2312.c
compiling ./enc/gb18030.c
compiling ./enc/gbk.c
compiling ./enc/iso_8859_1.c
compiling ./enc/trans/emoji.c
compiling ./enc/trans/emoji_iso2022_kddi.c
compiling ./enc/iso_8859_4.c
compiling ./enc/trans/emoji_sjis_kddi.c
compiling ./enc/trans/emoji_sjis_softbank.c
compiling ./enc/trans/gbk.c
compiling ./enc/iso_8859_3.c
compiling ./enc/trans/gb18030.c
compiling ./enc/trans/escape.c
compiling ./enc/iso_8859_2.c
compiling ./enc/trans/japanese_sjis.c
compiling ./enc/trans/japanese.c
compiling ./enc/iso_8859_5.c
compiling ./enc/trans/iso2022.c
compiling ./enc/iso_8859_6.c
compiling ./enc/iso_8859_10.c
compiling ./enc/iso_8859_9.c
compiling ./enc/iso_8859_7.c
compiling ./enc/trans/japanese_euc.c
compiling ./enc/iso_8859_8.c
compiling ./enc/trans/korean.c
compiling ./enc/iso_8859_11.c
compiling ./enc/trans/single_byte.c
compiling ./enc/iso_8859_13.c
compiling ./enc/trans/utf8_mac.c
compiling ./enc/trans/utf_16_32.c
compiling ./enc/iso_8859_14.c
compiling ./enc/iso_8859_15.c
compiling ./enc/iso_8859_16.c
compiling ./enc/koi8_r.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
compiling ./enc/windows_31j.c
compiling ./enc/utf_32le.c
compiling ./enc/windows_1250.c
compiling ./enc/windows_1251.c
compiling ./enc/windows_1252.c
configuring -test-/array/resize
configuring -test-/bignum
configuring -test-/bug-3571
configuring -test-/bug-3662
configuring -test-/bug-5832
configuring -test-/bug_reporter
configuring -test-/class
configuring -test-/debug
linking transcoder transdb.so
configuring -test-/dln/empty
configuring -test-/exception
configuring -test-/fatal
configuring -test-/file
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 euc_tw.so
linking encoding cp949.so
linking encoding encdb.so
linking encoding iso_8859_13.so
linking encoding big5.so
linking encoding iso_8859_5.so
linking encoding iso_8859_8.so
linking encoding iso_8859_6.so
linking transcoder japanese.so
linking encoding euc_kr.so
linking encoding iso_8859_11.so
linking encoding iso_8859_10.so
linking encoding iso_8859_7.so
linking encoding iso_8859_4.so
linking encoding iso_8859_2.so
linking encoding gb2312.so
linking encoding iso_8859_15.so
linking encoding iso_8859_14.so
linking encoding iso_8859_3.so
linking encoding koi8_u.so
linking encoding iso_8859_9.so
linking encoding windows_1251.so
linking encoding gbk.so
linking encoding iso_8859_16.so
linking encoding koi8_r.so
linking transcoder escape.so
linking encoding windows_1250.so
linking encoding iso_8859_1.so
linking encoding windows_1252.so
linking encoding utf_32be.so
linking encoding utf_32le.so
linking encoding utf_16le.so
linking encoding utf_16be.so
linking transcoder iso2022.so
linking encoding emacs_mule.so
linking encoding gb18030.so
linking encoding shift_jis.so
linking transcoder emoji.so
linking encoding windows_31j.so
linking encoding euc_jp.so
linking transcoder utf_16_32.so
make[1]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10'
linking transcoder single_byte.so
linking transcoder emoji_sjis_softbank.so
linking transcoder emoji_sjis_kddi.so
linking transcoder emoji_sjis_docomo.so
linking transcoder japanese_sjis.so
linking transcoder gb18030.so
linking transcoder emoji_iso2022_kddi.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-/hash
configuring -test-/iseq_load
configuring -test-/iter
configuring -test-/load/dot.dot
configuring -test-/marshal/compat
configuring -test-/marshal/usr
configuring -test-/method
configuring -test-/num2int
configuring -test-/path_to_class
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-/tracepoint
configuring -test-/typeddata
configuring -test-/vm
configuring -test-/wait_for_single_fd
configuring -test-/win32/console
Failed to configure -test-/win32/console. It will not be installed.
configuring -test-/win32/dln
Failed to configure -test-/win32/dln. It will not be installed.
configuring -test-/win32/fd_setsize
Failed to configure -test-/win32/fd_setsize. It will not be installed.
configuring bigdecimal
linking transcoder big5.so
make[1]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10'
making encs
make[1]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[1]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10'
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 win32
Failed to configure win32. It will not be installed.
configuring win32ole
Failed to configure win32ole. It will not be installed.
configuring zlib
make[1]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling init.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling class2name.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling resize.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling bug.c
compiling bug.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling bug.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling bug_reporter.c
compiling empty.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling iseq_load.c
compiling str2big.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling init.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
compiling mul.c
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling rb_fatal.c
compiling fs.c
compiling inspector.c
compiling ensured.c
compiling init.c
compiling init.c
compiling passing_block.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling yield.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
compiling init.c
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling profile_frames.c
compiling nextafter.c
compiling intpack.c
compiling div.c
compiling break.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling init.c
compiling delete.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling dataerror.c
compiling path_to_class.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling num2int.c
compiling usrcompat.c
compiling big2str.c
compiling init.c
compiling printf.c
compiling init.c
compiling stat.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling enc_raise.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling usrmarshal.c
compiling init.c
compiling dot.dot.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling numhash.c
compiling super.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling arity.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
compiling postponed_job.c
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling bigzero.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling update.c
compiling duplicate.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
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.2.10/ext/-test-/win32/console'
compiling init.c
compiling member.c
compiling init.c
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/win32/dln'
compiling at_exit.c
compiling wait_for_single_fd.c
compiling type.c
compiling typeddata.c
compiling init.c
compiling rat.c
compiling recursion.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling foreach.c
compiling nofree.c
compiling receiver.c
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/win32/fd_setsize'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling tracepoint.c
compiling qsort.c
compiling gc_hook.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling bigdecimal.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling cstr.c
compiling continuation.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
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.2.10/ext/dbm'
compiling date_strptime.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling date_core.c
compiling coverage.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling digest.c
compiling bubblebabble.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling date_strftime.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling md5init.c
linking shared-object -test-/dln/empty.so
compiling rmd160init.c
compiling md5ossl.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling modify.c
compiling sha1init.c
compiling date_parse.c
linking shared-object -test-/load/dot.dot/dot.dot.so
compiling sha2init.c
compiling rmd160ossl.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling sha1ossl.c
compiling enc_str_buf_cat.c
compiling sha2ossl.c
generating constant definitions
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
installing default bigdecimal libraries
compiling fcntl.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
installing digest libraries
installing default date_core libraries
compiling normalize.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling fiber.c
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]
installing default digest libraries
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 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]
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]
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling conversions.c
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/gdbm'
compiling enc_associate.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
installing default sha2 libraries
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling nonblock.c
compiling console.c
compiling init.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling function.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling etc.c
linking shared-object -test-/array/resize.so
compiling wait.c
In file included from ../../method.h:14,
                 from ../../vm_core.h:24,
                 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]
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]
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/load/dot.dot'
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]
compiling handle.c
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]
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/dln/empty'
linking shared-object -test-/path_to_class/path_to_class.so
linking shared-object -test-/bug-3571/bug.so
linking shared-object -test-/hash.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling closure.c
sha2init.c:21: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:12:30: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
 #define FOREACH_BITLEN(func) func(256) func(384) func(512)
                              ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
 FOREACH_BITLEN(DEFINE_ALGO_METADATA)
 ^~~~~~~~~~~~~~
sha2init.c:22:5: warning: cast between incompatible function types from ‘void (*)(SHA256_CTX *, char *)’ {aka ‘void (*)(struct SHA256state_st *, char *)’} to ‘int (*)(void *, unsigned char *)’ [-Wcast-function-type]
     (rb_digest_hash_finish_func_t)SHA##bitlen##_Finish, \
     ^
sha2init.c:12:30: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
 #define FOREACH_BITLEN(func) func(256) func(384) func(512)
                              ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
 FOREACH_BITLEN(DEFINE_ALGO_METADATA)
 ^~~~~~~~~~~~~~
linking shared-object -test-/class.so
sha2init.c:21: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:12:40: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
 #define FOREACH_BITLEN(func) func(256) func(384) func(512)
                                        ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
 FOREACH_BITLEN(DEFINE_ALGO_METADATA)
 ^~~~~~~~~~~~~~
sha2init.c:22:5: warning: cast between incompatible function types from ‘void (*)(SHA384_CTX *, char *)’ {aka ‘void (*)(struct SHA512state_st *, char *)’} to ‘int (*)(void *, unsigned char *)’ [-Wcast-function-type]
     (rb_digest_hash_finish_func_t)SHA##bitlen##_Finish, \
     ^
sha2init.c:12:40: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
 #define FOREACH_BITLEN(func) func(256) func(384) func(512)
                                        ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
 FOREACH_BITLEN(DEFINE_ALGO_METADATA)
 ^~~~~~~~~~~~~~
sha2init.c:21: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:12:50: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
 #define FOREACH_BITLEN(func) func(256) func(384) func(512)
                                                  ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
 FOREACH_BITLEN(DEFINE_ALGO_METADATA)
 ^~~~~~~~~~~~~~
sha2init.c:22:5: warning: cast between incompatible function types from ‘void (*)(SHA512_CTX *, char *)’ {aka ‘void (*)(struct SHA512state_st *, char *)’} to ‘int (*)(void *, unsigned char *)’ [-Wcast-function-type]
     (rb_digest_hash_finish_func_t)SHA##bitlen##_Finish, \
     ^
sha2init.c:12:50: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
 #define FOREACH_BITLEN(func) func(256) func(384) func(512)
                                                  ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
 FOREACH_BITLEN(DEFINE_ALGO_METADATA)
 ^~~~~~~~~~~~~~
compiling fiddle.c
linking shared-object -test-/funcall/funcall.so
linking shared-object -test-/iseq_load/iseq_load.so
compiling ellipsize.c
sha1init.c:18: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,
     ^
sha1init.c:19:5: warning: cast between incompatible function types from ‘void (*)(SHA_CTX *, char *)’ {aka ‘void (*)(struct SHAstate_st *, char *)’} to ‘int (*)(void *, unsigned char *)’ [-Wcast-function-type]
     (rb_digest_hash_finish_func_t)SHA1_Finish,
     ^
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,
     ^
rmd160init.c:19:5: warning: cast between incompatible function types from ‘void (*)(RIPEMD160_CTX *, char *)’ {aka ‘void (*)(struct RIPEMD160state_st *, char *)’} to ‘int (*)(void *, unsigned char *)’ [-Wcast-function-type]
     (rb_digest_hash_finish_func_t)RMD160_Finish,
     ^
linking shared-object -test-/fatal/rb_fatal.so
compiling generator.c
linking shared-object -test-/exception.so
linking shared-object -test-/bug-3662/bug.so
linking shared-object -test-/wait_for_single_fd/wait_for_single_fd.so
compiling pointer.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
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':
    ^~~~
md5init.c:18: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,
     ^
md5init.c:19:5: warning: cast between incompatible function types from ‘void (*)(MD5_CTX *, unsigned char *)’ {aka ‘void (*)(struct MD5state_st *, unsigned char *)’} to ‘int (*)(void *, unsigned char *)’ [-Wcast-function-type]
     (rb_digest_hash_finish_func_t)MD5_Finish,
     ^
linking shared-object -test-/bug_reporter/bug_reporter.so
linking shared-object -test-/typeddata/typeddata.so
linking shared-object -test-/float.so
linking shared-object -test-/st/update.so
linking shared-object -test-/vm/at_exit.so
linking shared-object -test-/marshal/usr.so
linking shared-object -test-/marshal/compat.so
linking shared-object -test-/method.so
compiling set_len.c
linking shared-object fiber.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object -test-/postponed_job.so
compiling coderange.c
compiling complex.c
linking shared-object -test-/recursion.so
linking shared-object -test-/debug.so
compiling rational.c
compiling parser.c
linking shared-object -test-/symbol.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object -test-/tracepoint.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
installing default console libraries
linking shared-object -test-/num2int/num2int.so
linking shared-object continuation.so
linking shared-object -test-/file.so
compiling nkf.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling objspace.c
linking shared-object -test-/bug-5832/bug.so
linking shared-object -test-/proc.so
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.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object -test-/st/numhash.so
linking shared-object -test-/iter.so
linking shared-object digest/sha2.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/array/resize'
installing default fiddle libraries
linking shared-object -test-/st/foreach.so
compiling pathname.c
compiling object_tracing.c
compiling ossl_x509.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/funcall'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/typeddata'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object -test-/printf.so
linking shared-object -test-/struct.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/fatal'
compiling psych_yaml_tree.c
installing default pathname libraries
installing default nkf libraries
compiling psych_emitter.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/bug-3571'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/path_to_class'
linking shared-object digest/rmd160.so
compiling ossl_x509req.c
linking shared-object -test-/rational.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/iseq_load'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/vm'
compiling objspace_dump.c
linking shared-object fcntl.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/st/update'
linking shared-object mathn/rational.so
linking shared-object digest/sha1.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/hash'
compiling ossl_x509cert.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/bug-3662'
compiling pty.c
linking shared-object digest/md5.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/method'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/symbol'
linking shared-object digest/bubblebabble.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/class'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/wait_for_single_fd'
linking shared-object mathn/complex.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/postponed_job'
linking shared-object -test-/bignum.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/marshal/usr'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/recursion'
compiling cparse.c
compiling readline.c
compiling sizes.c
compiling psych_parser.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/marshal/compat'
installing default libraries
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/json'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
installing default pty libraries
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/exception'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/float'
compiling psych_to_ruby.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling ossl_bn.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling psych.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/bug_reporter'
date_core.c: In function ‘datetime_s_jisx0301’:
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/debug'
date_core.c:8151:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:8152:7: note: here
       case 1:
       ^~~~
compiling _sdbm.c
compiling ripper.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/fiber'
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/tracepoint'
linking shared-object coverage.so
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling stringio.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
generating constant definitions
generating constant definitions
compiling init.c
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;
         ^~~~
date_core.c: In function ‘datetime_s_httpdate’:
date_core.c:8121:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 01 Jan -4712 00:00:00 GMT");
date_core.c:8122:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘datetime_s_rfc2822’:
date_core.c:8091:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 1 Jan -4712 00:00:00 +0000");
compiling ../.././ext/psych/yaml/parser.c
date_core.c:8092:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘datetime_s_xmlschema’:
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/file'
date_core.c:8060:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
installing default socket libraries
date_core.c:8061:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘datetime_s_rfc3339’:
date_core.c:8030:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:8031:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘datetime_s_iso8601’:
compiling strscan.c
date_core.c:8000:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:8001:7: note: here
       case 1:
       ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/num2int'
date_core.c: In function ‘datetime_s_parse’:
date_core.c:7960:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
compiling syslog.c
date_core.c:7961:7: note: here
       case 1:
       ^~~~
compiling ossl_x509store.c
date_core.c:7962:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  comp = Qtrue;
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
date_core.c:7963:7: note: here
       case 2:
       ^~~~
date_core.c: In function ‘datetime_s_strptime’:
date_core.c:7917:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:7918:7: note: here
       case 1:
       ^~~~
date_core.c:7919:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  fmt = rb_str_new2("%FT%T%z");
date_core.c:7920:7: note: here
       case 2:
       ^~~~
date_core.c: In function ‘datetime_s_commercial’:
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/bug-5832'
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7480:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:7481:7: note: here
       case 7:
       ^~~~
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
date_core.c:4689:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7482:2: note: in expansion of macro ‘val2off’
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7483:7: note: here
       case 6:
       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7484:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:7485:7: note: here
       case 5:
       ^~~~
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/tk'
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7486:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(min, 5);
  ^~~~~~~~~~~~~~~~~
date_core.c:7487:7: note: here
       case 4:
       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7488:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(h, 4);
  ^~~~~~~~~~~~~~~~~
date_core.c:7489:7: note: here
       case 3:
       ^~~~
compiling ../.././ext/psych/yaml/api.c
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7490:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, 3);
  ^~~~~~~~~~~~~~~~~
date_core.c:7491:7: note: here
       case 2:
       ^~~~
compiling ../.././ext/psych/yaml/loader.c
In file included from ../.././include/ruby.h:33,
                 from date_core.c:5:
../.././include/ruby/ruby.h:648:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define NUM2INT(x) rb_num2int_inline(x)
                    ^~~~~~~~~~~~~~~~~~~~
date_core.c:7492:6: note: in expansion of macro ‘NUM2INT’
  w = NUM2INT(vw);
      ^~~~~~~
date_core.c:7493:7: note: here
       case 1:
       ^~~~
compiling thread.c
date_core.c: In function ‘datetime_s_civil’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7383:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:7384:7: note: here
       case 7:
       ^~~~
date_core.c:4689:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7385:2: note: in expansion of macro ‘val2off’
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7386:7: note: here
       case 6:
       ^~~~
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]
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7387:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:7388:7: note: here
       case 5:
       ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/proc'
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7389:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(min, 5);
  ^~~~~~~~~~~~~~~~~
date_core.c:7390:7: note: here
       case 4:
       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7391:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(h, 4);
  ^~~~~~~~~~~~~~~~~
date_core.c:7392:7: note: here
       case 3:
       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7393:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, 3);
  ^~~~~~~~~~~~~~~~~
date_core.c:7394:7: note: here
       case 2:
       ^~~~
In file included from ../.././include/ruby.h:33,
                 from date_core.c:5:
../.././include/ruby/ruby.h:648:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define NUM2INT(x) rb_num2int_inline(x)
                    ^~~~~~~~~~~~~~~~~~~~
date_core.c:7395:6: note: in expansion of macro ‘NUM2INT’
  m = NUM2INT(vm);
      ^~~~~~~
date_core.c:7396:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘datetime_s_ordinal’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7306:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
parser.c: In function ‘cParser_parse_quirks_mode’:
date_core.c:7307:7: note: here
       case 6:
       ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/st/foreach'
parser.c:1960:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1962:1: note: here
 case 1:
 ^~~~
parser.rl:795:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
             begin_value >parse_value
     ^
parser.rl:797:1: note: here
 }%%
 ^~~ 
parser.c:2007:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2009:1: note: here
 case 2:
 ^~~~
parser.c:2016:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2018:1: note: here
 case 3:
 ^~~~
parser.c:2023:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2025:1: note: here
 case 4:
 ^~~~
parser.c:2032:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2034:1: note: here
 case 5:
 ^~~~
parser.c:2039:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2041:1: note: here
 case 6:
 ^~~~
parser.c:2048:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2050:1: note: here
 case 7:
 ^~~~
parser.c:2055:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2057:1: note: here
 case 8:
 ^~~~
parser.c:2064:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:2066:1: note: here
 case 9:
 ^~~~
date_core.c:4689:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7308:2: note: in expansion of macro ‘val2off’
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7309:7: note: here
       case 5:
       ^~~~
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7310:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:7311:7: note: here
       case 4:
       ^~~~
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:
 ^~~~
parser.c:651:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:653:1: note: here
 case 5:
 ^~~~
compiling ossl_ns_spki.c
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:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7312:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(min, 4);
  ^~~~~~~~~~~~~~~~~
date_core.c:7313:7: note: here
       case 3:
       ^~~~
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/tk/tkutil'
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7314:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(h, 3);
  ^~~~~~~~~~~~~~~~~
date_core.c:7315:7: note: here
       case 2:
       ^~~~
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:
 ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/iter'
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7316:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, 2);
  ^~~~~~~~~~~~~~~~~
date_core.c:7317:7: note: here
       case 1:
       ^~~~
compiling ossl_engine.c
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 )
     ^
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: In function ‘datetime_s_jd’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:7237:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:7238:7: note: here
       case 5:
       ^~~~
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:4689:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!offset_to_sec(vof, &iof)) {\
        ^
date_core.c:7239:2: note: in expansion of macro ‘val2off’
  val2off(vof, rof);
  ^~~~~~~
date_core.c:7240:7: note: here
       case 4:
       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7241:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(s, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:7242:7: note: here
       case 3:
       ^~~~
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:
 ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7243:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(min, 3);
  ^~~~~~~~~~~~~~~~~
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:7244:7: note: here
       case 2:
       ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/mathn/rational'
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:7245:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(h, 2);
  ^~~~~~~~~~~~~~~~~
date_core.c:7246:7: note: here
       case 1:
       ^~~~
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:1786:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1788:1: note: here
 case 1:
 ^~~~
parser.c:1803:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1805:1: note: here
 case 2:
 ^~~~
parser.c:1812:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1814:1: note: here
 case 3:
 ^~~~
parser.c:1819:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1821:1: note: here
 case 4:
 ^~~~
parser.c:1828:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1830:1: note: here
 case 5:
 ^~~~
parser.rl:749:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
         char *np;
     ^
parser.rl:751:1: note: here
         np = JSON_parse_array(json, fpc, pe, &result);
 ^   
parser.c:1866:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1868:1: note: here
 case 6:
 ^~~~
parser.c:1875:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1877:1: note: here
 case 7:
 ^~~~
parser.c:1882:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1884:1: note: here
 case 8:
 ^~~~
parser.c:1891:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ( ++p == pe )
     ^
parser.c:1893:1: note: here
 case 9:
 ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/continuation'
compiling ossl_config.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/struct'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/st/numhash'
compiling ossl_pkey.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
compiling ../.././ext/psych/yaml/emitter.c
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/win32'
installing default syslog libraries
compiling ../.././ext/psych/yaml/writer.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
linking shared-object io/nonblock.so
compiling ossl_asn1.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/printf'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/win32ole'
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]
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/-test-/rational'
compiling ossl_pkey_rsa.c
date_core.c: In function ‘date_s_jisx0301’:
date_core.c:4624:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4625:7: note: here
       case 1:
       ^~~~
compiling ../.././ext/psych/yaml/dumper.c
date_core.c: In function ‘date_s_httpdate’:
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/fcntl'
date_core.c:4583:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 01 Jan -4712 00:00:00 GMT");
date_core.c:4584:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_rfc2822’:
date_core.c:4541:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("Mon, 1 Jan -4712 00:00:00 +0000");
date_core.c:4542:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_xmlschema’:
date_core.c:4497:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4498:7: note: here
       case 1:
       ^~~~
compiling ../.././ext/psych/yaml/scanner.c
date_core.c: In function ‘date_s_rfc3339’:
objspace.c: In function ‘total_i’:
objspace.c:64:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
   if (FL_TEST(v, FL_SINGLETON))
      ^
objspace.c:66:8: note: here
        default:
        ^~~~~~~
date_core.c:4456:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:4457:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_iso8601’:
compiling ../.././ext/psych/yaml/reader.c
date_core.c:4415:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/mathn/complex'
date_core.c:4416:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_parse’:
date_core.c:4359:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4360:7: note: here
       case 1:
       ^~~~
date_core.c:4361:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  comp = Qtrue;
date_core.c:4362:7: note: here
       case 2:
       ^~~~
date_core.c: In function ‘date_s_strptime’:
date_core.c:4268:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  str = rb_str_new2("-4712-01-01");
date_core.c:4269:7: note: here
       case 1:
       ^~~~
date_core.c:4270:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  fmt = rb_str_new2("%F");
date_core.c:4271:7: note: here
       case 2:
       ^~~~
date_core.c: In function ‘date_s_commercial’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3474:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3475:7: note: here
       case 3:
       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:3476:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:3477:7: note: here
       case 2:
       ^~~~
In file included from ../.././include/ruby.h:33,
                 from date_core.c:5:
../.././include/ruby/ruby.h:648:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define NUM2INT(x) rb_num2int_inline(x)
                    ^~~~~~~~~~~~~~~~~~~~
date_core.c:3478:6: note: in expansion of macro ‘NUM2INT’
  w = NUM2INT(vw);
      ^~~~~~~
date_core.c:3479:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_civil’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3397:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3398:7: note: here
       case 3:
       ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/digest/bubblebabble'
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:3399:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, positive_inf);
  ^~~~~~~~~~~~~~~~~
date_core.c:3400:7: note: here
       case 2:
       ^~~~
../.././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. */
                     ^~~~~~~~~~
In file included from ../.././include/ruby.h:33,
                 from date_core.c:5:
../.././include/ruby/ruby.h:648:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
 #define NUM2INT(x) rb_num2int_inline(x)
                    ^~~~~~~~~~~~~~~~~~~~
date_core.c:3401:6: note: in expansion of macro ‘NUM2INT’
  m = NUM2INT(vm);
      ^~~~~~~
date_core.c:3402:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_ordinal’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3328:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3329:7: note: here
       case 2:
       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (f_nonzero_p(fr)) {\
        ^
date_core.c:3330:2: note: in expansion of macro ‘num2int_with_frac’
  num2int_with_frac(d, positive_inf);
  ^~~~~~~~~~~~~~~~~
../.././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. */
                     ^~~~~~~~~~
date_core.c:3331:7: note: here
       case 1:
       ^~~~
date_core.c: In function ‘date_s_jd’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
     if (!c_valid_start_p(dsg)) {\
        ^
date_core.c:3276:2: note: in expansion of macro ‘val2sg’
  val2sg(vsg, sg);
  ^~~~~~
date_core.c:3277:7: note: here
       case 1:
       ^~~~
../.././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. */
                 ^~~~~~~~~~
linking shared-object io/wait.so
checking ../.././parse.y and ../.././ext/ripper/eventids2.c
make[2]: Entering directory '/usr/local/rvm/src/ruby-2.2.10'
make[2]: warning: -jN forced in submake: disabling jobserver mode.
../.././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. */
                 ^~~~~~~~~~
compiling ossl_ssl_session.c
compiling init.c
installing default ripper libraries
compiling zlib.c
In file included from ossl.h:58,
                 from ossl_x509.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."
  ^~~~~
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]
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/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,
         ~~~~~~^~~~~~~~~
compiling basicsocket.c
../.././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))
                                                        ^~~~~
In file included from ossl.h:58,
                 from ossl_x509req.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."
  ^~~~~
../.././ext/psych/yaml/emitter.c:224: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.2.10/ext/-test-/bignum'
../.././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,
         ~~~~~~^~~~~~~~~
../.././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,
         ~~~~~~^~~~~~~~~
compiling ossl_pkey_dsa.c
../.././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/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;
       ^~~~~~~
linking shared-object -test-/string/string.so
../.././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,
         ~~~~~~^~~~~~~~~
../.././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,
         ~~~~~~^~~~~~~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/coverage'
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]
In file included from ossl.h:58,
                 from ossl_x509cert.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."
  ^~~~~
../.././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: 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/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;
                  ^~~~~~~~~~~
compiling socket.c
In file included from ripper.y: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]
../.././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))
                                                ^~~
compiling ipsocket.c
../.././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,
         ~~~~~~^~~~~~~~~
In file included from ossl.h:58,
                 from ossl_bn.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."
  ^~~~~
compiling ossl_x509name.c
compiling tcpsocket.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/io/nonblock'
../.././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’:
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/digest/sha2'
../.././ext/psych/yaml/emitter.c:2196:20: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
         chomp_hint = "-";
                    ^
compiling tcpserver.c
../.././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;
                  ^~~~~~~~~~~
../.././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,
         ~~~~~~^~~~~~~~~
../.././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 sockssocket.c
compiling ossl_x509crl.c
In file included from ossl.h:58,
                 from ossl_x509store.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."
  ^~~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/digest/rmd160'
compiling udpsocket.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/digest/md5'
linking shared-object digest.so
stringio.c: In function ‘strio_read’:
stringio.c:1292:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (!NIL_P(str)) {
     ^
stringio.c:1296:7: note: here
       case 1:
       ^~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/digest/sha1'
compiling unixsocket.c
In file included from ossl.h:58,
                 from ossl_engine.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."
  ^~~~~
In file included from ossl.h:58,
                 from ossl_pkey.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."
  ^~~~~
In file included from ossl.h:58,
                 from ossl_ns_spki.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."
  ^~~~~
In file included from ossl.h:58,
                 from ossl_asn1.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."
  ^~~~~
In file included from ossl.h:58,
                 from ossl_config.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."
  ^~~~~
linking shared-object rbconfig/sizeof.so
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]
compiling ossl_digest.c
compiling ossl_x509revoked.c
compiling unixserver.c
compiling ossl_cipher.c
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/io/wait'
zlib.c: In function ‘zstream_expand_buffer_protect’:
zlib.c:697: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);
                ^
In file included from ossl.h:220,
                 from ossl_x509.c:11:
openssl_missing.h:79: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 ossl.h:58,
                 from ossl_pkey_rsa.c:13:
/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 /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:59,
                 from ossl_x509.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:58,
                 from ossl_ssl_session.c:5:
/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:234,
                 from ossl_x509.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from ossl.h:220,
                 from ossl_x509req.c:11:
openssl_missing.h:79: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:59,
                 from ossl_x509req.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_x509req.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_x509req.c: In function ‘ossl_x509req_get_signature_algorithm’:
ossl_x509req.c:311:34: error: dereferencing pointer to incomplete type ‘X509_REQ’ {aka ‘struct X509_req_st’}
     if (!i2a_ASN1_OBJECT(out, req->sig_alg->algorithm)) {
                                  ^~
compiling option.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)
                              ^
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]
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
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]
In file included from ossl.h:58,
                 from ossl_pkey_dsa.c:13:
/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."
  ^~~~~
compiling ancdata.c
In file included from ossl.h:220,
                 from ossl_x509cert.c:11:
openssl_missing.h:79: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:59,
                 from ossl_x509cert.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_x509cert.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
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.2.10/ext/-test-/string'
compiling ossl_ocsp.c
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:293: ossl_x509.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:293: ossl_x509req.o] Error 1
ossl_x509cert.c: In function ‘DupX509CertPtr’:
ossl_x509cert.c:122:5: warning: implicit declaration of function ‘CRYPTO_add’; did you mean ‘CRYPTO_free’? [-Wimplicit-function-declaration]
     CRYPTO_add(&x509->references, 1, CRYPTO_LOCK_X509);
     ^~~~~~~~~~
     CRYPTO_free
ossl_x509cert.c:122:21: error: dereferencing pointer to incomplete type ‘X509’ {aka ‘struct x509_st’}
     CRYPTO_add(&x509->references, 1, CRYPTO_LOCK_X509);
                     ^~
In file included from ossl.h:220,
                 from ossl_bn.c:12:
openssl_missing.h:79: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:59,
                 from ossl_bn.c:12:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_bn.c:12:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_bn.c: In function ‘ossl_bn_size’:
ossl_bn.c:42:19: error: invalid application of ‘sizeof’ to incomplete type ‘BIGNUM’ {aka ‘struct bignum_st’}
     return sizeof(BIGNUM);
                   ^~~~~~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/digest'
ossl_bn.c: In function ‘ossl_bn_s_generate_prime’:
ossl_bn.c:658: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:57,
                 from ossl_bn.c:12:
/usr/include/openssl/bn.h:326:1: note: declared here
 DEPRECATEDIN_0_9_8(BIGNUM *BN_generate_prime(BIGNUM *ret, int bits, int safe,
 ^~~~~~~~~~~~~~~~~~
compiling raddrinfo.c
ossl_x509cert.c:122:38: error: ‘CRYPTO_LOCK_X509’ undeclared (first use in this function); did you mean ‘CRYPTO_LOCK’?
     CRYPTO_add(&x509->references, 1, CRYPTO_LOCK_X509);
                                      ^~~~~~~~~~~~~~~~
                                      CRYPTO_LOCK
ossl_x509cert.c:122:38: note: each undeclared identifier is reported only once for each function it appears in
ossl_bn.c: In function ‘ossl_bn_is_prime’:
ossl_bn.c:809: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:57,
                 from ossl_bn.c:12:
/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:848: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:57,
                 from ossl_bn.c:12:
/usr/include/openssl/bn.h:336:1: note: declared here
 DEPRECATEDIN_0_9_8(int
 ^~~~~~~~~~~~~~~~~~
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]
In file included from ossl.h:220,
                 from ossl_x509store.c:11:
openssl_missing.h:79: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:59,
                 from ossl_x509store.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91: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:43:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
In file included from ossl.h:234,
                 from ossl_x509store.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_x509store.c: In function ‘DupX509StorePtr’:
ossl_x509store.c:97:5: warning: implicit declaration of function ‘CRYPTO_add’; did you mean ‘CRYPTO_free’? [-Wimplicit-function-declaration]
     CRYPTO_add(&store->references, 1, CRYPTO_LOCK_X509_STORE);
     ^~~~~~~~~~
     CRYPTO_free
ossl_x509store.c:97:22: error: dereferencing pointer to incomplete type ‘X509_STORE’ {aka ‘struct x509_store_st’}
     CRYPTO_add(&store->references, 1, CRYPTO_LOCK_X509_STORE);
                      ^~
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/rbconfig/sizeof'
make[2]: *** [Makefile:294: ossl_bn.o] Error 1
In file included from ossl.h:58,
                 from ossl_x509name.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."
  ^~~~~
compiling ifaddr.c
make[2]: *** [Makefile:294: ossl_x509cert.o] Error 1
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]
In file included from ossl.h:220,
                 from ossl_engine.c:11:
openssl_missing.h:79: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:59,
                 from ossl_engine.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
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]
In file included from ossl.h:234,
                 from ossl_engine.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from ossl.h:220,
                 from ossl_pkey.c:11:
openssl_missing.h:79: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:59,
                 from ossl_pkey.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_pkey.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.c:36:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.c:36:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.c:36:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.c: In function ‘ossl_generate_cb_2’:
ossl_pkey.c:45:44: error: dereferencing pointer to incomplete type ‘BN_GENCB’ {aka ‘struct bn_gencb_st’}
     arg = (struct ossl_generate_cb_arg *)cb->arg;
                                            ^~
ossl_pkey.c: In function ‘ossl_pkey_new’:
ossl_pkey.c:95:31: error: dereferencing pointer to incomplete type ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
     switch (EVP_PKEY_type(pkey->type)) {
                               ^~
In file included from nkf.c:62:
nkf-utf8/nkf.c: In function ‘module_connection’:
nkf-utf8/nkf.c:5709:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
     if (nkf_enc_unicode_p(output_encoding))
     ^~
nkf-utf8/nkf.c:5712: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 ossl.h:220,
                 from ossl_asn1.c:11:
openssl_missing.h:79: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 ossl.h:220,
                 from ossl_ns_spki.c:11:
openssl_missing.h:79: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:59,
                 from ossl_asn1.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:59,
                 from ossl_ns_spki.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_asn1.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_ns_spki.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: *** [Makefile:294: ossl_engine.o] Error 1
ossl_pkey.c: In function ‘DupPKeyPtr’:
ossl_pkey.c:216:5: warning: implicit declaration of function ‘CRYPTO_add’; did you mean ‘CRYPTO_free’? [-Wimplicit-function-declaration]
     CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
     ^~~~~~~~~~
     CRYPTO_free
In file included from ossl.h:220,
                 from ossl_config.c:11:
openssl_missing.h:79: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:59,
                 from ossl_config.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_config.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from ossl.h:58,
                 from ossl_digest.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."
  ^~~~~
ossl_x509store.c:97:39: error: ‘CRYPTO_LOCK_X509_STORE’ undeclared (first use in this function); did you mean ‘CRYPTO_EX_INDEX_X509_STORE’?
     CRYPTO_add(&store->references, 1, CRYPTO_LOCK_X509_STORE);
                                       ^~~~~~~~~~~~~~~~~~~~~~
                                       CRYPTO_EX_INDEX_X509_STORE
ossl_x509store.c:97:39: note: each undeclared identifier is reported only once for each function it appears in
ossl_x509store.c: In function ‘ossl_x509stctx_free’:
ossl_x509store.c:397:11: error: dereferencing pointer to incomplete type ‘X509_STORE_CTX’ {aka ‘struct x509_store_ctx_st’}
     if(ctx->untrusted)
           ^~
make[2]: *** [Makefile:294: ossl_ns_spki.o] Error 1
make[2]: *** [Makefile:294: ossl_config.o] Error 1
ossl_asn1.c: In function ‘decode_bool’:
ossl_asn1.c:355: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
ossl_asn1.c: In function ‘decode_int’:
ossl_asn1.c:372: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:412: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_x509store.c: In function ‘ossl_x509stctx_get_curr_crl’:
ossl_x509store.c:562:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
ossl_asn1.c: In function ‘decode_time’:
ossl_asn1.c:474: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,
                      ^
ripper.y: In function ‘parser_yylex’:
ripper.y:7983:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
   if ((c = nextc()) != '.') {
      ^
ripper.y:7992:8: note: here
        default:
        ^~~~~~~
ripper.y:7994:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
   lex_nextline = lex_lastline;
ripper.y:7995:8: note: here
        case -1:  /* EOF no decrement*/
        ^~~~
In file included from ossl.h:58,
                 from ossl_x509crl.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."
  ^~~~~
make[2]: *** [Makefile:294: ossl_x509store.o] Error 1
In file included from ossl.h:58,
                 from ossl_x509revoked.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."
  ^~~~~
installing default psych libraries
ripper.y:8342:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  paren_nest--;
ripper.y:8343:7: note: here
       case '}':
       ^~~~
ripper.y: In function ‘parser_here_document’:
ripper.y:6697:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
       if (--pend == p || pend[-1] != '\r') {
           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
linking shared-object pty.so
ripper.y:6701:5: note: here
     case '\r':
     ^~~~
ossl_pkey.c:216:38: error: ‘CRYPTO_LOCK_EVP_PKEY’ undeclared (first use in this function); did you mean ‘CRYPTO_LOCK’?
     CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
                                      ^~~~~~~~~~~~~~~~~~~~
                                      CRYPTO_LOCK
ossl_pkey.c:216:38: note: each undeclared identifier is reported only once for each function it appears in
In file included from ossl.h:220,
                 from ossl_ssl_session.c:5:
openssl_missing.h:79: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:59,
                 from ossl_ssl_session.c:5:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_ssl_session.c:5:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ripper.y: In function ‘parser_read_escape’:
ripper.y:6003:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if ((c = nextc()) != '-') {
     ^
ripper.y:6007:7: note: here
       case 'c':
       ^~~~
ossl_ssl_session.c: In function ‘SSL_SESSION_cmp’:
ossl_ssl_session.c:79:10: error: dereferencing pointer to incomplete type ‘SSL_SESSION’ {aka ‘const struct ssl_session_st’}
     if (a->ssl_version != b->ssl_version ||
          ^~
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]
ossl_ssl_session.c:83:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
In file included from ossl.h:58,
                 from ossl_cipher.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."
  ^~~~~
linking shared-object etc.so
In file included from ossl.h:220,
                 from ossl_pkey_rsa.c:13:
openssl_missing.h:79: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:59,
                 from ossl_pkey_rsa.c:13:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
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]
nkf-utf8/nkf.c: In function ‘options’:
In file included from ossl.h:234,
                 from ossl_pkey_rsa.c:13:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
nkf-utf8/nkf.c:6806:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
      fold_preserve_f = TRUE;
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
nkf-utf8/nkf.c:6807:2: note: here
  case 'f':   /* folding -f60 or -f */
  ^~~~
ossl_pkey_rsa.c: In function ‘ossl_rsa_new’:
ossl_pkey_rsa.c:64:24: error: dereferencing pointer to incomplete type ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
  if (EVP_PKEY_type(pkey->type) != EVP_PKEY_RSA) {
                        ^~
ossl_pkey_rsa.c: At top level:
ossl_pkey_rsa.c:79:42: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if defined(HAVE_RSA_GENERATE_KEY_EX) && HAVE_BN_GENCB
                                          ^~~~~~~~~~~~~
ossl_pkey_rsa.c:79:42: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_rsa.c:79:42: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_rsa.c: In function ‘rsa_generate’:
ossl_pkey_rsa.c:100:42: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if defined(HAVE_RSA_GENERATE_KEY_EX) && HAVE_BN_GENCB
                                          ^~~~~~~~~~~~~
ossl_pkey_rsa.c:100:42: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_rsa.c:100:42: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_rsa.c:102:14: error: storage size of ‘cb’ isn’t known
     BN_GENCB cb;
              ^~
ossl_pkey_rsa.c:102:14: warning: unused variable ‘cb’ [-Wunused-variable]
ripper.y: In function ‘parse_gvar’:
ripper.y:7707:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
  if (!parser_is_identchar()) {
      ^
ripper.y:7712:7: note: here
       case '0':
       ^~~~
make[2]: *** [Makefile:294: ossl_ssl_session.o] Error 1
In file included from ossl.h:220,
                 from ossl_pkey_dsa.c:13:
openssl_missing.h:79: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:59,
                 from ossl_pkey_dsa.c:13:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:294: ossl_asn1.o] Error 1
In file included from ossl.h:234,
                 from ossl_pkey_dsa.c:13:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_dsa.c: In function ‘ossl_dsa_new’:
ossl_pkey_dsa.c:63:24: error: dereferencing pointer to incomplete type ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
  if (EVP_PKEY_type(pkey->type) != EVP_PKEY_DSA) {
                        ^~
ossl_pkey_dsa.c: At top level:
ossl_pkey_dsa.c:78:49: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if defined(HAVE_DSA_GENERATE_PARAMETERS_EX) && HAVE_BN_GENCB
                                                 ^~~~~~~~~~~~~
ossl_pkey_dsa.c:78:49: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_dsa.c:78:49: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_dsa.c: In function ‘dsa_generate’:
ossl_pkey_dsa.c:102:49: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if defined(HAVE_DSA_GENERATE_PARAMETERS_EX) && HAVE_BN_GENCB
                                                 ^~~~~~~~~~~~~
ossl_pkey_dsa.c:102:49: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_dsa.c:102:49: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_dsa.c:103:14: error: storage size of ‘cb’ isn’t known
     BN_GENCB cb;
              ^~
ossl_pkey_dsa.c:103:14: warning: unused variable ‘cb’ [-Wunused-variable]
ossl_pkey.c: In function ‘DupPrivPKeyPtr’:
ossl_pkey.c:230:38: error: ‘CRYPTO_LOCK_EVP_PKEY’ undeclared (first use in this function); did you mean ‘CRYPTO_LOCK’?
     CRYPTO_add(&pkey->references, 1, CRYPTO_LOCK_EVP_PKEY);
                                      ^~~~~~~~~~~~~~~~~~~~
                                      CRYPTO_LOCK
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_pkey.c: In function ‘ossl_pkey_sign’:
ossl_pkey.c:289:16: error: storage size of ‘ctx’ isn’t known
     EVP_MD_CTX ctx;
                ^~~
ossl_pkey_rsa.c: In function ‘ossl_rsa_is_private’:
ossl_pkey_rsa.c:290:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
ossl_pkey.c:289:16: warning: unused variable ‘ctx’ [-Wunused-variable]
ossl_pkey.c: In function ‘ossl_pkey_verify’:
ossl_pkey.c:337:16: error: storage size of ‘ctx’ isn’t known
     EVP_MD_CTX ctx;
                ^~~
ossl_pkey.c:337:16: warning: unused variable ‘ctx’ [-Wunused-variable]
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]
make[2]: *** [Makefile:294: ossl_pkey_rsa.o] Error 1
compiling constants.c
ossl_pkey_dsa.c: In function ‘ossl_dsa_is_private’:
ossl_pkey_dsa.c:290:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
ossl_pkey_dsa.c: In function ‘ossl_dsa_is_public’:
ossl_pkey_dsa.c:273:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[2]: *** [Makefile:294: ossl_pkey.o] Error 1
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 ossl.h:58,
                 from ossl_ocsp.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."
  ^~~~~
make[2]: *** [Makefile:294: ossl_pkey_dsa.o] Error 1
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]
linking shared-object syslog.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/etc'
In file included from ossl.h:220,
                 from ossl_x509name.c:11:
openssl_missing.h:79: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:59,
                 from ossl_x509name.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_x509name.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/pty'
ossl_x509name.c: In function ‘ossl_x509name_to_a’:
ossl_x509name.c:294:58: error: dereferencing pointer to incomplete type ‘X509_NAME_ENTRY’ {aka ‘struct X509_name_entry_st’}
  if (!i2t_ASN1_OBJECT(long_name, sizeof(long_name), entry->object)) {
                                                          ^~
linking shared-object fiddle.so
linking shared-object io/console.so
make[2]: *** [Makefile:294: ossl_x509name.o] Error 1
In file included from ossl.h:220,
                 from ossl_digest.c:11:
openssl_missing.h:79: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:59,
                 from ossl_digest.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_digest.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
make[2]: *** [Makefile:294: ossl_digest.o] Error 1
In file included from ossl.h:220,
                 from ossl_cipher.c:11:
openssl_missing.h:79: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:59,
                 from ossl_cipher.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_cipher.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from ../.././include/ruby.h:33,
                 from ossl.h:31,
                 from ossl_cipher.c:11:
ossl_cipher.c: In function ‘ossl_cipher_new’:
ossl_cipher.c:18: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:1370:53: note: in definition of macro ‘ZALLOC_N’
 #define ZALLOC_N(type,n) ((type*)xcalloc((n),sizeof(type)))
                                                     ^~~~
ossl_cipher.c:18: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:25: error: dereferencing pointer to incomplete type ‘EVP_CIPHER_CTX’ {aka ‘const struct evp_cipher_ctx_st’}
     return ctx ? sizeof(*ctx) : 0;
                         ^~~~
In file included from ../.././include/ruby.h:33,
                 from ossl.h:31,
                 from ossl_cipher.c:11:
ossl_cipher.c: In function ‘ossl_cipher_initialize’:
ossl_cipher.c:18: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:1370:53: note: in definition of macro ‘ZALLOC_N’
 #define ZALLOC_N(type,n) ((type*)xcalloc((n),sizeof(type)))
                                                     ^~~~
ossl_cipher.c:18:30: note: in expansion of macro ‘ZALLOC’
     (DATA_PTR(obj) = (ctx) = ZALLOC(EVP_CIPHER_CTX))
                              ^~~~~~
ossl_cipher.c:129:5: note: in expansion of macro ‘AllocCipher’
     AllocCipher(self, ctx);
     ^~~~~~~~~~~
ossl_cipher.c: In function ‘ossl_cipher_copy’:
ossl_cipher.c:18: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:1370:53: note: in definition of macro ‘ZALLOC_N’
 #define ZALLOC_N(type,n) ((type*)xcalloc((n),sizeof(type)))
                                                     ^~~~
ossl_cipher.c:18:30: note: in expansion of macro ‘ZALLOC’
     (DATA_PTR(obj) = (ctx) = ZALLOC(EVP_CIPHER_CTX))
                              ^~~~~~
ossl_cipher.c:157:2: note: in expansion of macro ‘AllocCipher’
  AllocCipher(self, ctx1);
  ^~~~~~~~~~~
ossl_cipher.c: In function ‘ossl_s_ciphers’:
ossl_cipher.c:189: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,
                     ^
In file included from ossl.h:220,
                 from ossl_x509crl.c:11:
openssl_missing.h:79: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 ossl.h:220,
                 from ossl_x509revoked.c:11:
openssl_missing.h:79: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:59,
                 from ossl_x509revoked.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
In file included from /usr/include/openssl/x509.h:18,
                 from /usr/include/openssl/x509v3.h:14,
                 from ossl.h:59,
                 from ossl_x509crl.c:11:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_x509crl.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_x509revoked.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_cipher.c: In function ‘ossl_cipher_memsize’:
ossl_cipher.c:96:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
ossl_x509revoked.c: In function ‘ossl_x509revoked_get_serial’:
ossl_x509revoked.c:116:34: error: dereferencing pointer to incomplete type ‘X509_REVOKED’ {aka ‘struct x509_revoked_st’}
     return asn1integer_to_num(rev->serialNumber);
                                  ^~
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]
ossl_x509crl.c: In function ‘DupX509CRLPtr’:
ossl_x509crl.c:69:5: warning: implicit declaration of function ‘CRYPTO_add’; did you mean ‘CRYPTO_free’? [-Wimplicit-function-declaration]
     CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
     ^~~~~~~~~~
     CRYPTO_free
ossl_x509crl.c:69:20: error: dereferencing pointer to incomplete type ‘X509_CRL’ {aka ‘struct X509_crl_st’}
     CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
                    ^~
ossl_x509revoked.c: In function ‘ossl_x509revoked_get_time’:
ossl_x509revoked.c:138:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
ossl_x509revoked.c: In function ‘ossl_x509revoked_get_serial’:
ossl_x509revoked.c:117:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/syslog'
make[2]: *** [Makefile:294: ossl_cipher.o] Error 1
make[2]: *** [Makefile:294: ossl_x509revoked.o] Error 1
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/io/console'
In file included from ossl.h:220,
                 from ossl_ocsp.c:12:
openssl_missing.h:79: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:59,
                 from ossl_ocsp.c:12:
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
 void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_ocsp.c:12:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
 #if HAVE_BN_GENCB
     ^~~~~~~~~~~~~
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_x509crl.c:69:37: error: ‘CRYPTO_LOCK_X509_CRL’ undeclared (first use in this function); did you mean ‘PEM_read_X509_CRL’?
     CRYPTO_add(&crl->references, 1, CRYPTO_LOCK_X509_CRL);
                                     ^~~~~~~~~~~~~~~~~~~~
                                     PEM_read_X509_CRL
ossl_x509crl.c:69:37: note: each undeclared identifier is reported only once for each function it appears in
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/fiddle'
ossl_x509crl.c: In function ‘ossl_x509crl_get_last_update’:
ossl_x509crl.c:228:5: warning: ‘X509_CRL_get_lastUpdate’ is deprecated [-Wdeprecated-declarations]
     return asn1time_to_time(X509_CRL_get_lastUpdate(crl));
     ^~~~~~
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:57,
                 from ossl_x509crl.c:11:
/usr/include/openssl/x509.h:727:1: note: declared here
 DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl))
 ^~~~~~~~~~~~~~~~~~
ossl_x509crl.c: In function ‘ossl_x509crl_get_next_update’:
ossl_x509crl.c:253:5: warning: ‘X509_CRL_get_nextUpdate’ is deprecated [-Wdeprecated-declarations]
     return asn1time_to_time(X509_CRL_get_nextUpdate(crl));
     ^~~~~~
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:57,
                 from ossl_x509crl.c:11:
/usr/include/openssl/x509.h:728:1: note: declared here
 DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl))
 ^~~~~~~~~~~~~~~~~~
ossl_ocsp.c: In function ‘ossl_ocspbres_add_status’:
ossl_ocsp.c:698:35: error: dereferencing pointer to incomplete type ‘OCSP_SINGLERESP’ {aka ‘struct ocsp_single_response_st’}
  sk_X509_EXTENSION_pop_free(single->singleExtensions, X509_EXTENSION_free);
                                   ^~
ossl_ocsp.c: In function ‘ossl_ocspcid_get_serial’:
ossl_ocsp.c:955:33: error: dereferencing pointer to incomplete type ‘OCSP_CERTID’ {aka ‘struct ocsp_cert_id_st’}
     return asn1integer_to_num(id->serialNumber);
                                 ^~
ossl_ocsp.c:956:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[2]: *** [Makefile:294: ossl_x509crl.o] Error 1
make[2]: *** [Makefile:294: ossl_ocsp.o] Error 1
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/openssl'
make[1]: *** [exts.mk:206: ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
linking shared-object racc/cparse.so
linking shared-object thread.so
linking shared-object objspace.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/racc/cparse'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/thread'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/objspace'
linking shared-object sdbm.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/sdbm'
linking shared-object json/ext/parser.so
linking shared-object readline.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/json/parser'
linking shared-object pathname.so
linking shared-object strscan.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/readline'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/pathname'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/strscan'
linking shared-object stringio.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/stringio'
linking shared-object json/ext/generator.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/json/generator'
linking shared-object socket.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/socket'
linking shared-object zlib.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/zlib'
linking shared-object psych.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/psych'
linking shared-object nkf.so
linking shared-object bigdecimal.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/nkf'
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/bigdecimal'
linking shared-object date_core.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/date'
linking shared-object ripper.so
make[2]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10/ext/ripper'
make[1]: Leaving directory '/usr/local/rvm/src/ruby-2.2.10'
make: *** [uncommon.mk:189: build-ext] Error 2
++ return 2