rbenv / ruby-build

A tool to download, compile, and install Ruby on Unix-like systems.
https://rbenv.org/man/ruby-build.1
MIT License
3.89k stars 780 forks source link

Cannot install Ruby 2.2.* on Ubuntu 20.04 #1443

Closed ankitsinghaniyaz closed 4 years ago

ankitsinghaniyaz commented 4 years ago
ankit@thinkpad:~/f22labs/skymdbackend$ rbenv install 2.2.10
Downloading ruby-2.2.10.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.10.tar.bz2
Installing ruby-2.2.10...

WARNING: ruby-2.2.10 is past its end of life and is now unsupported.
It no longer receives bug fixes or critical security updates.

BUILD FAILED (Ubuntu 20.04 using ruby-build 20200401-11-g12af1c3)

Inspect or clean up the working tree at /tmp/ruby-build.20200518193720.118097.NYVlMg
Results logged to /tmp/ruby-build.20200518193720.118097.log
ankitsinghaniyaz commented 4 years ago
/tmp/ruby-build.20200518193720.118097.NYVlMg ~/f22labs/skymdbackend
/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10 /tmp/ruby-build.20200518193720.118097.NYVlMg ~/f22labs/skymdbackend
config.guess already exists
config.sub already exists
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking whether gcc needs -traditional... no
checking for ld... ld
checking whether the linker is GNU ld... yes
checking whether gcc -E accepts -o... yes
checking for ranlib... ranlib
checking for ar... ar
checking for as... as
checking for objdump... objdump
checking for objcopy... objcopy
checking for nm... nm
checking whether ln -s works... yes
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for dtrace... no
checking for dot... no
checking for doxygen... no
checking for pkg-config... pkg-config
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for cd using physical directory... cd -P
checking whether CFLAGS is valid... yes
checking whether LDFLAGS is valid... yes
checking whether -Wno-unused-parameter is accepted as CFLAGS... yes
checking whether -Wno-parentheses is accepted as CFLAGS... yes
checking whether -Wno-long-long is accepted as CFLAGS... yes
checking whether -diag-disable=2259 is accepted as CFLAGS... no
checking whether -Wno-missing-field-initializers is accepted as CFLAGS... yes
checking whether -Wunused-variable is accepted as CFLAGS... yes
checking whether -Wpointer-arith is accepted as CFLAGS... yes
checking whether -Wwrite-strings is accepted as CFLAGS... yes
checking whether -Wdeclaration-after-statement is accepted as CFLAGS... yes
checking whether -Wshorten-64-to-32 is accepted as CFLAGS... no
checking whether -Wimplicit-function-declaration is accepted as CFLAGS... yes
checking whether -Wdivision-by-zero is accepted as CFLAGS... no
checking whether -Wdeprecated-declarations is accepted as CFLAGS... yes
checking whether -Wno-packed-bitfield-compat is accepted as CFLAGS... yes
checking whether -Wextra-tokens is accepted as CFLAGS... no
checking whether -Wall -Wextra is accepted as CFLAGS... yes
checking whether -Qunused-arguments is accepted as CFLAGS... no
checking whether -D_FORTIFY_SOURCE=2 is accepted as CFLAGS... yes
checking whether -fstack-protector is accepted as CFLAGS... yes
checking whether -fstack-protector is accepted as LDFLAGS... yes
checking whether -std=iso9899:1999 is accepted as CFLAGS... yes
checking whether -fno-strict-overflow is accepted as CFLAGS... yes
checking whether -ggdb3 is accepted as CFLAGS... yes
checking whether -fvisibility=hidden is accepted as CFLAGS... yes
checking whether -fno-fast-math is accepted as CFLAGS... yes
checking whether -fp-model precise is accepted as CFLAGS... no
checking for crypt in -lcrypt... yes
checking for dlopen in -ldl... yes
checking for shl_load in -ldld... no
checking for shutdown in -lsocket... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking sys/fcntl.h usability... yes
checking sys/fcntl.h presence... yes
checking for sys/fcntl.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/times.h usability... yes
checking sys/times.h presence... yes
checking for sys/times.h... yes
checking syscall.h usability... yes
checking syscall.h presence... yes
checking for syscall.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking a.out.h usability... yes
checking a.out.h presence... yes
checking for a.out.h... yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/utime.h usability... no
checking sys/utime.h presence... no
checking for sys/utime.h... no
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking ieeefp.h usability... no
checking ieeefp.h presence... no
checking for ieeefp.h... no
checking ucontext.h usability... yes
checking ucontext.h presence... yes
checking for ucontext.h... yes
checking intrinsics.h usability... no
checking intrinsics.h presence... no
checking for intrinsics.h... no
checking langinfo.h usability... yes
checking langinfo.h presence... yes
checking for langinfo.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking sys/sendfile.h usability... yes
checking sys/sendfile.h presence... yes
checking for sys/sendfile.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking net/socket.h usability... no
checking net/socket.h presence... no
checking for net/socket.h... no
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking process.h usability... no
checking process.h presence... no
checking for process.h... no
checking sys/prctl.h usability... yes
checking sys/prctl.h presence... yes
checking for sys/prctl.h... yes
checking sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking atomic.h usability... no
checking atomic.h presence... no
checking for atomic.h... no
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking malloc_np.h usability... no
checking malloc_np.h presence... no
checking for malloc_np.h... no
checking malloc/malloc.h usability... no
checking malloc/malloc.h presence... no
checking for malloc/malloc.h... no
checking setjmpex.h usability... no
checking setjmpex.h presence... no
checking for setjmpex.h... no
checking sys/attr.h usability... no
checking sys/attr.h presence... no
checking for sys/attr.h... no
checking sys/id.h usability... no
checking sys/id.h presence... no
checking for sys/id.h... no
checking gmp.h usability... no
checking gmp.h presence... no
checking for gmp.h... no
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking whether char is unsigned... no
checking for inline... inline
checking for working volatile... yes
checking for typeof syntax and keyword spelling... __typeof__
checking for long long... yes
checking for off_t... yes
checking char bit... 8
checking size of int... 4
checking size of short... 2
checking size of long... 8
checking size of long long... 8
checking size of __int64... 0
checking size of __int128... 16
checking size of off_t... 8
checking size of void*... 8
checking size of float... 4
checking size of double... 8
checking size of time_t... 8
checking size of clock_t... 8
checking packed struct attribute... x __attribute__((packed))
checking for printf prefix for long long... ll
checking for pid_t... yes
checking for convertible type of pid_t... INT
checking for uid_t... yes
checking for convertible type of uid_t... UINT
checking for gid_t... yes
checking for convertible type of gid_t... UINT
checking for time_t... yes
checking for convertible type of time_t... LONG
checking for dev_t... yes
checking for convertible type of dev_t... ULONG
checking for mode_t... yes
checking for convertible type of mode_t... UINT
checking for rlim_t... yes
checking for convertible type of rlim_t... ULONG
checking for off_t... (cached) yes
checking for convertible type of off_t... LONG
checking for clockid_t... yes
checking for convertible type of clockid_t... INT
checking for prototypes... yes
checking token paste string... ansi
checking stringization... #expr
checking string literal concatenation... yes
checking for variable length prototypes and stdarg.h... yes
checking for variable length macro... yes
checking for NORETURN function attribute... __attribute__ ((noreturn)) x
checking for DEPRECATED function attribute... __attribute__ ((deprecated)) x
checking for NOINLINE function attribute... __attribute__ ((noinline)) x
checking for stdcall function attribute... x
checking for cdecl function attribute... x
checking for fastcall function attribute... x
checking for FUNC_MINIMIZED function attribute... __attribute__ ((optimize("-Os","-fomit-frame-pointer"))) x
checking for function alias... alias
checking for __atomic builtins... yes
checking for __sync builtins... yes
checking for __builtin_unreachable... yes
checking for exported function attribute... __attribute__ ((visibility("default")))
checking for function name string predefined identifier... __func__
checking whether sys_nerr is declared... yes
checking whether getenv is declared... yes
checking for size_t... yes
checking size of size_t... 8
checking size of ptrdiff_t... 8
checking for printf prefix for size_t... z
checking for printf prefix for ptrdiff_t... t
checking for struct stat.st_blksize... yes
checking for struct stat.st_blocks... yes
checking for struct stat.st_rdev... yes
checking size of struct stat.st_size... SIZEOF_OFF_T
checking size of struct stat.st_blocks... SIZEOF_OFF_T
checking size of struct stat.st_ino... SIZEOF_LONG
checking for struct stat.st_atim... yes
checking for struct stat.st_atimespec... no
checking for struct stat.st_atimensec... no
checking for struct stat.st_mtim... yes
checking for struct stat.st_mtimespec... no
checking for struct stat.st_mtimensec... no
checking for struct stat.st_ctim... yes
checking for struct stat.st_ctimespec... no
checking for struct stat.st_ctimensec... no
checking for struct stat.st_birthtimespec... no
checking for struct timeval... yes
checking size of struct timeval.tv_sec... SIZEOF_TIME_T
checking for struct timespec... yes
checking for struct timezone... yes
checking for clockid_t... (cached) yes
checking for fd_mask... yes
checking for int8_t... yes
checking size of int8_t... 1
checking for uint8_t... yes
checking size of uint8_t... 1
checking for int16_t... yes
checking size of int16_t... 2
checking for uint16_t... yes
checking size of uint16_t... 2
checking for int32_t... yes
checking size of int32_t... 4
checking for uint32_t... yes
checking size of uint32_t... 4
checking for int64_t... yes
checking size of int64_t... 8
checking for uint64_t... yes
checking size of uint64_t... 8
checking for int128_t... __int128
checking for uint128_t... unsigned __int128
checking for intptr_t... yes
checking size of intptr_t... 8
checking for uintptr_t... yes
checking size of uintptr_t... 8
checking for ssize_t... yes
checking size of ssize_t... 8
checking for stack end address... __libc_stack_end
checking for uid_t in sys/types.h... (cached) yes
checking type of array argument to getgroups... gid_t
checking return type of signal handlers... void
checking for working alloca.h... yes
checking for alloca... yes
checking for dynamic size alloca... ok
checking for working memcmp... yes
checking for broken erfc of glibc-2.3.6 on IA64... no
checking for acosh... yes
checking for cbrt... yes
checking for crypt... yes
checking for dup2... yes
checking for erf... yes
checking for ffs... yes
checking for finite... yes
checking for flock... yes
checking for hypot... yes
checking for isinf... yes
checking for isnan... yes
checking for lgamma_r... yes
checking for memmove... yes
checking for nextafter... yes
checking for setproctitle... no
checking for strchr... yes
checking for strerror... yes
checking for strlcat... no
checking for strlcpy... no
checking for strstr... yes
checking for tgamma... yes
checking sys/pstat.h usability... no
checking sys/pstat.h presence... no
checking for sys/pstat.h... no
checking for signbit... yes
checking for pid_t... (cached) yes
checking vfork.h usability... no
checking vfork.h presence... no
checking for vfork.h... no
checking for fork... yes
checking for vfork... yes
checking for working fork... yes
checking for working vfork... (cached) yes
checking for __syscall... no
checking for _longjmp... yes
checking for _setjmp... yes
checking for _setjmpex... no
checking for atan2l... yes
checking for atan2f... yes
checking for chroot... yes
checking for chsize... no
checking for clock_gettime... yes
checking for cosh... yes
checking for daemon... (cached) no
checking for dirfd... yes
checking for dl_iterate_phdr... yes
checking for dlopen... yes
checking for dladdr... yes
checking for dup... yes
checking for dup3... yes
checking for eaccess... yes
checking for endgrent... yes
checking for fchmod... yes
checking for fchown... yes
checking for fcntl... yes
checking for fdatasync... yes
checking for fgetattrlist... no
checking for fmod... yes
checking for fsync... yes
checking for ftruncate... yes
checking for ftruncate64... yes
checking for getattrlist... no
checking for getcwd... yes
checking for getgidx... no
checking for getgrnam... yes
checking for getgrnam_r... yes
checking for getgroups... yes
checking for getpgid... yes
checking for getpgrp... yes
checking for getpriority... yes
checking for getpwnam_r... yes
checking for getresgid... yes
checking for getresuid... yes
checking for getrlimit... yes
checking for getsid... yes
checking for gettimeofday... yes
checking for getuidx... no
checking for gmtime_r... yes
checking for initgroups... yes
checking for ioctl... yes
checking for isfinite... no
checking for issetugid... no
checking for killpg... yes
checking for lchmod... no
checking for lchown... yes
checking for link... yes
checking for llabs... yes
checking for lockf... yes
checking for log2... yes
checking for lstat... yes
checking for malloc_usable_size... yes
checking for malloc_size... no
checking for mblen... yes
checking for memalign... yes
checking for writev... yes
checking for memrchr... yes
checking for memmem... yes
checking for mktime... yes
checking for pipe2... yes
checking for poll... yes
checking for posix_fadvise... yes
checking for posix_memalign... yes
checking for ppoll... yes
checking for pread... yes
checking for qsort_r... yes
checking for readlink... yes
checking for round... yes
checking for sched_getaffinity... yes
checking for seekdir... yes
checking for select_large_fdset... no
checking for sendfile... yes
checking for setegid... yes
checking for setenv... yes
checking for seteuid... yes
checking for setgid... yes
checking for setgroups... yes
checking for setpgid... yes
checking for setpgrp... yes
checking for setregid... yes
checking for setresgid... yes
checking for setresuid... yes
checking for setreuid... yes
checking for setrgid... no
checking for setrlimit... yes
checking for setruid... no
checking for setsid... yes
checking for setuid... yes
checking for shutdown... yes
checking for sigaction... yes
checking for sigaltstack... yes
checking for sigprocmask... yes
checking for sinh... yes
checking for spawnv... no
checking for symlink... yes
checking for syscall... yes
checking for sysconf... yes
checking for tanh... yes
checking for telldir... yes
checking for timegm... yes
checking for times... yes
checking for truncate... yes
checking for truncate64... yes
checking for unsetenv... yes
checking for utimensat... yes
checking for utimes... yes
checking for wait4... yes
checking for waitpid... yes
checking if getcwd allocates buffer if NULL is given... yes
checking for __builtin_bswap16... yes
checking for __builtin_bswap32... yes
checking for __builtin_bswap64... yes
checking for __builtin_clz... yes
checking for __builtin_clzl... yes
checking for __builtin_clzll... yes
checking for __builtin_choose_expr... yes
checking for __builtin_choose_expr_constant_p... yes
checking for __builtin_types_compatible_p... yes
checking whether qsort_r is GNU version... yes
checking whether qsort_r is BSD version... no
checking whether atan2 handles Inf as C99... yes
checking whether lgamma_r handles -0.0... yes
checking for clock_getres... yes
checking for unsetenv returns a value... yes
checking for sigsetjmp as a macro or function... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for struct tm.tm_zone... yes
checking for struct tm.tm_gmtoff... yes
checking for external int daylight... yes
checking for external timezone... long
checking for external altzone... no
checking for timezone... yes
checking whether timezone requires zero arguments... yes
checking for negative time_t for gmtime(3)... yes
checking for localtime(3) overflow correctly... yes
checking whether right shift preserve sign bit... yes
checking whether _SC_CLK_TCK is supported... yes
checking stack growing direction on x86_64... -1
checking for pthread_kill in -lthr... no
checking for pthread_kill in -lpthread... yes
checking for pthread_np.h... no
checking whether pthread_t is scalar type... yes
checking for sched_yield... yes
checking for pthread_attr_setinheritsched... yes
checking for pthread_attr_get_np... no
checking for pthread_attr_getstack... yes
checking for pthread_get_stackaddr_np... no
checking for pthread_get_stacksize_np... no
checking for thr_stksegment... no
checking for pthread_stackseg_np... no
checking for pthread_getthrds_np... no
checking for pthread_cond_init... yes
checking for pthread_condattr_setclock... yes
checking for pthread_condattr_init... yes
checking for pthread_sigmask... yes
checking for pthread_setname_np... yes
checking for pthread_getattr_np... yes
checking for pthread_attr_init... yes
checking arguments of pthread_setname_np... (pthread_self(), name)
checking if mcontext_t is a pointer... no
checking for getcontext... yes
checking for setcontext... yes
checking if fork works with pthread... yes
checking whether ELF binaries are produced... yes
checking elf.h usability... yes
checking elf.h presence... yes
checking for elf.h... yes
checking elf_abi.h usability... no
checking elf_abi.h presence... no
checking for elf_abi.h... no
checking whether OS depend dynamic link works... yes
checking whether -Wl,-R. is accepted as LDFLAGS... yes
checking for backtrace... yes
checking for broken backtrace... no
checking valgrind/memcheck.h usability... no
checking valgrind/memcheck.h presence... no
checking for valgrind/memcheck.h... no
checking for strip... strip
checking whether -fPIE is accepted as CFLAGS... yes
checking whether -pie is accepted as LDFLAGS... yes
checking for __builtin_setjmp... yes with cast ()
checking for setjmp type... __builtin_setjmp
checking for prefix of external symbols... NONE
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking if make is GNU make... yes
checking for broken memmem... no
checking for nroff... /usr/bin/nroff
.ext/include/x86_64-linux/ruby/config.h updated
ruby library version = 2.2.0
configure: creating ./config.status
config.status: creating GNUmakefile
config.status: creating Makefile
config.status: creating ruby-2.2.pc
    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 
    XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -fPIE
    CPPFLAGS = -I/home/ankit/.rbenv/versions/2.2.10/include    -I. -I.ext/include/x86_64-linux -I./include -I.
    DLDFLAGS = -fstack-protector -pie  
    SOLIBS = 
Using built-in specs.
copying dummy probes.h
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2) 
compiling main.c
compiling dmydln.c
compiling miniinit.c
compiling miniprelude.c
compiling array.c
In file included from array.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 bignum.c
compiling class.c
compiling compar.c
In file included from bignum.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
      |                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from class.c:26:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
array.c: In function ‘rb_ary_rindex’:
array.c:1530:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1530 |      if (!rb_equal(e, val)) break;
      |         ^
array.c:1531:4: note: here
 1531 |    case Qtrue:
      |    ^~~~
array.c: In function ‘rb_ary_index’:
array.c:1467:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1467 |      if (!rb_equal(e, val)) break;
      |         ^
array.c:1468:4: note: here
 1468 |    case Qtrue:
      |    ^~~~
compiling complex.c
In file included from complex.c:8:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 dir.c
In file included from dir.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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_find.c
compiling encoding.c
In file included from encoding.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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’ [-Wimplicit-function-declaration]
  825 |  rb_str_change_terminator_length(obj, oldtermlen, termlen);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encoding.c: In function ‘rb_enc_get_index’:
encoding.c:771:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  771 |  if (NIL_P(obj)) break;
      |     ^
encoding.c:772:7: note: here
  772 |       case T_DATA:
      |       ^~~~
encoding.c: In function ‘enc_capable’:
encoding.c:731:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  731 |  if (is_data_encoding(obj)) return TRUE;
      |     ^
encoding.c:732:7: note: here
  732 |       default:
      |       ^~~~~~~
compiling enum.c
In file included from enum.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 enumerator.c
In file included from enumerator.c:15:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 error.c
compiling eval.c
In file included from error.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
   84 | #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 load.c:5:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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=]
  927 |  if (ft) {
      |     ^
load.c:932:7: note: here
  932 |       case 1:
      |       ^~~~
compiling proc.c
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]
   84 | #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 file.c
compiling gc.c
In file included from file.c:26:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
   84 | #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]
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]
 1843 |     make_zombie(objspace, obj, (void (*)(void*))rb_io_fptr_finalize, fptr);
      |                                ^
compiling hash.c
gc.c: In function ‘internal_object_p’:
gc.c:2191:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2191 |      if (FL_TEST(p, FL_SINGLETON))
      |         ^
gc.c:2193:4: note: here
 2193 |    default:
      |    ^~~~~~~
In file included from hash.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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=]
  622 |       val = RARRAY_AREF(v, 1);
hash.c:623:5: note: here
  623 |     case 1:
      |     ^~~~
compiling inits.c
In file included from inits.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 io.c
In file included from io.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
io.c: In function ‘rb_io_s_popen’:
io.c:6303:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 6303 |  pmode = argv[1];
      |  ~~~~~~^~~~~~~~~
io.c:6304:7: note: here
 6304 |       case 1:
      |       ^~~~
compiling marshal.c
In file included from marshal.c:16:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 math.c
marshal.c: In function ‘r_object0’:
marshal.c:1740:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1740 |    if (bs & 1) --dst;
      |       ^
marshal.c:1741:9: note: here
 1741 |         default: bs = 0; break;
      |         ^~~~~~~
marshal.c: In function ‘load_mantissa’:
marshal.c:364:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
  364 |        default: m = *buf++ & 0xff;
      |                 ~~^~~~~~~~~~~~~~~
marshal.c:366:8: note: here
  366 |        case 3: m = (m << 8) | (*buf++ & 0xff);
      |        ^~~~
marshal.c:366:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
  366 |        case 3: m = (m << 8) | (*buf++ & 0xff);
      |                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
marshal.c:369:8: note: here
  369 |        case 2: m = (m << 8) | (*buf++ & 0xff);
      |        ^~~~
marshal.c:369:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
  369 |        case 2: m = (m << 8) | (*buf++ & 0xff);
      |                ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
marshal.c:372:8: note: here
  372 |        case 1: m = (m << 8) | (*buf++ & 0xff);
      |        ^~~~
In file included from math.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 node.c
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]
   84 | #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 numeric.c
In file included from numeric.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 object.c
In file included from object.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 ./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=]
  648 | #define NUM2INT(x) rb_num2int_inline(x)
      |                    ^~~~~~~~~~~~~~~~~~~~
object.c:2801:9: note: in expansion of macro ‘NUM2INT’
 2801 |  base = NUM2INT(argv[1]);
      |         ^~~~~~~
object.c:2802:7: note: here
 2802 |       case 1:
      |       ^~~~
compiling pack.c
In file included from pack.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 parse.c
In file included from parse.y:24:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
parse.y: In function ‘ruby_yyparse’:
parse.y:378:43: warning: this statement may fall through [-Wimplicit-fallthrough=]
  378 | #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’
  364 | #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’
 3971 |        node = NEW_NODE(NODE_DSTR, STR_NEW0(), 1, NEW_LIST(node));
      |               ^~~~~~~~
parse.y:3972:6: note: here
 3972 |      case NODE_DSTR:
      |      ^~~~
parse.y:324:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
  324 | #define yyerror(msg) parser_yyerror(parser, (msg))
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
parse.y:4996:5: note: in expansion of macro ‘yyerror’
 4996 |     yyerror("can't define singleton method for literals");
      |     ^~~~~~~
parse.y:4997:10: note: here
 4997 |          default:
      |          ^~~~~~~
parse.y: In function ‘parser_yylex’:
parse.y:7983:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 7983 |   if ((c = nextc()) != '.') {
      |      ^
parse.y:7992:8: note: here
 7992 |        default:
      |        ^~~~~~~
parse.y:7994:16: warning: this statement may fall through [-Wimplicit-fallthrough=]
 7994 |   lex_nextline = lex_lastline;
parse.y:7995:8: note: here
 7995 |        case -1:  /* EOF no decrement*/
      |        ^~~~
parse.y:8342:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
 8342 |  paren_nest--;
parse.y:8343:7: note: here
 8343 |       case '}':
      |       ^~~~
parse.y: In function ‘parser_here_document’:
parse.y:6697:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
 6697 |       if (--pend == p || pend[-1] != '\r') {
      |           ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
parse.y:6701:5: note: here
 6701 |     case '\r':
      |     ^~~~
parse.y: In function ‘parser_read_escape’:
parse.y:6003:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 6003 |  if ((c = nextc()) != '-') {
      |     ^
parse.y:6007:7: note: here
 6007 |       case 'c':
      |       ^~~~
parse.y: In function ‘parse_gvar’:
parse.y:7707:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 7707 |  if (!parser_is_identchar()) {
      |      ^
parse.y:7712:7: note: here
 7712 |       case '0':
      |       ^~~~
parse.y: In function ‘is_static_content’:
parse.y:9515:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 9515 |  if (!(node = node->nd_head)) break;
      |     ^
parse.y:9516:7: note: here
 9516 |       case NODE_ARRAY:
      |       ^~~~
compiling process.c
In file included from process.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
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]
 3217 |             rb_protect((VALUE (*)())rb_thread_sleep, 1, &state);
      |                        ^
compiling random.c
In file included from random.c:62:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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:1245:
siphash.c: In function ‘ruby_sip_hash24’:
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
  430 | #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
      |                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:444:6: note: in expansion of macro ‘OR_BYTE’
  444 |      OR_BYTE(6);
      |      ^~~~~~~
siphash.c:445:2: note: here
  445 |  case 6:
      |  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
  430 | #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
      |                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:446:6: note: in expansion of macro ‘OR_BYTE’
  446 |      OR_BYTE(5);
      |      ^~~~~~~
siphash.c:447:2: note: here
  447 |  case 5:
      |  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
  430 | #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
      |                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:448:6: note: in expansion of macro ‘OR_BYTE’
  448 |      OR_BYTE(4);
      |      ^~~~~~~
siphash.c:449:2: note: here
  449 |  case 4:
      |  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
  430 | #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
      |                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:461:6: note: in expansion of macro ‘OR_BYTE’
  461 |      OR_BYTE(2);
      |      ^~~~~~~
siphash.c:462:2: note: here
  462 |  case 2:
      |  ^~~~
siphash.c:430:26: warning: this statement may fall through [-Wimplicit-fallthrough=]
  430 | #define OR_BYTE(n) (last |= ((uint64_t) end[n]) << ((n) * 8))
      |                    ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
siphash.c:463:6: note: in expansion of macro ‘OR_BYTE’
  463 |      OR_BYTE(1);
      |      ^~~~~~~
siphash.c:464:2: note: here
  464 |  case 1:
      |  ^~~~
random.c: In function ‘rand_range’:
random.c:1036:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1036 |       case T_FLOAT: {
      |                     ^
random.c:1042:7: note: here
 1042 |       default:
      |       ^~~~~~~
random.c: In function ‘random_load’:
random.c:632:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  632 |  seed = ary[2];
      |  ~~~~~^~~~~~~~
random.c:633:7: note: here
  633 |       case 2:
      |       ^~~~
random.c:634:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  634 |  left = ary[1];
      |  ~~~~~^~~~~~~~
random.c:635:7: note: here
  635 |       case 1:
      |       ^~~~
compiling range.c
In file included from range.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 rational.c
In file included from rational.c:8:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 re.c
In file included from re.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
re.c: In function ‘unescape_nonascii’:
re.c:2313:17: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2313 |                 {
      |                 ^
re.c:2324:15: note: here
 2324 |               case '0': /* \0, \0O, \0OO */
      |               ^~~~
re.c: In function ‘read_escaped_byte’:
re.c:2086:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2086 |         if (p == end || *p++ != '-') {
      |             ~~~~~~~~~^~~~~~~~~~~~~~
re.c:2090:7: note: here
 2090 |       case 'c': /* \cX, \c\M-X */
      |       ^~~~
compiling regcomp.c
compiling regenc.c
compiling regerror.c
compiling regexec.c
compiling regparse.c
regparse.c: In function ‘parse_enclose’:
regparse.c:5183:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
 5183 |       if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL)) {
      |          ^
regparse.c:5211:5: note: here
 5211 |     case '-': case 'i': case 'm': case 's': case 'x':
      |     ^~~~
compiling regsyntax.c
compiling ruby.c
In file included from ruby.c:18:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
ruby.c: In function ‘proc_options’:
ruby.c:778:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
  778 |      opt->do_print = TRUE;
ruby.c:780:4: note: here
  780 |    case 'n':
      |    ^~~~
ruby.c:804:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
  804 |      opt->verbose = 1;
      |      ~~~~~~~~~~~~~^~~
ruby.c:805:4: note: here
  805 |    case 'w':
      |    ^~~~
ruby.c:1111:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1111 |      if (!s[1])
      |         ^
ruby.c:1114:4: note: here
 1114 |    default:
      |    ^~~~~~~
compiling safe.c
compiling signal.c
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]
   84 | #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]
   84 | #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]
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]
  597 |         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]
  626 |  return (sighandler_t)old.sa_sigaction;
      |         ^
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]
 1045 |         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]
 1050 |         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]
 1456 |  install_sighandler(SIGBUS, (sighandler_t)sigbus);
      |                             ^
signal.c:1338:75: note: in definition of macro ‘install_sighandler’
 1338 | #  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]
 1459 |  install_sighandler(SIGILL, (sighandler_t)sigill);
      |                             ^
signal.c:1338:75: note: in definition of macro ‘install_sighandler’
 1338 | #  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]
 1465 |  install_sighandler(SIGSEGV, (sighandler_t)sigsegv);
      |                              ^
signal.c:1338:75: note: in definition of macro ‘install_sighandler’
 1338 | #  define install_sighandler(signum, handler) (install_sighandler(signum, handler) ? rb_bug(#signum) : (void)0)
      |                                                                           ^~~~~~~
compiling sprintf.c
In file included from sprintf.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
sprintf.c: In function ‘rb_str_format’:
sprintf.c:653:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  653 |      p--;
      |      ~^~
sprintf.c:654:4: note: here
  654 |    case '%':
      |    ^~~~
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=]
  880 |    if (prec != 0)
      |       ^
vsnprintf.c:882:3: note: here
  882 |   case 'g':
      |   ^~~~
compiling st.c
In file included from st.c:9:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
st.c: In function ‘st_hash’:
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1597 |  t |= data_at(n) << CHAR_BIT*(n)
      |  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1499:25: note: in expansion of macro ‘UNALIGNED_ADD’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 1596 | # define UNALIGNED_ADD(n) case (n) + 1: \
      |                           ^~~~
st.c:1499:43: note: in expansion of macro ‘UNALIGNED_ADD’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1597 |  t |= data_at(n) << CHAR_BIT*(n)
      |  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1499:43: note: in expansion of macro ‘UNALIGNED_ADD’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 1596 | # define UNALIGNED_ADD(n) case (n) + 1: \
      |                           ^~~~
st.c:1499:61: note: in expansion of macro ‘UNALIGNED_ADD’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1597 |  t |= data_at(n) << CHAR_BIT*(n)
      |  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1499:61: note: in expansion of macro ‘UNALIGNED_ADD’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 1596 | # define UNALIGNED_ADD(n) case (n) + 1: \
      |                           ^~~~
st.c:1499:79: note: in expansion of macro ‘UNALIGNED_ADD’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1597 |  t |= data_at(n) << CHAR_BIT*(n)
      |  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1499:79: note: in expansion of macro ‘UNALIGNED_ADD’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 1596 | # define UNALIGNED_ADD(n) case (n) + 1: \
      |                           ^~~~
st.c:1497:25: note: in expansion of macro ‘UNALIGNED_ADD’
 1497 | #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’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1597 |  t |= data_at(n) << CHAR_BIT*(n)
      |  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1497:25: note: in expansion of macro ‘UNALIGNED_ADD’
 1497 | #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’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 1596 | # define UNALIGNED_ADD(n) case (n) + 1: \
      |                           ^~~~
st.c:1497:43: note: in expansion of macro ‘UNALIGNED_ADD’
 1497 | #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’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
st.c:1597:4: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1597 |  t |= data_at(n) << CHAR_BIT*(n)
      |  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
st.c:1497:43: note: in expansion of macro ‘UNALIGNED_ADD’
 1497 | #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’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
st.c:1596:27: note: here
 1596 | # define UNALIGNED_ADD(n) case (n) + 1: \
      |                           ^~~~
st.c:1497:61: note: in expansion of macro ‘UNALIGNED_ADD’
 1497 | #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’
 1499 | #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’
 1505 | #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8
      |                           ^~~~~~~~~~~~~~~
st.c:1599:2: note: in expansion of macro ‘UNALIGNED_ADD_ALL’
 1599 |  UNALIGNED_ADD_ALL;
      |  ^~~~~~~~~~~~~~~~~
compiling strftime.c
strftime.c: In function ‘rb_strftime_with_timespec’:
strftime.c:780:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
  780 |    padding = '0';
      |    ~~~~~~~~^~~~~
strftime.c:781:3: note: here
  781 |   case '1':  case '2': case '3': case '4':
      |   ^~~~
compiling string.c
In file included from string.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 struct.c
In file included from struct.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 symbol.c
In file included from symbol.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 time.c
In file included from time.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
time.c: In function ‘utc_offset_arg’:
time.c:2080:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2080 |      n += (s[7] * 10 + s[8] - '0' * 11);
      |      ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
time.c:2081:4: note: here
 2081 |    case 6:
      |    ^~~~
compiling transcode.c
In file included from transcode.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 util.c
In file included from util.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
util.c: In function ‘ruby_strtod’:
util.c:1979:18: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1979 |             sign = 1;
      |             ~~~~~^~~
util.c:1981:11: note: here
 1981 |           case '+':
      |           ^~~~
util.c:2143:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2143 |             esign = 1;
      |             ~~~~~~^~~
util.c:2144:11: note: here
 2144 |           case '+':
      |           ^~~~
util.c: In function ‘ruby_dtoa’:
util.c:3318:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3318 |         leftright = 0;
      |         ~~~~~~~~~~^~~
util.c:3320:7: note: here
 3320 |       case 4:
      |       ^~~~
util.c:3326:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3326 |         leftright = 0;
      |         ~~~~~~~~~~^~~
util.c:3328:7: note: here
 3328 |       case 5:
      |       ^~~~
compiling variable.c
compiling version.c
In file included from variable.c:14:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 compile.c
In file included from compile.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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=]
 4189 |      boff = 1;
      |      ~~~~~^~~
compile.c:4190:4: note: here
 4190 |    default:
      |    ^~~~~~~
compile.c:4625:11: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4625 |      flag |= VM_CALL_VCALL;
compile.c:4627:4: note: here
 4627 |    case NODE_FCALL:
      |    ^~~~
compile.c:4504:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4504 |  if (node->nd_mid == idAREF && !private_recv_p(node) && node->nd_args &&
      |     ^
compile.c:4519:7: note: here
 4519 |       case NODE_FCALL:
      |       ^~~~
compile.c: In function ‘defined_expr0’:
compile.c:2982:23: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2982 |       case NODE_ARRAY:{
      |                       ^
compile.c:2994:7: note: here
 2994 |       case NODE_STR:
      |       ^~~~
compiling debug.c
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]
   84 | #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 iseq.c
compiling vm.c
In file included from iseq.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
   84 | #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 ./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=]
  369 | #define ID2SYM(x) (rb_id2sym(x))
      |                   ~^~~~~~~~~~~~~
iseq.c:1182:7: note: in expansion of macro ‘ID2SYM’
 1182 |  op = ID2SYM(op);
      |       ^~~~~~
iseq.c:1184:7: note: here
 1184 |       case TS_VALUE:  /* VALUE */
      |       ^~~~
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]
 1476 |     return rb_protect((VALUE (*)(VALUE))rb_eval_string, (VALUE)str, state);
      |                       ^
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=]
 1315 |       case T_FLOAT: {
      |                     ^
insns.def:1321:7: note: here
 1321 |       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=]
 1954 |  vm_super_outside();
      |  ^~~~~~~~~~~~~~~~~~
vm_insnhelper.c:1955:7: note: here
 1955 |       case -2:
      |       ^~~~
compiling vm_dump.c
In file included from vm_dump.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 vm_backtrace.c
compiling vm_trace.c
In file included from vm_backtrace.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
   84 | #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]
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]
  259 |   (*((rb_event_hook_raw_arg_func_t)hook->func))(hook->data, trace_arg);
      |      ^
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]
 1014 |  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]
 1018 |  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]
 1033 |  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]
 1036 |  rb_remove_event_hook_with_data((rb_event_hook_func_t)tp_call_trace, tpval);
      |                                 ^
compiling thread.c
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]
   84 | #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 cont.c
In file included from cont.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
      |                              ^
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling ./enc/ascii.c
compiling ./enc/us_ascii.c
compiling ./enc/unicode.c
compiling ./enc/utf_8.c
thread.c: In function ‘rb_thread_fd_select’:
thread.c:3462:34: warning: ‘orig_read.maxfd’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 3462 |     rb_fdset_t UNINITIALIZED_VAR(orig_read);
      |                                  ^~~~~~~~~
In file included from method.h:14,
                 from vm_core.h:24,
                 from eval_intern.h:5,
                 from thread.c:60:
thread.c:3462:34: note: ‘orig_read.maxfd’ was declared here
 3462 |     rb_fdset_t UNINITIALIZED_VAR(orig_read);
      |                                  ^~~~~~~~~
internal.h:40:30: note: in definition of macro ‘UNINITIALIZED_VAR’
   40 | #define UNINITIALIZED_VAR(x) x __attribute__((unused))
      |                              ^
thread.c:3463:34: warning: ‘orig_write.maxfd’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 3463 |     rb_fdset_t UNINITIALIZED_VAR(orig_write);
      |                                  ^~~~~~~~~~
In file included from method.h:14,
                 from vm_core.h:24,
                 from eval_intern.h:5,
                 from thread.c:60:
thread.c:3463:34: note: ‘orig_write.maxfd’ was declared here
 3463 |     rb_fdset_t UNINITIALIZED_VAR(orig_write);
      |                                  ^~~~~~~~~~
internal.h:40:30: note: in definition of macro ‘UNINITIALIZED_VAR’
   40 | #define UNINITIALIZED_VAR(x) x __attribute__((unused))
      |                              ^
thread.c:3464:34: warning: ‘orig_except.maxfd’ may be used uninitialized in this function [-Wmaybe-uninitialized]
 3464 |     rb_fdset_t UNINITIALIZED_VAR(orig_except);
      |                                  ^~~~~~~~~~~
In file included from method.h:14,
                 from vm_core.h:24,
                 from eval_intern.h:5,
                 from thread.c:60:
thread.c:3464:34: note: ‘orig_except.maxfd’ was declared here
 3464 |     rb_fdset_t UNINITIALIZED_VAR(orig_except);
      |                                  ^~~~~~~~~~~
internal.h:40:30: note: in definition of macro ‘UNINITIALIZED_VAR’
   40 | #define UNINITIALIZED_VAR(x) x __attribute__((unused))
      |                              ^
compiling newline.c
compiling ./missing/setproctitle.c
compiling ./missing/strlcat.c
compiling ./missing/strlcpy.c
compiling addr2line.c
compiling dmyext.c
compiling dmyenc.c
compiling dln.c
addr2line.c: In function ‘kvprintf’:
addr2line.c:960:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
  960 |    if (!dot) {
      |       ^
addr2line.c:964:3: note: here
  964 |   case '1': case '2': case '3': case '4':
      |   ^~~~
addr2line.c:1100:10: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1100 |    upper = 1;
      |    ~~~~~~^~~
addr2line.c:1101:3: note: here
 1101 |   case 'x':
      |   ^~~~
compiling localeinit.c
compiling prelude.c
In file included from localeinit.c:12:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
   84 | #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 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 '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[1]: Nothing to be done for 'srcs'.
make[1]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
generating transdb.h
linking static-library libruby-static.a
ar: `u' modifier ignored since `D' is the default (see `U')
transdb.h updated
verifying static-library libruby-static.a
generating makefile exts.mk
making enc
making trans
make[1]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[1]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
compiling ./enc/trans/transdb.c
compiling ./enc/encdb.c
compiling ./enc/big5.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
configuring -test-/dln/empty
configuring -test-/exception
configuring -test-/fatal
configuring -test-/file
compiling ./enc/trans/big5.c
In file included from ./enc/encdb.c:12:
./internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
      |                              ^
./internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling ./enc/cp949.c
compiling ./enc/emacs_mule.c
compiling ./enc/euc_jp.c
compiling ./enc/euc_kr.c
compiling ./enc/euc_tw.c
compiling ./enc/gb2312.c
compiling ./enc/gb18030.c
compiling ./enc/gbk.c
compiling ./enc/trans/chinese.c
compiling ./enc/iso_8859_1.c
compiling ./enc/iso_8859_2.c
compiling ./enc/iso_8859_3.c
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
compiling ./enc/iso_8859_4.c
compiling ./enc/iso_8859_5.c
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
compiling ./enc/iso_8859_6.c
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
compiling ./enc/trans/emoji.c
compiling ./enc/iso_8859_7.c
compiling ./enc/trans/emoji_iso2022_kddi.c
compiling ./enc/iso_8859_8.c
configuring continuation
configuring coverage
configuring date
compiling ./enc/iso_8859_9.c
configuring dbm
compiling ./enc/iso_8859_10.c
compiling ./enc/trans/emoji_sjis_docomo.c
compiling ./enc/iso_8859_11.c
compiling ./enc/iso_8859_13.c
compiling ./enc/trans/emoji_sjis_kddi.c
compiling ./enc/iso_8859_14.c
compiling ./enc/iso_8859_15.c
compiling ./enc/trans/emoji_sjis_softbank.c
compiling ./enc/iso_8859_16.c
compiling ./enc/koi8_r.c
compiling ./enc/trans/escape.c
compiling ./enc/koi8_u.c
compiling ./enc/trans/gb18030.c
compiling ./enc/shift_jis.c
compiling ./enc/trans/gbk.c
compiling ./enc/utf_16be.c
compiling ./enc/utf_16le.c
compiling ./enc/trans/iso2022.c
compiling ./enc/utf_32be.c
compiling ./enc/utf_32le.c
compiling ./enc/trans/japanese.c
compiling ./enc/windows_31j.c
compiling ./enc/trans/japanese_euc.c
compiling ./enc/trans/japanese_sjis.c
compiling ./enc/windows_1250.c
compiling ./enc/windows_1251.c
compiling ./enc/windows_1252.c
Failed to configure dbm. It will not be installed.
configuring digest
configuring digest/bubblebabble
configuring digest/md5
linking encoding encdb.so
compiling ./enc/trans/korean.c
linking encoding big5.so
linking encoding cp949.so
linking encoding emacs_mule.so
linking encoding euc_jp.so
linking encoding euc_kr.so
linking encoding euc_tw.so
linking encoding gb2312.so
linking encoding gb18030.so
linking encoding gbk.so
linking encoding iso_8859_1.so
linking encoding iso_8859_2.so
linking encoding iso_8859_3.so
linking encoding iso_8859_4.so
linking encoding iso_8859_5.so
compiling ./enc/trans/single_byte.c
linking encoding iso_8859_6.so
linking encoding iso_8859_7.so
linking encoding iso_8859_8.so
configuring digest/rmd160
linking encoding iso_8859_9.so
linking encoding iso_8859_10.so
linking encoding iso_8859_11.so
linking encoding iso_8859_13.so
compiling ./enc/trans/utf8_mac.c
linking encoding iso_8859_14.so
linking encoding iso_8859_15.so
linking encoding iso_8859_16.so
compiling ./enc/trans/utf_16_32.c
linking encoding koi8_r.so
linking encoding koi8_u.so
linking encoding shift_jis.so
linking encoding utf_16be.so
linking encoding utf_16le.so
linking encoding utf_32be.so
linking encoding utf_32le.so
linking transcoder transdb.so
linking encoding windows_31j.so
linking transcoder big5.so
configuring digest/sha1
linking encoding windows_1250.so
linking encoding windows_1251.so
linking transcoder chinese.so
linking encoding windows_1252.so
linking transcoder emoji.so
make[1]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
linking transcoder emoji_iso2022_kddi.so
linking transcoder emoji_sjis_docomo.so
linking transcoder emoji_sjis_kddi.so
linking transcoder emoji_sjis_softbank.so
linking transcoder escape.so
linking transcoder gb18030.so
linking transcoder gbk.so
linking transcoder iso2022.so
linking transcoder japanese.so
linking transcoder japanese_euc.so
linking transcoder japanese_sjis.so
linking transcoder korean.so
linking transcoder single_byte.so
linking transcoder utf_16_32.so
linking transcoder utf8_mac.so
make[1]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
making encs
make[1]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[1]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
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 '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling resize.c
compiling bug.c
compiling bug.c
compiling str2big.c
compiling init.c
compiling big2str.c
compiling mul.c
compiling div.c
linking shared-object -test-/bug-3571/bug.so
In file included from str2big.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 -test-/array/resize.so
In file included from big2str.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
   84 | #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 div.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 bigzero.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/bug-3571'
linking shared-object -test-/bug-3662/bug.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/array/resize'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling bug.c
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling bug_reporter.c
compiling intpack.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/bug-3662'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling class2name.c
compiling init.c
In file included from bigzero.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
      |                              ^
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from intpack.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 -test-/bug-5832/bug.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/bug-5832'
linking shared-object -test-/class.so
linking shared-object -test-/bug_reporter/bug_reporter.so
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling inspector.c
compiling profile_frames.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/class'
compiling init.c
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/bug_reporter'
linking shared-object -test-/bignum.so
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling empty.c
compiling dataerror.c
compiling init.c
compiling enc_raise.c
compiling ensured.c
linking shared-object -test-/dln/empty.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/bignum'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling rb_fatal.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/dln/empty'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling init.c
compiling fs.c
compiling stat.c
linking shared-object -test-/debug.so
linking shared-object -test-/exception.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/debug'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling init.c
compiling nextafter.c
linking shared-object -test-/fatal/rb_fatal.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/exception'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling passing_block.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/fatal'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling init.c
compiling delete.c
linking shared-object -test-/file.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/file'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
linking shared-object -test-/float.so
compiling iseq_load.c
linking shared-object -test-/funcall/funcall.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/float'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling break.c
compiling init.c
linking shared-object -test-/hash.so
compiling yield.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/funcall'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/hash'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling dot.dot.c
compiling usrcompat.c
linking shared-object -test-/iseq_load/iseq_load.so
linking shared-object -test-/load/dot.dot/dot.dot.so
linking shared-object -test-/iter.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/iseq_load'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling usrmarshal.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/load/dot.dot'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling init.c
compiling arity.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/iter'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling num2int.c
linking shared-object -test-/marshal/compat.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/marshal/compat'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling path_to_class.c
linking shared-object -test-/marshal/usr.so
linking shared-object -test-/method.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/marshal/usr'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling postponed_job.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/method'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling printf.c
linking shared-object -test-/num2int/num2int.so
linking shared-object -test-/path_to_class/path_to_class.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/num2int'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling init.c
compiling super.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/path_to_class'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling receiver.c
compiling rat.c
linking shared-object -test-/postponed_job.so
linking shared-object -test-/printf.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/postponed_job'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling recursion.c
In file included from rat.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/printf'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling foreach.c
linking shared-object -test-/proc.so
linking shared-object -test-/rational.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/proc'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling numhash.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/rational'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling update.c
linking shared-object -test-/recursion.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/recursion'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling nofree.c
compiling coderange.c
compiling ellipsize.c
compiling normalize.c
linking shared-object -test-/st/foreach.so
linking shared-object -test-/st/numhash.so
linking shared-object -test-/st/update.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/st/numhash'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling init.c
compiling duplicate.c
compiling init.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/st/update'
compiling member.c
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling type.c
compiling init.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/st/foreach'
In file included from normalize.c:1:
../../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling tracepoint.c
compiling qsort.c
compiling gc_hook.c
compiling set_len.c
compiling cstr.c
compiling enc_str_buf_cat.c
linking shared-object -test-/struct.so
linking shared-object -test-/symbol.so
compiling enc_associate.c
linking shared-object -test-/tracepoint.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/struct'
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/symbol'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling modify.c
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling typeddata.c
compiling at_exit.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/tracepoint'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling wait_for_single_fd.c
linking shared-object -test-/typeddata/typeddata.so
linking shared-object -test-/string/string.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/typeddata'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/win32/console'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/win32/dln'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/win32/fd_setsize'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling bigdecimal.c
linking shared-object -test-/vm/at_exit.so
installing default bigdecimal libraries
linking shared-object -test-/wait_for_single_fd/wait_for_single_fd.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/string'
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/vm'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling continuation.c
compiling coverage.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/-test-/wait_for_single_fd'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling date_core.c
compiling date_parse.c
compiling date_strftime.c
compiling date_strptime.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]
   84 | #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 continuation.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/continuation'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/dbm'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling digest.c
installing digest libraries
linking shared-object coverage.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/coverage'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling bubblebabble.c
installing default digest libraries
date_strftime.c: In function ‘date_strftime_with_tmx’:
date_strftime.c:573:14: warning: this statement may fall through [-Wimplicit-fallthrough=]
  573 |      padding = '0';
      |      ~~~~~~~~^~~~~
date_strftime.c:574:4: note: here
  574 |    case '1':  case '2': case '3': case '4':
      |    ^~~~
date_core.c: In function ‘datetime_s_jisx0301’:
date_core.c:8151:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 8151 |  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:8152:7: note: here
 8152 |       case 1:
      |       ^~~~
date_core.c: In function ‘datetime_s_httpdate’:
date_core.c:8121:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 8121 |  str = rb_str_new2("Mon, 01 Jan -4712 00:00:00 GMT");
date_core.c:8122:7: note: here
 8122 |       case 1:
      |       ^~~~
date_core.c: In function ‘datetime_s_rfc2822’:
date_core.c:8091:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 8091 |  str = rb_str_new2("Mon, 1 Jan -4712 00:00:00 +0000");
date_core.c:8092:7: note: here
 8092 |       case 1:
      |       ^~~~
date_core.c: In function ‘datetime_s_xmlschema’:
date_core.c:8060:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 8060 |  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:8061:7: note: here
 8061 |       case 1:
      |       ^~~~
date_core.c: In function ‘datetime_s_rfc3339’:
date_core.c:8030:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 8030 |  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:8031:7: note: here
 8031 |       case 1:
      |       ^~~~
date_core.c: In function ‘datetime_s_iso8601’:
date_core.c:8000:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 8000 |  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:8001:7: note: here
 8001 |       case 1:
      |       ^~~~
date_core.c: In function ‘datetime_s_parse’:
date_core.c:7960:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 7960 |  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:7961:7: note: here
 7961 |       case 1:
      |       ^~~~
date_core.c:7962:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
 7962 |  comp = Qtrue;
date_core.c:7963:7: note: here
 7963 |       case 2:
      |       ^~~~
date_core.c: In function ‘datetime_s_strptime’:
date_core.c:7917:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 7917 |  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:7918:7: note: here
 7918 |       case 1:
      |       ^~~~
date_core.c:7919:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 7919 |  fmt = rb_str_new2("%FT%T%z");
date_core.c:7920:7: note: here
 7920 |       case 2:
      |       ^~~~
date_core.c: In function ‘datetime_s_commercial’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3241 |     if (!c_valid_start_p(dsg)) {\
      |        ^
date_core.c:7480:2: note: in expansion of macro ‘val2sg’
 7480 |  val2sg(vsg, sg);
      |  ^~~~~~
date_core.c:7481:7: note: here
 7481 |       case 7:
      |       ^~~~
date_core.c:4689:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4689 |     if (!offset_to_sec(vof, &iof)) {\
      |        ^
date_core.c:7482:2: note: in expansion of macro ‘val2off’
 7482 |  val2off(vof, rof);
      |  ^~~~~~~
date_core.c:7483:7: note: here
 7483 |       case 6:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7484:2: note: in expansion of macro ‘num2int_with_frac’
 7484 |  num2int_with_frac(s, positive_inf);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7485:7: note: here
 7485 |       case 5:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7486:2: note: in expansion of macro ‘num2int_with_frac’
 7486 |  num2int_with_frac(min, 5);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7487:7: note: here
 7487 |       case 4:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7488:2: note: in expansion of macro ‘num2int_with_frac’
 7488 |  num2int_with_frac(h, 4);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7489:7: note: here
 7489 |       case 3:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7490:2: note: in expansion of macro ‘num2int_with_frac’
 7490 |  num2int_with_frac(d, 3);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7491:7: note: here
 7491 |       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=]
  648 | #define NUM2INT(x) rb_num2int_inline(x)
      |                    ^~~~~~~~~~~~~~~~~~~~
date_core.c:7492:6: note: in expansion of macro ‘NUM2INT’
 7492 |  w = NUM2INT(vw);
      |      ^~~~~~~
date_core.c:7493:7: note: here
 7493 |       case 1:
      |       ^~~~
date_core.c: In function ‘datetime_s_civil’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3241 |     if (!c_valid_start_p(dsg)) {\
      |        ^
date_core.c:7383:2: note: in expansion of macro ‘val2sg’
 7383 |  val2sg(vsg, sg);
      |  ^~~~~~
date_core.c:7384:7: note: here
 7384 |       case 7:
      |       ^~~~
date_core.c:4689:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4689 |     if (!offset_to_sec(vof, &iof)) {\
      |        ^
date_core.c:7385:2: note: in expansion of macro ‘val2off’
 7385 |  val2off(vof, rof);
      |  ^~~~~~~
date_core.c:7386:7: note: here
 7386 |       case 6:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7387:2: note: in expansion of macro ‘num2int_with_frac’
 7387 |  num2int_with_frac(s, positive_inf);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7388:7: note: here
 7388 |       case 5:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7389:2: note: in expansion of macro ‘num2int_with_frac’
 7389 |  num2int_with_frac(min, 5);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7390:7: note: here
 7390 |       case 4:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7391:2: note: in expansion of macro ‘num2int_with_frac’
 7391 |  num2int_with_frac(h, 4);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7392:7: note: here
 7392 |       case 3:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7393:2: note: in expansion of macro ‘num2int_with_frac’
 7393 |  num2int_with_frac(d, 3);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7394:7: note: here
 7394 |       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=]
  648 | #define NUM2INT(x) rb_num2int_inline(x)
      |                    ^~~~~~~~~~~~~~~~~~~~
date_core.c:7395:6: note: in expansion of macro ‘NUM2INT’
 7395 |  m = NUM2INT(vm);
      |      ^~~~~~~
date_core.c:7396:7: note: here
 7396 |       case 1:
      |       ^~~~
date_core.c: In function ‘datetime_s_ordinal’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3241 |     if (!c_valid_start_p(dsg)) {\
      |        ^
date_core.c:7306:2: note: in expansion of macro ‘val2sg’
 7306 |  val2sg(vsg, sg);
      |  ^~~~~~
date_core.c:7307:7: note: here
 7307 |       case 6:
      |       ^~~~
date_core.c:4689:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4689 |     if (!offset_to_sec(vof, &iof)) {\
      |        ^
date_core.c:7308:2: note: in expansion of macro ‘val2off’
 7308 |  val2off(vof, rof);
      |  ^~~~~~~
date_core.c:7309:7: note: here
 7309 |       case 5:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7310:2: note: in expansion of macro ‘num2int_with_frac’
 7310 |  num2int_with_frac(s, positive_inf);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7311:7: note: here
 7311 |       case 4:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7312:2: note: in expansion of macro ‘num2int_with_frac’
 7312 |  num2int_with_frac(min, 4);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7313:7: note: here
 7313 |       case 3:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7314:2: note: in expansion of macro ‘num2int_with_frac’
 7314 |  num2int_with_frac(h, 3);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7315:7: note: here
 7315 |       case 2:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7316:2: note: in expansion of macro ‘num2int_with_frac’
 7316 |  num2int_with_frac(d, 2);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7317:7: note: here
 7317 |       case 1:
      |       ^~~~
date_core.c: In function ‘datetime_s_jd’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3241 |     if (!c_valid_start_p(dsg)) {\
      |        ^
date_core.c:7237:2: note: in expansion of macro ‘val2sg’
 7237 |  val2sg(vsg, sg);
      |  ^~~~~~
date_core.c:7238:7: note: here
 7238 |       case 5:
      |       ^~~~
date_core.c:4689:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4689 |     if (!offset_to_sec(vof, &iof)) {\
      |        ^
date_core.c:7239:2: note: in expansion of macro ‘val2off’
 7239 |  val2off(vof, rof);
      |  ^~~~~~~
date_core.c:7240:7: note: here
 7240 |       case 4:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7241:2: note: in expansion of macro ‘num2int_with_frac’
 7241 |  num2int_with_frac(s, positive_inf);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7242:7: note: here
 7242 |       case 3:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7243:2: note: in expansion of macro ‘num2int_with_frac’
 7243 |  num2int_with_frac(min, 3);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7244:7: note: here
 7244 |       case 2:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:7245:2: note: in expansion of macro ‘num2int_with_frac’
 7245 |  num2int_with_frac(h, 2);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:7246:7: note: here
 7246 |       case 1:
      |       ^~~~
date_core.c: In function ‘date_s_jisx0301’:
date_core.c:4624:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4624 |  str = rb_str_new2("-4712-01-01");
date_core.c:4625:7: note: here
 4625 |       case 1:
      |       ^~~~
date_core.c: In function ‘date_s_httpdate’:
date_core.c:4583:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4583 |  str = rb_str_new2("Mon, 01 Jan -4712 00:00:00 GMT");
date_core.c:4584:7: note: here
 4584 |       case 1:
      |       ^~~~
date_core.c: In function ‘date_s_rfc2822’:
date_core.c:4541:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4541 |  str = rb_str_new2("Mon, 1 Jan -4712 00:00:00 +0000");
date_core.c:4542:7: note: here
 4542 |       case 1:
      |       ^~~~
date_core.c: In function ‘date_s_xmlschema’:
date_core.c:4497:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4497 |  str = rb_str_new2("-4712-01-01");
date_core.c:4498:7: note: here
 4498 |       case 1:
      |       ^~~~
date_core.c: In function ‘date_s_rfc3339’:
date_core.c:4456:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4456 |  str = rb_str_new2("-4712-01-01T00:00:00+00:00");
date_core.c:4457:7: note: here
 4457 |       case 1:
      |       ^~~~
date_core.c: In function ‘date_s_iso8601’:
date_core.c:4415:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4415 |  str = rb_str_new2("-4712-01-01");
date_core.c:4416:7: note: here
 4416 |       case 1:
      |       ^~~~
date_core.c: In function ‘date_s_parse’:
date_core.c:4359:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4359 |  str = rb_str_new2("-4712-01-01");
date_core.c:4360:7: note: here
 4360 |       case 1:
      |       ^~~~
date_core.c:4361:7: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4361 |  comp = Qtrue;
date_core.c:4362:7: note: here
 4362 |       case 2:
      |       ^~~~
date_core.c: In function ‘date_s_strptime’:
date_core.c:4268:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4268 |  str = rb_str_new2("-4712-01-01");
date_core.c:4269:7: note: here
 4269 |       case 1:
      |       ^~~~
date_core.c:4270:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
 4270 |  fmt = rb_str_new2("%F");
date_core.c:4271:7: note: here
 4271 |       case 2:
      |       ^~~~
date_core.c: In function ‘date_s_commercial’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3241 |     if (!c_valid_start_p(dsg)) {\
      |        ^
date_core.c:3474:2: note: in expansion of macro ‘val2sg’
 3474 |  val2sg(vsg, sg);
      |  ^~~~~~
date_core.c:3475:7: note: here
 3475 |       case 3:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:3476:2: note: in expansion of macro ‘num2int_with_frac’
 3476 |  num2int_with_frac(d, positive_inf);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:3477:7: note: here
 3477 |       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=]
  648 | #define NUM2INT(x) rb_num2int_inline(x)
      |                    ^~~~~~~~~~~~~~~~~~~~
date_core.c:3478:6: note: in expansion of macro ‘NUM2INT’
 3478 |  w = NUM2INT(vw);
      |      ^~~~~~~
date_core.c:3479:7: note: here
 3479 |       case 1:
      |       ^~~~
date_core.c: In function ‘date_s_civil’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3241 |     if (!c_valid_start_p(dsg)) {\
      |        ^
date_core.c:3397:2: note: in expansion of macro ‘val2sg’
 3397 |  val2sg(vsg, sg);
      |  ^~~~~~
date_core.c:3398:7: note: here
 3398 |       case 3:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:3399:2: note: in expansion of macro ‘num2int_with_frac’
 3399 |  num2int_with_frac(d, positive_inf);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:3400:7: note: here
 3400 |       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=]
  648 | #define NUM2INT(x) rb_num2int_inline(x)
      |                    ^~~~~~~~~~~~~~~~~~~~
date_core.c:3401:6: note: in expansion of macro ‘NUM2INT’
 3401 |  m = NUM2INT(vm);
      |      ^~~~~~~
date_core.c:3402:7: note: here
 3402 |       case 1:
      |       ^~~~
date_core.c: In function ‘date_s_ordinal’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3241 |     if (!c_valid_start_p(dsg)) {\
      |        ^
date_core.c:3328:2: note: in expansion of macro ‘val2sg’
 3328 |  val2sg(vsg, sg);
      |  ^~~~~~
date_core.c:3329:7: note: here
 3329 |       case 2:
      |       ^~~~
date_core.c:3217:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3217 |     if (f_nonzero_p(fr)) {\
      |        ^
date_core.c:3330:2: note: in expansion of macro ‘num2int_with_frac’
 3330 |  num2int_with_frac(d, positive_inf);
      |  ^~~~~~~~~~~~~~~~~
date_core.c:3331:7: note: here
 3331 |       case 1:
      |       ^~~~
date_core.c: In function ‘date_s_jd’:
date_core.c:3241:8: warning: this statement may fall through [-Wimplicit-fallthrough=]
 3241 |     if (!c_valid_start_p(dsg)) {\
      |        ^
date_core.c:3276:2: note: in expansion of macro ‘val2sg’
 3276 |  val2sg(vsg, sg);
      |  ^~~~~~
date_core.c:3277:7: note: here
 3277 |       case 1:
      |       ^~~~
linking shared-object digest.so
linking shared-object digest/bubblebabble.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/digest/bubblebabble'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling md5init.c
compiling md5ossl.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/digest'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling rmd160init.c
compiling rmd160ossl.c
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]
   18 |     (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]
   19 |     (rb_digest_hash_finish_func_t)MD5_Finish,
      |     ^
linking shared-object digest/md5.so
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]
   18 |     (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]
   19 |     (rb_digest_hash_finish_func_t)RMD160_Finish,
      |     ^
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/digest/md5'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling sha1init.c
compiling sha1ossl.c
linking shared-object digest/rmd160.so
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]
   18 |     (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]
   19 |     (rb_digest_hash_finish_func_t)SHA1_Finish,
      |     ^
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/digest/rmd160'
installing default date_core libraries
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling sha2init.c
compiling sha2ossl.c
installing default sha2 libraries
linking shared-object digest/sha1.so
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]
   21 |     (rb_digest_hash_update_func_t)SHA##bitlen##_Update, \
      |     ^
sha2init.c:12:30: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
   12 | #define FOREACH_BITLEN(func) func(256) func(384) func(512)
      |                              ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
   25 | 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]
   22 |     (rb_digest_hash_finish_func_t)SHA##bitlen##_Finish, \
      |     ^
sha2init.c:12:30: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
   12 | #define FOREACH_BITLEN(func) func(256) func(384) func(512)
      |                              ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
   25 | 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]
   21 |     (rb_digest_hash_update_func_t)SHA##bitlen##_Update, \
      |     ^
sha2init.c:12:40: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
   12 | #define FOREACH_BITLEN(func) func(256) func(384) func(512)
      |                                        ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
   25 | 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]
   22 |     (rb_digest_hash_finish_func_t)SHA##bitlen##_Finish, \
      |     ^
sha2init.c:12:40: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
   12 | #define FOREACH_BITLEN(func) func(256) func(384) func(512)
      |                                        ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
   25 | 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]
   21 |     (rb_digest_hash_update_func_t)SHA##bitlen##_Update, \
      |     ^
sha2init.c:12:50: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
   12 | #define FOREACH_BITLEN(func) func(256) func(384) func(512)
      |                                                  ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
   25 | 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]
   22 |     (rb_digest_hash_finish_func_t)SHA##bitlen##_Finish, \
      |     ^
sha2init.c:12:50: note: in expansion of macro ‘DEFINE_ALGO_METADATA’
   12 | #define FOREACH_BITLEN(func) func(256) func(384) func(512)
      |                                                  ^~~~
sha2init.c:25:1: note: in expansion of macro ‘FOREACH_BITLEN’
   25 | FOREACH_BITLEN(DEFINE_ALGO_METADATA)
      | ^~~~~~~~~~~~~~
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/digest/sha1'
linking shared-object digest/sha2.so
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
generating constant definitions
compiling etc.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/digest/sha2'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling fcntl.c
linking shared-object fcntl.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fcntl'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling fiber.c
linking shared-object fiber.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiber'
linking shared-object etc.so
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling function.c
compiling conversions.c
compiling closure.c
compiling pointer.c
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/etc'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/gdbm'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling console.c
installing default console libraries
compiling handle.c
compiling fiddle.c
make[3]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle'
make[3]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
make 'AR_FLAGS=' 'CC_FOR_BUILD=' 'CFLAGS=-O3 -fno-fast-math -ggdb3  -Wall -fexceptions' 'CXXFLAGS=-O3 -fno-fast-math -ggdb3 ' 'CFLAGS_FOR_BUILD=' 'CFLAGS_FOR_TARGET=' 'INSTALL=/usr/bin/install -c' 'INSTALL_DATA=/usr/bin/install -c -m 644' 'INSTALL_PROGRAM=/usr/bin/install -c' 'INSTALL_SCRIPT=/usr/bin/install -c' 'JC1FLAGS=' 'LDFLAGS=-L. -L/home/ankit/.rbenv/versions/2.2.10/lib  -fstack-protector -rdynamic -Wl,-export-dynamic  -L../../.. ' 'LIBCFLAGS=' 'LIBCFLAGS_FOR_TARGET=' 'MAKE=make' 'MAKEINFO=/bin/bash /tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1/missing makeinfo ' 'PICFLAG=' 'PICFLAG_FOR_TARGET=' 'RUNTESTFLAGS=' 'SHELL=/bin/bash' 'exec_prefix=/usr/local' 'infodir=/usr/local/share/info' 'libdir=/home/ankit/.rbenv/versions/2.2.10/lib' 'mandir=/usr/local/share/man' 'prefix=/usr/local' 'AR=ar' 'AS=as' 'CC=gcc' 'CXX=g++' 'LD=ld -m elf_x86_64' 'NM=nm' 'RANLIB=ranlib' 'DESTDIR=' all-recursive
make[4]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1'
Making all in include
make[5]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1/include'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1/include'
Making all in testsuite
make[5]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1/testsuite'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1/testsuite'
Making all in man
make[5]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1/man'
make[5]: Nothing to be done for 'all'.
make[5]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1/man'
make[5]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1'
installing default fiddle libraries
linking shared-object io/console.so
  CC       src/prep_cif.lo
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/io/console'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling nonblock.c
linking shared-object io/nonblock.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/io/nonblock'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling wait.c
  CC       src/types.lo
  CC       src/raw_api.lo
linking shared-object io/wait.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/io/wait'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
installing default libraries
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/json'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling generator.c
generator.c: In function ‘convert_UTF8_to_JSON_ASCII’:
generator.c:148:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
  148 |             case 5: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */
      |                                      ~~~^~~~~
generator.c:149:13: note: here
  149 |             case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */
      |             ^~~~
generator.c:149:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
  149 |             case 4: ch += *source++; ch <<= 6; /* remember, illegal UTF-8 */
      |                                      ~~~^~~~~
generator.c:150:13: note: here
  150 |             case 3: ch += *source++; ch <<= 6;
      |             ^~~~
generator.c:150:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
  150 |             case 3: ch += *source++; ch <<= 6;
      |                                      ~~~^~~~~
generator.c:151:13: note: here
  151 |             case 2: ch += *source++; ch <<= 6;
      |             ^~~~
generator.c:151:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
  151 |             case 2: ch += *source++; ch <<= 6;
      |                                      ~~~^~~~~
generator.c:152:13: note: here
  152 |             case 1: ch += *source++; ch <<= 6;
      |             ^~~~
generator.c:152:41: warning: this statement may fall through [-Wimplicit-fallthrough=]
  152 |             case 1: ch += *source++; ch <<= 6;
      |                                      ~~~^~~~~
generator.c:153:13: note: here
  153 |             case 0: ch += *source++;
      |             ^~~~
generator.c: In function ‘isLegalUTF8’:
generator.c:86:46: warning: this statement may fall through [-Wimplicit-fallthrough=]
   86 |         case 4: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
generator.c:87:9: note: here
   87 |         case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
      |         ^~~~
generator.c:87:46: warning: this statement may fall through [-Wimplicit-fallthrough=]
   87 |         case 3: if ((a = (*--srcptr)) < 0x80 || a > 0xBF) return 0;
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
generator.c:88:9: note: here
   88 |         case 2: if ((a = (*--srcptr)) > 0xBF) return 0;
      |         ^~~~
generator.c:90:21: warning: this statement may fall through [-Wimplicit-fallthrough=]
   90 |                     switch (*source) {
      |                     ^~~~~~
generator.c:99:9: note: here
   99 |         case 1: if (*source >= 0x80 && *source < 0xC2) return 0;
      |         ^~~~
  CC       src/java_raw_api.lo
  CC       src/closures.lo
src/closures.c: In function 'dlmmap_locked':
src/closures.c:488:7: warning: ignoring return value of 'ftruncate', declared with attribute warn_unused_result [-Wunused-result]
  488 |       ftruncate (execfd, offset);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
src/closures.c:500:7: warning: ignoring return value of 'ftruncate', declared with attribute warn_unused_result [-Wunused-result]
  500 |       ftruncate (execfd, offset);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
linking shared-object bigdecimal.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/bigdecimal'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling parser.c
parser.c: In function ‘cParser_parse_quirks_mode’:
parser.c:1960:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1960 |  if ( ++p == pe )
      |     ^
parser.c:1962:1: note: here
 1962 | case 1:
      | ^~~~
parser.rl:795:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  795 |             begin_value >parse_value
      |     ^
parser.rl:797:1: note: here
  797 | }%%
      | ^~~ 
parser.c:2007:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2007 |  if ( ++p == pe )
      |     ^
parser.c:2009:1: note: here
 2009 | case 2:
      | ^~~~
parser.c:2016:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2016 |  if ( ++p == pe )
      |     ^
parser.c:2018:1: note: here
 2018 | case 3:
      | ^~~~
parser.c:2023:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2023 |  if ( ++p == pe )
      |     ^
parser.c:2025:1: note: here
 2025 | case 4:
      | ^~~~
parser.c:2032:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2032 |  if ( ++p == pe )
      |     ^
parser.c:2034:1: note: here
 2034 | case 5:
      | ^~~~
parser.c:2039:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2039 |  if ( ++p == pe )
      |     ^
parser.c:2041:1: note: here
 2041 | case 6:
      | ^~~~
parser.c:2048:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2048 |  if ( ++p == pe )
      |     ^
parser.c:2050:1: note: here
 2050 | case 7:
      | ^~~~
parser.c:2055:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2055 |  if ( ++p == pe )
      |     ^
parser.c:2057:1: note: here
 2057 | case 8:
      | ^~~~
parser.c:2064:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 2064 |  if ( ++p == pe )
      |     ^
parser.c:2066:1: note: here
 2066 | case 9:
      | ^~~~
parser.c: In function ‘JSON_parse_value’:
parser.rl:227:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  227 |             *result = CNaN;
      |     ^
parser.rl:229:1: note: here
  229 |             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=]
  630 |  if ( ++p == pe )
      |     ^
parser.c:632:1: note: here
  632 | case 2:
      | ^~~~
parser.c:637:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  637 |  if ( ++p == pe )
      |     ^
parser.c:639:1: note: here
  639 | case 3:
      | ^~~~
parser.c:644:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  644 |  if ( ++p == pe )
      |     ^
parser.c:646:1: note: here
  646 | case 4:
      | ^~~~
parser.c:651:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  651 |  if ( ++p == pe )
      |     ^
parser.c:653:1: note: here
  653 | case 5:
      | ^~~~
parser.c:658:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  658 |  if ( ++p == pe )
      |     ^
parser.c:660:1: note: here
  660 | case 6:
      | ^~~~
parser.c:665:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  665 |  if ( ++p == pe )
      |     ^
parser.c:667:1: note: here
  667 | case 7:
      | ^~~~
parser.c:672:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  672 |  if ( ++p == pe )
      |     ^
parser.c:674:1: note: here
  674 | case 8:
      | ^~~~
parser.c:679:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  679 |  if ( ++p == pe )
      |     ^
parser.c:681:1: note: here
  681 | case 9:
      | ^~~~
parser.c:686:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  686 |  if ( ++p == pe )
      |     ^
parser.c:688:1: note: here
  688 | case 10:
      | ^~~~
parser.c:693:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  693 |  if ( ++p == pe )
      |     ^
parser.c:695:1: note: here
  695 | case 11:
      | ^~~~
parser.c:700:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  700 |  if ( ++p == pe )
      |     ^
parser.c:702:1: note: here
  702 | case 12:
      | ^~~~
parser.c:707:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  707 |  if ( ++p == pe )
      |     ^
parser.c:709:1: note: here
  709 | case 13:
      | ^~~~
parser.c:714:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  714 |  if ( ++p == pe )
      |     ^
parser.c:716:1: note: here
  716 | case 14:
      | ^~~~
parser.c:721:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  721 |  if ( ++p == pe )
      |     ^
parser.c:723:1: note: here
  723 | case 15:
      | ^~~~
parser.c:728:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  728 |  if ( ++p == pe )
      |     ^
parser.c:730:1: note: here
  730 | case 16:
      | ^~~~
parser.c:735:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  735 |  if ( ++p == pe )
      |     ^
parser.c:737:1: note: here
  737 | case 17:
      | ^~~~
parser.c:742:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  742 |  if ( ++p == pe )
      |     ^
parser.c:744:1: note: here
  744 | case 18:
      | ^~~~
parser.c:749:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  749 |  if ( ++p == pe )
      |     ^
parser.c:751:1: note: here
  751 | case 19:
      | ^~~~
parser.c:756:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  756 |  if ( ++p == pe )
      |     ^
parser.c:758:1: note: here
  758 | case 20:
      | ^~~~
parser.c: In function ‘JSON_parse_string’:
parser.c:1447:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1447 |  if ( ++p == pe )
      |     ^
parser.c:1449:1: note: here
 1449 | case 2:
      | ^~~~
parser.c:1479:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1479 |  if ( ++p == pe )
      |     ^
parser.c:1481:1: note: here
 1481 | case 3:
      | ^~~~
parser.c:1488:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1488 |  if ( ++p == pe )
      |     ^
parser.c:1490:1: note: here
 1490 | case 4:
      | ^~~~
parser.c:1501:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1501 |  if ( ++p == pe )
      |     ^
parser.c:1503:1: note: here
 1503 | case 5:
      | ^~~~
parser.c:1514:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1514 |  if ( ++p == pe )
      |     ^
parser.c:1516:1: note: here
 1516 | case 6:
      | ^~~~
parser.c:1527:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1527 |  if ( ++p == pe )
      |     ^
parser.c:1529:1: note: here
 1529 | case 7:
      | ^~~~
parser.c: In function ‘JSON_parse_array’:
parser.c:1106:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1106 |  if ( ++p == pe )
      |     ^
parser.c:1108:1: note: here
 1108 | case 2:
      | ^~~~
parser.rl:394:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  394 | 
      |     ^
parser.rl:396:1: note: here
  396 | 
      | ^   
parser.c:1163:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1163 |  if ( ++p == pe )
      |     ^
parser.c:1165:1: note: here
 1165 | case 4:
      | ^~~~
parser.c:1187:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1187 |  if ( ++p == pe )
      |     ^
parser.c:1189:1: note: here
 1189 | case 5:
      | ^~~~
parser.c:1196:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1196 |  if ( ++p == pe )
      |     ^
parser.c:1198:1: note: here
 1198 | case 6:
      | ^~~~
parser.c:1203:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1203 |  if ( ++p == pe )
      |     ^
parser.c:1205:1: note: here
 1205 | case 7:
      | ^~~~
parser.c:1212:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1212 |  if ( ++p == pe )
      |     ^
parser.c:1214:1: note: here
 1214 | case 8:
      | ^~~~
parser.c:1219:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1219 |  if ( ++p == pe )
      |     ^
parser.c:1221:1: note: here
 1221 | case 9:
      | ^~~~
parser.c:1228:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1228 |  if ( ++p == pe )
      |     ^
parser.c:1230:1: note: here
 1230 | case 10:
      | ^~~~
parser.c:1235:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1235 |  if ( ++p == pe )
      |     ^
parser.c:1237:1: note: here
 1237 | case 11:
      | ^~~~
parser.c:1244:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1244 |  if ( ++p == pe )
      |     ^
parser.c:1246:1: note: here
 1246 | case 12:
      | ^~~~
parser.c:1261:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1261 |  if ( ++p == pe )
      |     ^
parser.c:1263:1: note: here
 1263 | case 13:
      | ^~~~
parser.c:1270:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1270 |  if ( ++p == pe )
      |     ^
parser.c:1272:1: note: here
 1272 | case 14:
      | ^~~~
parser.c:1277:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1277 |  if ( ++p == pe )
      |     ^
parser.c:1279:1: note: here
 1279 | case 15:
      | ^~~~
parser.c:1286:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1286 |  if ( ++p == pe )
      |     ^
parser.c:1288:1: note: here
 1288 | case 16:
      | ^~~~
parser.c: In function ‘JSON_parse_object’:
parser.c:156:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  156 |  if ( ++p == pe )
      |     ^
parser.c:158:1: note: here
  158 | case 2:
      | ^~~~
parser.rl:162:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  162 | 
      |     ^
parser.rl:164:1: note: here
  164 |     next_pair   = ignore* value_separator pair;
      | ^   
parser.c:194:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  194 |  if ( ++p == pe )
      |     ^
parser.c:196:1: note: here
  196 | case 4:
      | ^~~~
parser.c:203:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  203 |  if ( ++p == pe )
      |     ^
parser.c:205:1: note: here
  205 | case 5:
      | ^~~~
parser.c:210:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  210 |  if ( ++p == pe )
      |     ^
parser.c:212:1: note: here
  212 | case 6:
      | ^~~~
parser.c:219:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  219 |  if ( ++p == pe )
      |     ^
parser.c:221:1: note: here
  221 | case 7:
      | ^~~~
parser.c:226:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  226 |  if ( ++p == pe )
      |     ^
parser.c:228:1: note: here
  228 | case 8:
      | ^~~~
parser.rl:154:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  154 |         char *np;
      |     ^
parser.rl:156:1: note: here
  156 |         np = JSON_parse_string(json, fpc, pe, &last_name);
      | ^   
parser.c:282:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  282 |  if ( ++p == pe )
      |     ^
parser.c:284:1: note: here
  284 | case 10:
      | ^~~~
parser.c:295:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  295 |  if ( ++p == pe )
      |     ^
parser.c:297:1: note: here
  297 | case 11:
      | ^~~~
parser.c:304:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  304 |  if ( ++p == pe )
      |     ^
parser.c:306:1: note: here
  306 | case 12:
      | ^~~~
parser.c:311:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  311 |  if ( ++p == pe )
      |     ^
parser.c:313:1: note: here
  313 | case 13:
      | ^~~~
parser.c:320:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  320 |  if ( ++p == pe )
      |     ^
parser.c:322:1: note: here
  322 | case 14:
      | ^~~~
parser.c:327:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  327 |  if ( ++p == pe )
      |     ^
parser.c:329:1: note: here
  329 | case 15:
      | ^~~~
parser.c:336:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  336 |  if ( ++p == pe )
      |     ^
parser.c:338:1: note: here
  338 | case 16:
      | ^~~~
parser.c:343:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  343 |  if ( ++p == pe )
      |     ^
parser.c:345:1: note: here
  345 | case 17:
      | ^~~~
parser.c:352:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  352 |  if ( ++p == pe )
      |     ^
parser.c:354:1: note: here
  354 | case 18:
      | ^~~~
parser.c:369:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  369 |  if ( ++p == pe )
      |     ^
parser.c:371:1: note: here
  371 | case 19:
      | ^~~~
parser.c:378:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  378 |  if ( ++p == pe )
      |     ^
parser.c:380:1: note: here
  380 | case 20:
      | ^~~~
parser.c:385:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  385 |  if ( ++p == pe )
      |     ^
parser.c:387:1: note: here
  387 | case 21:
      | ^~~~
parser.c:394:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  394 |  if ( ++p == pe )
      |     ^
parser.c:396:1: note: here
  396 | case 22:
      | ^~~~
parser.c:401:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  401 |  if ( ++p == pe )
      |     ^
parser.c:403:1: note: here
  403 | case 23:
      | ^~~~
parser.c:410:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  410 |  if ( ++p == pe )
      |     ^
parser.c:412:1: note: here
  412 | case 24:
      | ^~~~
parser.c:417:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  417 |  if ( ++p == pe )
      |     ^
parser.c:419:1: note: here
  419 | case 25:
      | ^~~~
parser.c:426:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  426 |  if ( ++p == pe )
      |     ^
parser.c:428:1: note: here
  428 | case 26:
      | ^~~~
parser.c: In function ‘JSON_parse_float’:
parser.c:939:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  939 |  if ( ++p == pe )
      |     ^
parser.c:941:1: note: here
  941 | case 2:
      | ^~~~
parser.c:948:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  948 |  if ( ++p == pe )
      |     ^
parser.c:950:1: note: here
  950 | case 3:
      | ^~~~
parser.c:958:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  958 |  if ( ++p == pe )
      |     ^
parser.c:960:1: note: here
  960 | case 4:
      | ^~~~
parser.c:965:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  965 |  if ( ++p == pe )
      |     ^
parser.c:967:1: note: here
  967 | case 8:
      | ^~~~
parser.c:989:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  989 |  if ( ++p == pe )
      |     ^
parser.c:991:1: note: here
  991 | case 5:
      | ^~~~
parser.c:1000:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1000 |  if ( ++p == pe )
      |     ^
parser.c:1002:1: note: here
 1002 | case 6:
      | ^~~~
parser.c:1007:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1007 |  if ( ++p == pe )
      |     ^
parser.c:1009:1: note: here
 1009 | case 10:
      | ^~~~
parser.c:1021:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1021 |  if ( ++p == pe )
      |     ^
parser.c:1023:1: note: here
 1023 | case 7:
      | ^~~~
parser.c: In function ‘JSON_parse_integer’:
parser.c:840:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  840 |  if ( ++p == pe )
      |     ^
parser.c:842:1: note: here
  842 | case 2:
      | ^~~~
parser.c:849:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  849 |  if ( ++p == pe )
      |     ^
parser.c:851:1: note: here
  851 | case 3:
      | ^~~~
parser.c:866:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  866 |  if ( ++p == pe )
      |     ^
parser.c:868:1: note: here
  868 | case 5:
      | ^~~~
parser.c: In function ‘cParser_parse_strict’:
parser.c:1786:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1786 |  if ( ++p == pe )
      |     ^
parser.c:1788:1: note: here
 1788 | case 1:
      | ^~~~
parser.c:1803:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1803 |  if ( ++p == pe )
      |     ^
parser.c:1805:1: note: here
 1805 | case 2:
      | ^~~~
parser.c:1812:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1812 |  if ( ++p == pe )
      |     ^
parser.c:1814:1: note: here
 1814 | case 3:
      | ^~~~
parser.c:1819:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1819 |  if ( ++p == pe )
      |     ^
parser.c:1821:1: note: here
 1821 | case 4:
      | ^~~~
parser.c:1828:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1828 |  if ( ++p == pe )
      |     ^
parser.c:1830:1: note: here
 1830 | case 5:
      | ^~~~
parser.rl:749:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
  749 |         char *np;
      |     ^
parser.rl:751:1: note: here
  751 |         np = JSON_parse_array(json, fpc, pe, &result);
      | ^   
parser.c:1866:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1866 |  if ( ++p == pe )
      |     ^
parser.c:1868:1: note: here
 1868 | case 6:
      | ^~~~
parser.c:1875:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1875 |  if ( ++p == pe )
      |     ^
parser.c:1877:1: note: here
 1877 | case 7:
      | ^~~~
parser.c:1882:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1882 |  if ( ++p == pe )
      |     ^
parser.c:1884:1: note: here
 1884 | case 8:
      | ^~~~
parser.c:1891:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
 1891 |  if ( ++p == pe )
      |     ^
parser.c:1893:1: note: here
 1893 | case 9:
      | ^~~~
linking shared-object json/ext/generator.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/json/generator'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling complex.c
linking shared-object mathn/complex.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/mathn/complex'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling rational.c
linking shared-object mathn/rational.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/mathn/rational'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
installing default nkf libraries
compiling nkf.c
linking shared-object json/ext/parser.so
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]
 5709 |     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’
 5712 |  if (x0201_f == NKF_UNSPECIFIED) {
      |  ^~
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/json/parser'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling objspace_dump.c
compiling objspace.c
compiling object_tracing.c
nkf-utf8/nkf.c: In function ‘options’:
nkf-utf8/nkf.c:6806:22: warning: this statement may fall through [-Wimplicit-fallthrough=]
 6806 |      fold_preserve_f = TRUE;
nkf-utf8/nkf.c:6807:2: note: here
 6807 |  case 'f':   /* folding -f60 or -f */
      |  ^~~~
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=]
 1238 |  if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */
      |     ^
nkf-utf8/nkf.c:1239:5: note: here
 1239 |     case CP50220:
      |     ^~~~
In file included from objspace.c:15:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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 objspace_dump.c:15:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #if GCC_VERSION_SINCE(4, 6, 0) || __has_extension(c_static_assert)
      |                              ^
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
In file included from object_tracing.c:16:
../../internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #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]
objspace.c: In function ‘total_i’:
objspace.c:64:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
   64 |   if (FL_TEST(v, FL_SINGLETON))
      |      ^
objspace.c:66:8: note: here
   66 |        default:
      |        ^~~~~~~
  CC       src/x86/ffi64.lo
linking shared-object date_core.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/date'
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling ossl_config.c
compiling ossl_x509req.c
compiling ossl_pkey_dh.c
compiling ossl_x509ext.c
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."
   10 | #error "This file is obsolete; please update your software."
      |  ^~~~~
linking shared-object objspace.so
In file included from ossl.h:58,
                 from ossl_x509ext.c:11:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
   10 | #error "This file is obsolete; please update your software."
      |  ^~~~~
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
   79 | 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:
/usr/include/openssl/evp.h:541: note: macro "EVP_MD_CTX_create" defined here
  541 | # define EVP_MD_CTX_create()     EVP_MD_CTX_new()
      | 
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
   83 | void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      |      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
   91 | 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]
   44 | #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:293: ossl_config.o] Error 1
make[2]: *** Waiting for unfinished jobs....
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."
   10 | #error "This file is obsolete; please update your software."
      |  ^~~~~
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/objspace'
In file included from ossl.h:58,
                 from ossl_pkey_dh.c:13:
/usr/include/openssl/asn1_mac.h:10:2: error: #error "This file is obsolete; please update your software."
   10 | #error "This file is obsolete; please update your software."
      |  ^~~~~
make[2]: Entering directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make[2]: warning: -j4 forced in submake: resetting jobserver mode.
compiling pathname.c
installing default pathname libraries
In file included from ossl.h:220,
                 from ossl_x509ext.c:11:
openssl_missing.h:79:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
   79 | 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_x509ext.c:11:
/usr/include/openssl/evp.h:541: note: macro "EVP_MD_CTX_create" defined here
  541 | # define EVP_MD_CTX_create()     EVP_MD_CTX_new()
      | 
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
   83 | void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      |      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
   91 | void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      |      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_x509ext.c:11:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   44 | #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_x509ext.c: In function ‘ossl_x509ext_set_value’:
ossl_x509ext.c:365:9: warning: implicit declaration of function ‘M_ASN1_OCTET_STRING_set’; did you mean ‘ASN1_OCTET_STRING_set’? [-Wimplicit-function-declaration]
  365 |     if(!M_ASN1_OCTET_STRING_set(asn1s, s, RSTRING_LENINT(data))){
      |         ^~~~~~~~~~~~~~~~~~~~~~~
      |         ASN1_OCTET_STRING_set
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
   79 | 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:
/usr/include/openssl/evp.h:541: note: macro "EVP_MD_CTX_create" defined here
  541 | # define EVP_MD_CTX_create()     EVP_MD_CTX_new()
      | 
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
   83 | void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      |      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
   91 | 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]
   44 | #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_dh.c:13:
openssl_missing.h:79:35: error: macro "EVP_MD_CTX_create" passed 1 arguments, but takes just 0
   79 | 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_dh.c:13:
/usr/include/openssl/evp.h:541: note: macro "EVP_MD_CTX_create" defined here
  541 | # define EVP_MD_CTX_create()     EVP_MD_CTX_new()
      | 
openssl_missing.h:83:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
   83 | void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
      |      ^~~~~~~~~~~~~~~
openssl_missing.h:91:6: error: expected declaration specifiers or ‘...’ before ‘(’ token
   91 | void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
      |      ^~~~~~~~~~~~~~~~~~
In file included from ossl.h:234,
                 from ossl_pkey_dh.c:13:
ossl_pkey.h:44:5: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   44 | #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_x509ext.c: In function ‘ossl_x509ext_get_value’:
ossl_x509ext.c:422:2: warning: implicit declaration of function ‘M_ASN1_OCTET_STRING_print’; did you mean ‘ASN1_OCTET_STRING_set’? [-Wimplicit-function-declaration]
  422 |  M_ASN1_OCTET_STRING_print(out, ext->value);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~
      |  ASN1_OCTET_STRING_set
ossl_pkey_dh.c: In function ‘ossl_dh_new’:
ossl_x509ext.c:422:36: error: dereferencing pointer to incomplete type ‘X509_EXTENSION’ {aka ‘struct X509_extension_st’}
  422 |  M_ASN1_OCTET_STRING_print(out, ext->value);
      |                                    ^~
ossl_pkey_dh.c:69:24: error: dereferencing pointer to incomplete type ‘EVP_PKEY’ {aka ‘struct evp_pkey_st’}
   69 |  if (EVP_PKEY_type(pkey->type) != EVP_PKEY_DH) {
      |                        ^~
ossl_pkey_dh.c: At top level:
ossl_pkey_dh.c:84:48: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
   84 | #if defined(HAVE_DH_GENERATE_PARAMETERS_EX) && HAVE_BN_GENCB
      |                                                ^~~~~~~~~~~~~
ossl_pkey_dh.c:84:48: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_dh.c:84:48: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_dh.c: In function ‘dh_generate’:
ossl_pkey_dh.c:105:48: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
  105 | #if defined(HAVE_DH_GENERATE_PARAMETERS_EX) && HAVE_BN_GENCB
      |                                                ^~~~~~~~~~~~~
ossl_pkey_dh.c:105:48: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_dh.c:105:48: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
ossl_pkey_dh.c:106:14: error: storage size of ‘cb’ isn’t known
  106 |     BN_GENCB cb;
      |              ^~
ossl_pkey_dh.c:106:14: warning: unused variable ‘cb’ [-Wunused-variable]
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’}
  311 |     if (!i2a_ASN1_OBJECT(out, req->sig_alg->algorithm)) {
      |                                  ^~
ossl_pkey_dh.c: In function ‘ossl_dh_compute_key’:
ossl_pkey_dh.c:508:12: error: dereferencing pointer to incomplete type ‘DH’ {aka ‘struct dh_st’}
  508 |     if (!dh->p)
      |            ^~
ossl_pkey_dh.c: In function ‘ossl_dh_is_private’:
ossl_pkey_dh.c:277:1: warning: control reaches end of non-void function [-Wreturn-type]
  277 | }
      | ^
ossl_pkey_dh.c: In function ‘ossl_dh_is_public’:
ossl_pkey_dh.c:260:1: warning: control reaches end of non-void function [-Wreturn-type]
  260 | }
      | ^
make[2]: *** [Makefile:293: ossl_pkey_dh.o] Error 1
make[2]: *** [Makefile:293: ossl_x509ext.o] Error 1
make[2]: *** [Makefile:293: ossl_x509req.o] Error 1
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/openssl'
make[1]: *** [exts.mk:205: ext/openssl/all] Error 2
make[1]: *** Waiting for unfinished jobs....
  CPPAS    src/x86/unix64.lo
  CC       src/x86/ffi.lo
  CPPAS    src/x86/sysv.lo
  CCLD     libffi_convenience.la
ar: `u' modifier ignored since `D' is the default (see `U')
  CCLD     libffi.la
linking shared-object pathname.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/pathname'
ar: `u' modifier ignored since `D' is the default (see `U')
make[5]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1'
make[4]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1'
make[3]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle/libffi-3.2.1'
linking shared-object fiddle.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/fiddle'
linking shared-object nkf.so
make[2]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10/ext/nkf'
make[1]: Leaving directory '/tmp/ruby-build.20200518193720.118097.NYVlMg/ruby-2.2.10'
make: *** [uncommon.mk:189: build-ext] Error 2
hsbt commented 4 years ago

Ruby 2.2 is not support OpenSSL 1.1.1f on Ubuntu 20.04. You need to upgrade it to Ruby 2.5+