Project

General

Profile

Bug #13709

Problem compiling https://cache.ruby-lang.org/pub/ruby/snapshot.tar.gz - symlinks point to non-existing .gem files during "make install" step

Added by shevegen (Robert A. Heiler) over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.4.1p111 (2017-03-22 revision 58053) [i686-linux]
[ruby-core:81887]

Description

Hello ruby core team,

I here report some kind of bug during the ... "make install" step,
I think. I'll soon get into this but first my host system:

====================================================================
Operating System: GNU/Linux

Os Bit Type: i686

CPU Model: Intel(R) Celeron(R) CPU G1630 @ 2.80GHz, cores

CFLAGS in use: -O2 -fPIC -fno-strict-overflow -Wno-error

RAM: 7977364 kB RAM (7790.4 MB) (7.6 Gig)

Gcc Version: 7.1.0

Glibc Version: 2.23

Kernel Version: 4.4.14

Ruby Version: 2.4.1p111 (2017-03-22 revision 58053) [i686-linux]

Rubygems Version: 2.6.12

Rubygem Installation Directory: /usr/lib/ruby/gems/2.4.0/

(I had a second ruby installation at /usr prefix; the new ruby that I
would compile, would use another --prefix, as can be seen lateron.)

Now, so that you can reproduce my steps, here we go:

1) First, I was downloading the latest snapshot .tar.gz file from
this URL:

https://cache.ruby-lang.org/pub/ruby/snapshot.tar.gz

I downloaded it and repackaged it into "ruby-03.07.2017" so that
I know when I downloaded it.

Now I extracted it into:

/Depot/jjj/ruby-03.07.2017/

And from that directory, I would use the following configure call:

./configure --prefix=/Programs/Ruby/03.07.2017 --enable-debug-env --enable-load-relative --enable-frozen-string-literal-debug --enable-pthread --enable-shared --with-ext=readline,openssl,+ --disable-install-capi --disable-install-doc --disable-install-rdoc

(Also note that I was trying out the "--with-ext=readline,openssl,+" variant
with the '+' last - I have not yet tried it so I have no idea if it works
or not.)

Anyway, here is the configure output - this seems to be fine:

checking for ruby... /usr/bin//ruby
downloading config.guess ... done
downloading config.sub ... done
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-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 __sync_val_compare_and_swap... yes
checking for ranlib... ranlib
checking for ar... ar
checking for ar D option... yes
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//ginstall -c
checking for a thread-safe mkdir -p... /usr/bin//mkdir -p
checking for dtrace... no
checking for dot... no
checking for doxygen... doxygen
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 -Wl,-R. is accepted as LDFLAGS... yes
checking whether -Wl,-rpath,. is accepted as LDFLAGS... 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 -Wno-tautological-compare is accepted as CFLAGS... yes
checking whether -Wno-parentheses-equality is accepted as CFLAGS... yes
checking whether -Wno-constant-logical-operand is accepted as CFLAGS... yes
checking whether -Wno-self-assign is accepted as CFLAGS... yes
checking whether -Wunused-variable is accepted as CFLAGS... yes
checking whether -Werror=implicit-int is accepted as CFLAGS... yes
checking whether -Werror=pointer-arith is accepted as CFLAGS... yes
checking whether -Werror=write-strings is accepted as CFLAGS... yes
checking whether -Werror=declaration-after-statement is accepted as CFLAGS... yes
checking whether -Werror=shorten-64-to-32 is accepted as CFLAGS... no
checking whether -Wshorten-64-to-32 is accepted as CFLAGS... no
checking whether -Werror=implicit-function-declaration is accepted as CFLAGS... yes
checking whether -Werror=division-by-zero is accepted as CFLAGS... no
checking whether -Wdivision-by-zero is accepted as CFLAGS... no
checking whether -Werror=deprecated-declarations is accepted as CFLAGS... yes
checking whether -Wno-packed-bitfield-compat is accepted as CFLAGS... yes
checking whether -Wsuggest-attribute=noreturn is accepted as CFLAGS... yes
checking whether -Wsuggest-attribute=format is accepted as CFLAGS... yes
checking whether -Wimplicit-fallthrough=0 is accepted as CFLAGS... yes
checking whether -Werror=extra-tokens is accepted as CFLAGS... no
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 INFINITY is available without C99 option... yes
checking whether NAN is available without C99 option... yes
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 -Wl,--compress-debug-sections=zlib is accepted as LDFLAGS... yes
checking whether -std=gnu99 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 -fexcess-precision=standard 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 a.out.h usability... yes
checking a.out.h presence... yes
checking for a.out.h... yes
checking atomic.h usability... no
checking atomic.h presence... no
checking for atomic.h... no
checking direct.h usability... no
checking direct.h presence... no
checking for direct.h... no
checking grp.h usability... yes
checking grp.h presence... yes
checking for grp.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
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 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 limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking malloc/malloc.h usability... no
checking malloc/malloc.h presence... no
checking for malloc/malloc.h... no
checking malloc_np.h usability... no
checking malloc_np.h presence... no
checking for malloc_np.h... no
checking net/socket.h usability... no
checking net/socket.h presence... no
checking for net/socket.h... no
checking process.h usability... no
checking process.h presence... no
checking for process.h... no
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
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/fcntl.h usability... yes
checking sys/fcntl.h presence... yes
checking for sys/fcntl.h... yes
checking sys/file.h usability... 
yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking sys/id.h usability... no
checking sys/id.h presence... no
checking for sys/id.h... no
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/mkdev.h usability... no
checking sys/mkdev.h presence... no
checking for sys/mkdev.h... no
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking sys/prctl.h usability... yes
checking sys/prctl.h presence... yes
checking for sys/prctl.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking sys/sendfile.h usability... yes
checking sys/sendfile.h presence... yes
checking for sys/sendfile.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking sys/sysmacros.h usability... yes
checking sys/sysmacros.h presence... yes
checking for sys/sysmacros.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 sys/uio.h usability... yes
checking sys/uio.h presence... yes
checking for sys/uio.h... yes
checking sys/utime.h usability... no
checking sys/utime.h presence... no
checking for sys/utime.h... no
checking syscall.h usability... yes
checking syscall.h presence... yes
checking for syscall.h... yes
checking time.h usability... yes
checking time.h presence... yes
checking for time.h... yes
checking ucontext.h usability... yes
checking ucontext.h presence... yes
checking for ucontext.h... yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking gmp.h usability... yes
checking gmp.h presence... yes
checking for gmp.h... yes
checking for library containing __gmpz_init... -lgmp
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
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... 4
checking size of long long... 8
checking size of __int64... 0
checking size of __int128... 0
checking size of off_t... 8
checking size of void*... 4
checking size of float... 4
checking size of double... 8
checking size of time_t... 4
checking size of clock_t... 4
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... ULL
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... ULL
checking for off_t... (cached) yes
checking for convertible type of off_t... LL
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 CONSTFUNC function attribute... __attribute__ ((__const__)) x
checking for PUREFUNC function attribute... __attribute__ ((__pure__)) x
checking for NORETURN function attribute... __attribute__ ((__noreturn__)) x
checking for DEPRECATED function attribute... __attribute__ ((__deprecated__)) x
checking for DEPRECATED_BY function attribute... __attribute__ ((__deprecated__("by "#n))) x
checking for DEPRECATED_TYPE type attribute... __attribute__ ((__deprecated__ mesg)) x
checking for NOINLINE function attribute... __attribute__ ((__noinline__)) x
checking for ALWAYS_INLINE function attribute... __attribute__ ((__always_inline__)) x
checking for WARN_UNUSED_RESULT function attribute... __attribute__ ((__warn_unused_result__)) x
checking for MAYBE_UNUSED function attribute... __attribute__ ((__unused__)) x
checking for ERRORFUNC function attribute... __attribute__ ((__error__ mesg)) x
checking for WARNINGFUNC function attribute... __attribute__ ((__warning__ mesg)) x
checking for WEAK function attribute... __attribute__ ((__weak__)) x
checking for FUNC_STDCALL function attribute... __attribute__ ((__stdcall__)) x
checking for FUNC_CDECL function attribute... __attribute__ ((__cdecl__)) x
checking for FUNC_FASTCALL function attribute... __attribute__ ((__fastcall__)) x
checking for FUNC_UNOPTIMIZED function attribute... __attribute__ ((__optimize__("O0"))) 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 if enum over int is allowed... yes
checking whether sys_nerr is declared... yes
checking whether getenv is declared... yes
checking for size_t... yes
checking size of size_t... 4
checking size of ptrdiff_t... 4
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_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... no
checking for uint128_t... no
checking for intptr_t... yes
checking size of intptr_t... 4
checking for uintptr_t... yes
checking size of uintptr_t... 4
checking for ssize_t... yes
checking size of ssize_t... 4
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 explicit_bzero... no
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 broken memmem... no
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 arc4random_buf... 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 crypt_r... 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 fdopendir... yes
checking for fgetattrlist... no
checking for fmod... yes
checking for fstatat... 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 memset_s... no
checking for writev... yes
checking for memrchr... yes
checking for memmem... yes
checking for mkfifo... yes
checking for mknod... yes
checking for mktime... yes
checking for openat... 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 pwrite... yes
checking for qsort_r... yes
checking for qsort_s... no
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 crypt.h usability... yes
checking crypt.h presence... yes
checking for crypt.h... yes
checking for struct crypt_data.initialized... yes
checking for __builtin_bswap16... yes
checking for __builtin_bswap32... yes
checking for __builtin_bswap64... yes
checking for __builtin_popcount... yes
checking for __builtin_popcountll... yes
checking for __builtin_clz... yes
checking for __builtin_clzl... yes
checking for __builtin_clzll... yes
checking for __builtin_ctz... yes
checking for __builtin_ctzll... yes
checking for __builtin_add_overflow... yes
checking for __builtin_sub_overflow... yes
checking for __builtin_mul_overflow... yes
checking for __builtin_mul_overflow_p... yes
checking for __builtin_constant_p... 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 for clock_getres... yes
checking for unsetenv returns a value... 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 for sig_t... yes
checking whether right shift preserve sign bit... yes
checking whether _SC_CLK_TCK is supported... yes
checking stack growing direction on i686... -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_set_name_np... no
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 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 -Wl,--no-undefined is accepted as LDFLAGS... yes
checking whether wrapper for LD_LIBRARY_PATH is needed... no
checking whether dtrace USDT is available... no
checking for __builtin_setjmp... yes with cast ()
checking for _setjmpex as a macro or function... no
checking for _setjmp as a macro or function... yes
checking for sigsetjmp as a macro or function... no
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 nroff... /usr/bin/nroff
.ext/include/i686-linux/ruby/config.h updated
configure: ruby library version = 2.5.0
configure: creating ./config.status
config.status: creating GNUmakefile
config.status: creating Makefile
config.status: creating ruby-2.5.pc
---
Configuration summary for ruby version 2.5.0

   * Installation prefix: /Programs/Ruby/03.07.2017
   * exec prefix:         ${prefix}
   * arch:                i686-linux
   * site arch:           ${arch}
   * RUBY_BASE_NAME:      ruby
   * enable shared:       yes
   * ruby lib prefix:     ${libdir}/${RUBY_BASE_NAME}
   * site libraries path: ${rubylibprefix}/${sitearch}
   * vendor path:         ${rubylibprefix}/vendor_ruby
   * target OS:           linux
   * compiler:            gcc
   * with pthread:        yes
   * enable shared libs:  yes
   * dynamic library ext: so
   * CFLAGS:              ${optflags} ${debugflags} ${warnflags}
   * LDFLAGS:             -L. -fstack-protector -rdynamic \
                          -Wl,-export-dynamic
   * optflags:            -O3 -fno-fast-math
   * debugflags:          -ggdb3 -DRUBY_DEVEL=1
   * warnflags:           -Wall -Wextra -Wno-unused-parameter \
                          -Wno-parentheses -Wno-long-long \
                          -Wno-missing-field-initializers \
                          -Wno-tautological-compare \
                          -Wno-parentheses-equality \
                          -Wno-constant-logical-operand -Wno-self-assign \
                          -Wunused-variable -Werror=implicit-int \
                          -Werror=pointer-arith -Werror=write-strings \
                          -Werror=declaration-after-statement \
                          -Werror=implicit-function-declaration \
                          -Werror=deprecated-declarations \
                          -Wno-packed-bitfield-compat \
                          -Wsuggest-attribute=noreturn \
                          -Wsuggest-attribute=format \
                          -Wimplicit-fallthrough=0
   * strip command:       strip -S -x
   * install doc:         no
   * man page type:       doc

The above summary appears to be ok-ish.

Next, I would do "make" and "make install", where
"makeia" is my alias for both:

/Depot/jjj/ruby-03.07.2017/makeia

Starting with make, then make install

(Here now comes the results from "make"; gcc variant in use
is 7.1.0)

        CC = gcc
        LD = ld
        LDSHARED = gcc -shared
        CFLAGS = -O2 -fPIC -fno-strict-overflow -Wno-error -fPIC 
        XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT
        CPPFLAGS =   -I. -I.ext/include/i686-linux -I./include -I. -I./enc/unicode/9.0.0
        DLDFLAGS = -Wl,--compress-debug-sections=zlib -Wl,-soname,libruby.so.2.5  -fstack-protector  
        SOLIBS = -lpthread -lgmp -ldl -lcrypt -lm  
        LANG = en_GB
        LC_ALL = en_US.ISO-8859-1
        LC_CTYPE = 
gcc (GCC) 7.1.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

compiling ./main.c
compiling dmydln.c
compiling miniinit.c
compiling dmyext.c
compiling miniprelude.c
making dummy probes.h
compiling array.c
compiling bignum.c
compiling class.c
compiling compar.c
compiling compile.c
In function 'iseq_build_kw.isra.67',
    inlined from 'rb_iseq_build_from_ary' at compile.c:7150:30:
compile.c:7047:9: warning: argument 1 range [2147483648, 4294967295] exceeds maximum object size 2147483647 [-Walloc-size-larger-than=]
     dvs = ALLOC_N(VALUE, (unsigned int)default_len);
In file included from ./include/ruby/ruby.h:36:0,
                 from ./include/ruby.h:33,
                 from internal.h:15,
                 from compile.c:12:
compile.c: In function 'rb_iseq_build_from_ary':
./include/ruby/defines.h:184:18: note: in a call to allocation function 'ruby_xmalloc2' declared here
 #define xmalloc2 ruby_xmalloc2
                  ^
./include/ruby/defines.h:197:7: note: in expansion of macro 'xmalloc2'
 void *xmalloc2(size_t,size_t) RUBY_ATTR_ALLOC_SIZE((1,2));
       ^~~~~~~~
compiling complex.c
compiling cont.c
compiling debug.c
compiling debug_counter.c
compiling dir.c
compiling dln_find.c
compiling encoding.c
compiling enum.c
compiling enumerator.c
compiling error.c
compiling eval.c
compiling file.c
compiling gc.c
compiling hash.c
compiling inits.c
compiling io.c
compiling iseq.c
compiling load.c
compiling marshal.c
compiling math.c
compiling node.c
compiling numeric.c
compiling object.c
compiling pack.c
compiling parse.c
compiling proc.c
compiling process.c
compiling random.c
compiling range.c
compiling rational.c
compiling re.c
compiling regcomp.c
compiling regenc.c
compiling regerror.c
compiling regexec.c
compiling regparse.c
compiling regsyntax.c
compiling ruby.c
compiling safe.c
compiling signal.c
compiling sprintf.c
compiling st.c
compiling strftime.c
In file included from ./include/ruby/ruby.h:24:0,
                 from strftime.c:50:
timev.h:4:32: note: offset of packed bit-field 'mday' has changed in GCC 4.4
 PACKED_STRUCT_UNALIGNED(struct vtm {
                                ^
.ext/include/i686-linux/ruby/config.h:75:26: note: in definition of macro 'PACKED_STRUCT'
 #define PACKED_STRUCT(x) x __attribute__((packed))
                          ^
timev.h:4:1: note: in expansion of macro 'PACKED_STRUCT_UNALIGNED'
 PACKED_STRUCT_UNALIGNED(struct vtm {
 ^~~~~~~~~~~~~~~~~~~~~~~
timev.h:4:32: note: offset of packed bit-field 'min' has changed in GCC 4.4
 PACKED_STRUCT_UNALIGNED(struct vtm {
                                ^
.ext/include/i686-linux/ruby/config.h:75:26: note: in definition of macro 'PACKED_STRUCT'
 #define PACKED_STRUCT(x) x __attribute__((packed))
                          ^
timev.h:4:1: note: in expansion of macro 'PACKED_STRUCT_UNALIGNED'
 PACKED_STRUCT_UNALIGNED(struct vtm {
 ^~~~~~~~~~~~~~~~~~~~~~~
timev.h:4:32: note: offset of packed bit-field 'sec' has changed in GCC 4.4
 PACKED_STRUCT_UNALIGNED(struct vtm {
                                ^
.ext/include/i686-linux/ruby/config.h:75:26: note: in definition of macro 'PACKED_STRUCT'
 #define PACKED_STRUCT(x) x __attribute__((packed))
                          ^
timev.h:4:1: note: in expansion of macro 'PACKED_STRUCT_UNALIGNED'
 PACKED_STRUCT_UNALIGNED(struct vtm {
 ^~~~~~~~~~~~~~~~~~~~~~~
compiling string.c
compiling struct.c
compiling symbol.c
compiling thread.c
In file included from ./include/ruby/ruby.h:24:0,
                 from eval_intern.h:4,
                 from thread.c:66:
timev.h:4:32: note: offset of packed bit-field 'mday' has changed in GCC 4.4
 PACKED_STRUCT_UNALIGNED(struct vtm {
                                ^
.ext/include/i686-linux/ruby/config.h:75:26: note: in definition of macro 'PACKED_STRUCT'
 #define PACKED_STRUCT(x) x __attribute__((packed))
                          ^
timev.h:4:1: note: in expansion of macro 'PACKED_STRUCT_UNALIGNED'
 PACKED_STRUCT_UNALIGNED(struct vtm {
 ^~~~~~~~~~~~~~~~~~~~~~~
timev.h:4:32: note: offset of packed bit-field 'min' has changed in GCC 4.4
 PACKED_STRUCT_UNALIGNED(struct vtm {
                                ^
.ext/include/i686-linux/ruby/config.h:75:26: note: in definition of macro 'PACKED_STRUCT'
 #define PACKED_STRUCT(x) x __attribute__((packed))
                          ^
timev.h:4:1: note: in expansion of macro 'PACKED_STRUCT_UNALIGNED'
 PACKED_STRUCT_UNALIGNED(struct vtm {
 ^~~~~~~~~~~~~~~~~~~~~~~
timev.h:4:32: note: offset of packed bit-field 'sec' has changed in GCC 4.4
 PACKED_STRUCT_UNALIGNED(struct vtm {
                                ^
.ext/include/i686-linux/ruby/config.h:75:26: note: in definition of macro 'PACKED_STRUCT'
 #define PACKED_STRUCT(x) x __attribute__((packed))
                          ^
timev.h:4:1: note: in expansion of macro 'PACKED_STRUCT_UNALIGNED'
 PACKED_STRUCT_UNALIGNED(struct vtm {
 ^~~~~~~~~~~~~~~~~~~~~~~
compiling time.c
In file included from ./include/ruby/ruby.h:24:0,
                 from ./include/ruby.h:33,
                 from internal.h:15,
                 from time.c:14:
timev.h:4:32: note: offset of packed bit-field 'mday' has changed in GCC 4.4
 PACKED_STRUCT_UNALIGNED(struct vtm {
                                ^
.ext/include/i686-linux/ruby/config.h:75:26: note: in definition of macro 'PACKED_STRUCT'
 #define PACKED_STRUCT(x) x __attribute__((packed))
                          ^
timev.h:4:1: note: in expansion of macro 'PACKED_STRUCT_UNALIGNED'
 PACKED_STRUCT_UNALIGNED(struct vtm {
 ^~~~~~~~~~~~~~~~~~~~~~~
timev.h:4:32: note: offset of packed bit-field 'min' has changed in GCC 4.4
 PACKED_STRUCT_UNALIGNED(struct vtm {
                                ^
.ext/include/i686-linux/ruby/config.h:75:26: note: in definition of macro 'PACKED_STRUCT'
 #define PACKED_STRUCT(x) x __attribute__((packed))
                          ^
timev.h:4:1: note: in expansion of macro 'PACKED_STRUCT_UNALIGNED'
 PACKED_STRUCT_UNALIGNED(struct vtm {
 ^~~~~~~~~~~~~~~~~~~~~~~
timev.h:4:32: note: offset of packed bit-field 'sec' has changed in GCC 4.4
 PACKED_STRUCT_UNALIGNED(struct vtm {
                                ^
.ext/include/i686-linux/ruby/config.h:75:26: note: in definition of macro 'PACKED_STRUCT'
 #define PACKED_STRUCT(x) x __attribute__((packed))
                          ^
timev.h:4:1: note: in expansion of macro 'PACKED_STRUCT_UNALIGNED'
 PACKED_STRUCT_UNALIGNED(struct vtm {
 ^~~~~~~~~~~~~~~~~~~~~~~
compiling transcode.c
compiling util.c
compiling variable.c
compiling version.c
compiling vm.c
compiling vm_backtrace.c
compiling vm_dump.c
compiling vm_trace.c
compiling enc/ascii.c
compiling enc/us_ascii.c
compiling enc/unicode.c
compiling enc/utf_8.c
compiling enc/trans/newline.c
compiling ./missing/explicit_bzero.c
compiling ./missing/setproctitle.c
compiling ./missing/strlcat.c
compiling ./missing/strlcpy.c
compiling addr2line.c
compiling dmyenc.c
linking miniruby
generating encdb.h
encdb.h updated
./tool/ifchange "--timestamp=.rbconfig.time" rbconfig.rb rbconfig.tmp
rbconfig.rb updated
generating enc.mk
making srcs under enc
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Nothing to be done for 'srcs'.
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
generating transdb.h
transdb.h updated
compiling dln.c
compiling localeinit.c
creating verconf.h
verconf.h updated
compiling loadpath.c
compiling prelude.c
linking static-library libruby-static.a
linking shared-library libruby.so.2.5.0
generating makefiles ext/configure-ext.mk
ext/configure-ext.mk updated
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
configuring coverage
configuring digest
configuring digest/bubblebabble
configuring digest/md5
configuring digest/rmd160
configuring digest/sha1
configuring digest/sha2
configuring continuation
configuring ripper
configuring strscan
configuring sdbm
configuring date
configuring cgi/escape
configuring bigdecimal
configuring nkf
configuring objspace
configuring rbconfig/sizeof
configuring zlib
configuring fcntl
configuring pathname
configuring racc/cparse
configuring fiber
configuring socket
configuring rubyvm
configuring stringio
configuring fiddle
configuring dbm
header: db.h
library: db
configuring openssl
configuring json
configuring json/generator
configuring json/parser
configuring pty
configuring -test-/array/resize
configuring -test-/bignum
configuring -test-/bug-3571
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
configuring -test-/float
configuring -test-/funcall
configuring -test-/gvl/call_without_gvl
configuring -test-/hash
configuring -test-/integer
configuring -test-/iseq_load
configuring -test-/iter
configuring -test-/load/dot.dot
configuring -test-/marshal/compat
configuring -test-/marshal/internal_ivar
configuring -test-/marshal/usr
configuring -test-/memory_status
configuring -test-/method
configuring -test-/notimplement
configuring -test-/num2int
configuring -test-/path_to_class
configuring -test-/popen_deadlock
configuring -test-/postponed_job
configuring -test-/printf
configuring -test-/proc
configuring -test-/rational
configuring -test-/recursion
configuring -test-/regexp
configuring -test-/st/foreach
configuring -test-/st/numhash
configuring -test-/st/update
configuring -test-/string
configuring -test-/struct
configuring -test-/symbol
configuring -test-/thread_fd_close
configuring -test-/time
configuring -test-/tracepoint
configuring -test-/typeddata
configuring -test-/vm
configuring -test-/wait_for_single_fd
configuring etc
configuring io/console
configuring io/nonblock
configuring io/wait
configuring readline
configuring syslog
configuring gdbm
configuring psych
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
generating makefile exts.mk
exts.mk updated
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/coverage'
compiling coverage.c
linking shared-object coverage.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/coverage'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/digest'
compiling digest.c
linking shared-object digest.so
installing digest libraries
installing default digest libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/digest'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/digest/bubblebabble'
compiling bubblebabble.c
linking shared-object digest/bubblebabble.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/digest/bubblebabble'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/digest/md5'
compiling md5init.c
linking shared-object digest/md5.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/digest/md5'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/digest/rmd160'
compiling rmd160init.c
linking shared-object digest/rmd160.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/digest/rmd160'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/digest/sha1'
compiling sha1init.c
linking shared-object digest/sha1.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/digest/sha1'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/digest/sha2'
compiling sha2init.c
linking shared-object digest/sha2.so
installing default sha2 libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/digest/sha2'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/continuation'
compiling continuation.c
linking shared-object continuation.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/continuation'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/ripper'
compiling ripper.c
linking shared-object ripper.so
installing default ripper libraries
checking ../.././parse.y and ../.././ext/ripper/eventids2.c
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/ripper'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/strscan'
compiling strscan.c
linking shared-object strscan.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/strscan'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/sdbm'
compiling _sdbm.c
compiling init.c
linking shared-object sdbm.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/sdbm'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/date'
compiling date_core.c
compiling date_parse.c
compiling date_strftime.c
compiling date_strptime.c
linking shared-object date_core.so
installing default date_core libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/date'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/cgi/escape'
compiling escape.c
linking shared-object cgi/escape.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/cgi/escape'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/bigdecimal'
compiling bigdecimal.c
linking shared-object bigdecimal.so
installing default bigdecimal libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/bigdecimal'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/nkf'
compiling nkf.c
linking shared-object nkf.so
installing default nkf libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/nkf'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/objspace'
compiling object_tracing.c
compiling objspace.c
compiling objspace_dump.c
linking shared-object objspace.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/objspace'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/rbconfig/sizeof'
compiling sizes.c
compiling limits.c
linking shared-object rbconfig/sizeof.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/rbconfig/sizeof'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/zlib'
compiling zlib.c
linking shared-object zlib.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/zlib'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/fcntl'
compiling fcntl.c
linking shared-object fcntl.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/fcntl'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/pathname'
compiling pathname.c
linking shared-object pathname.so
installing default pathname libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/pathname'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/racc/cparse'
compiling cparse.c
linking shared-object racc/cparse.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/racc/cparse'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/fiber'
compiling fiber.c
linking shared-object fiber.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/fiber'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/socket'
compiling init.c
compiling constants.c
compiling basicsocket.c
compiling socket.c
compiling ipsocket.c
compiling tcpsocket.c
compiling tcpserver.c
compiling sockssocket.c
compiling udpsocket.c
compiling unixsocket.c
compiling unixserver.c
compiling option.c
compiling ancdata.c
compiling raddrinfo.c
compiling ifaddr.c
linking shared-object socket.so
installing default socket libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/socket'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/rubyvm'
installing default libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/rubyvm'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/stringio'
compiling stringio.c
linking shared-object stringio.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/stringio'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/fiddle'
compiling closure.c
compiling conversions.c
compiling fiddle.c
compiling function.c
compiling handle.c
compiling pointer.c
linking shared-object fiddle.so
installing default fiddle libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/fiddle'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/dbm'
compiling dbm.c
linking shared-object dbm.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/dbm'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/openssl'
compiling openssl_missing.c
compiling ossl.c
compiling ossl_asn1.c
compiling ossl_bio.c
compiling ossl_bn.c
compiling ossl_cipher.c
compiling ossl_config.c
compiling ossl_digest.c
compiling ossl_engine.c
compiling ossl_hmac.c
compiling ossl_ns_spki.c
compiling ossl_ocsp.c
compiling ossl_pkcs12.c
compiling ossl_pkcs5.c
compiling ossl_pkcs7.c
compiling ossl_pkey.c
ossl_pkey.c: In function 'ossl_generate_cb_2':
ossl_pkey.c:30:42: warning: implicit declaration of function 'BN_GENCB_get_arg'; did you mean 'BN_GENCB_set_old'? [-Wimplicit-function-declaration]
     arg = (struct ossl_generate_cb_arg *)BN_GENCB_get_arg(cb);
                                          ^~~~~~~~~~~~~~~~
                                          BN_GENCB_set_old
compiling ossl_pkey_dh.c
ossl_pkey_dh.c: In function 'dh_generate':
ossl_pkey_dh.c:103:20: warning: implicit declaration of function 'BN_GENCB_new'; did you mean 'BN_GENCB_set'? [-Wimplicit-function-declaration]
     BN_GENCB *cb = BN_GENCB_new();
                    ^~~~~~~~~~~~
                    BN_GENCB_set
ossl_pkey_dh.c:103:20: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
ossl_pkey_dh.c:107:2: warning: implicit declaration of function 'BN_GENCB_free'; did you mean 'BN_GENCB_set'? [-Wimplicit-function-declaration]
  BN_GENCB_free(cb);
  ^~~~~~~~~~~~~
  BN_GENCB_set
compiling ossl_pkey_dsa.c
ossl_pkey_dsa.c: In function 'dsa_generate':
ossl_pkey_dsa.c:119:20: warning: implicit declaration of function 'BN_GENCB_new'; did you mean 'BN_GENCB_set'? [-Wimplicit-function-declaration]
     BN_GENCB *cb = BN_GENCB_new();
                    ^~~~~~~~~~~~
                    BN_GENCB_set
ossl_pkey_dsa.c:119:20: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
ossl_pkey_dsa.c:125:2: warning: implicit declaration of function 'BN_GENCB_free'; did you mean 'BN_GENCB_set'? [-Wimplicit-function-declaration]
  BN_GENCB_free(cb);
  ^~~~~~~~~~~~~
  BN_GENCB_set
compiling ossl_pkey_ec.c
compiling ossl_pkey_rsa.c
ossl_pkey_rsa.c: In function 'rsa_generate':
ossl_pkey_rsa.c:121:20: warning: implicit declaration of function 'BN_GENCB_new'; did you mean 'BN_GENCB_set'? [-Wimplicit-function-declaration]
     BN_GENCB *cb = BN_GENCB_new();
                    ^~~~~~~~~~~~
                    BN_GENCB_set
ossl_pkey_rsa.c:121:20: warning: initialization makes pointer from integer without a cast [-Wint-conversion]
ossl_pkey_rsa.c:126:2: warning: implicit declaration of function 'BN_GENCB_free'; did you mean 'BN_GENCB_set'? [-Wimplicit-function-declaration]
  BN_GENCB_free(cb);
  ^~~~~~~~~~~~~
  BN_GENCB_set
compiling ossl_rand.c
compiling ossl_ssl.c
compiling ossl_ssl_session.c
compiling ossl_x509.c
compiling ossl_x509attr.c
compiling ossl_x509cert.c
compiling ossl_x509crl.c
compiling ossl_x509ext.c
compiling ossl_x509name.c
compiling ossl_x509req.c
compiling ossl_x509revoked.c
compiling ossl_x509store.c
linking shared-object openssl.so
installing default openssl libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/openssl'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/json'
installing default libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/json'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/json/generator'
compiling generator.c
linking shared-object json/ext/generator.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/json/generator'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/json/parser'
compiling parser.c
linking shared-object json/ext/parser.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/json/parser'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/pty'
compiling pty.c
linking shared-object pty.so
installing default pty libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/pty'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/array/resize'
compiling resize.c
linking shared-object -test-/array/resize.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/array/resize'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/bignum'
compiling big2str.c
compiling div.c
compiling intpack.c
compiling bigzero.c
compiling init.c
compiling str2big.c
compiling mul.c
linking shared-object -test-/bignum.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/bignum'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/bug-3571'
compiling bug.c
linking shared-object -test-/bug_3571.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/bug-3571'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/bug-5832'
compiling bug.c
linking shared-object -test-/bug_5832.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/bug-5832'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/bug_reporter'
compiling bug_reporter.c
linking shared-object -test-/bug_reporter.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/bug_reporter'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/class'
compiling class2name.c
compiling init.c
linking shared-object -test-/class.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/class'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/debug'
compiling inspector.c
compiling init.c
compiling profile_frames.c
linking shared-object -test-/debug.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/debug'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/dln/empty'
compiling empty.c
linking shared-object -test-/dln/empty.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/dln/empty'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/exception'
compiling dataerror.c
compiling enc_raise.c
compiling ensured.c
compiling init.c
linking shared-object -test-/exception.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/exception'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/fatal'
compiling rb_fatal.c
linking shared-object -test-/fatal/rb_fatal.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/fatal'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/file'
compiling stat.c
compiling fs.c
compiling init.c
linking shared-object -test-/file.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/file'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/float'
compiling nextafter.c
compiling init.c
linking shared-object -test-/float.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/float'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/funcall'
compiling passing_block.c
linking shared-object -test-/funcall.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/funcall'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/gvl/call_without_gvl'
compiling call_without_gvl.c
linking shared-object -test-/gvl/call_without_gvl.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/gvl/call_without_gvl'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/hash'
compiling delete.c
compiling init.c
linking shared-object -test-/hash.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/hash'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/integer'
compiling core_ext.c
compiling my_integer.c
compiling init.c
linking shared-object -test-/integer.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/integer'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/iseq_load'
compiling iseq_load.c
linking shared-object -test-/iseq_load.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/iseq_load'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/iter'
compiling yield.c
compiling break.c
compiling init.c
linking shared-object -test-/iter.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/iter'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/load/dot.dot'
compiling dot.dot.c
linking shared-object -test-/load/dot.dot.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/load/dot.dot'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/marshal/compat'
compiling usrcompat.c
linking shared-object -test-/marshal/compat.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/marshal/compat'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/marshal/internal_ivar'
compiling internal_ivar.c
linking shared-object -test-/marshal/internal_ivar.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/marshal/internal_ivar'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/marshal/usr'
compiling usrmarshal.c
linking shared-object -test-/marshal/usr.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/marshal/usr'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/method'
compiling arity.c
compiling init.c
linking shared-object -test-/method.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/method'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/notimplement'
compiling bug.c
linking shared-object -test-/notimplement.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/notimplement'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/num2int'
compiling num2int.c
linking shared-object -test-/num2int.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/num2int'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/path_to_class'
compiling path_to_class.c
linking shared-object -test-/path_to_class.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/path_to_class'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/popen_deadlock'
compiling infinite_loop_dlsym.c
linking shared-object -test-/popen_deadlock/infinite_loop_dlsym.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/popen_deadlock'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/postponed_job'
compiling postponed_job.c
linking shared-object -test-/postponed_job.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/postponed_job'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/printf'
compiling printf.c
linking shared-object -test-/printf.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/printf'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/proc'
compiling super.c
compiling init.c
compiling receiver.c
linking shared-object -test-/proc.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/proc'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/rational'
compiling rat.c
linking shared-object -test-/rational.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/rational'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/recursion'
compiling recursion.c
linking shared-object -test-/recursion.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/recursion'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/regexp'
compiling parse_depth_limit.c
compiling init.c
linking shared-object -test-/regexp.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/regexp'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/st/foreach'
compiling foreach.c
linking shared-object -test-/st/foreach.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/st/foreach'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/st/numhash'
compiling numhash.c
linking shared-object -test-/st/numhash.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/st/numhash'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/st/update'
compiling update.c
linking shared-object -test-/st/update.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/st/update'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/string'
compiling coderange.c
compiling cstr.c
compiling enc_str_buf_cat.c
compiling fstring.c
compiling ellipsize.c
compiling set_len.c
compiling nofree.c
compiling enc_associate.c
compiling qsort.c
compiling normalize.c
compiling modify.c
compiling init.c
compiling capacity.c
linking shared-object -test-/string.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/string'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/struct'
compiling duplicate.c
compiling member.c
compiling len.c
compiling init.c
linking shared-object -test-/struct.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/struct'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/symbol'
compiling type.c
compiling init.c
linking shared-object -test-/symbol.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/symbol'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/thread_fd_close'
compiling thread_fd_close.c
linking shared-object -test-/thread_fd_close.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/thread_fd_close'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/time'
compiling new.c
compiling init.c
linking shared-object -test-/time.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/time'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/tracepoint'
compiling gc_hook.c
compiling tracepoint.c
linking shared-object -test-/tracepoint.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/tracepoint'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/typeddata'
compiling typeddata.c
linking shared-object -test-/typeddata.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/typeddata'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/vm'
compiling at_exit.c
linking shared-object -test-/vm/at_exit.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/vm'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/wait_for_single_fd'
compiling wait_for_single_fd.c
linking shared-object -test-/wait_for_single_fd.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/-test-/wait_for_single_fd'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/etc'
generating constant definitions
compiling etc.c
linking shared-object etc.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/etc'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/io/console'
compiling console.c
linking shared-object io/console.so
installing default console libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/io/console'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/io/nonblock'
compiling nonblock.c
linking shared-object io/nonblock.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/io/nonblock'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/io/wait'
compiling wait.c
linking shared-object io/wait.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/io/wait'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/readline'
compiling readline.c
linking shared-object readline.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/readline'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/syslog'
compiling syslog.c
linking shared-object syslog.so
installing default syslog libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/syslog'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/gdbm'
compiling gdbm.c
linking shared-object gdbm.so
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/gdbm'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/psych'
compiling psych.c
compiling psych_emitter.c
compiling psych_parser.c
compiling psych_to_ruby.c
compiling psych_yaml_tree.c
linking shared-object psych.so
installing default psych libraries
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/psych'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017'
linking shared-library libruby.so.2.5.0
linking ruby
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Nothing to be done for 'note'.
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
making enc
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
compiling ./enc/encdb.c
linking encoding encdb.so
compiling ./enc/big5.c
linking encoding big5.so
compiling ./enc/cp949.c
linking encoding cp949.so
compiling ./enc/emacs_mule.c
linking encoding emacs_mule.so
compiling ./enc/euc_jp.c
linking encoding euc_jp.so
compiling ./enc/euc_kr.c
linking encoding euc_kr.so
compiling ./enc/euc_tw.c
linking encoding euc_tw.so
compiling ./enc/gb2312.c
linking encoding gb2312.so
compiling ./enc/gb18030.c
linking encoding gb18030.so
compiling ./enc/gbk.c
linking encoding gbk.so
compiling ./enc/iso_8859_1.c
linking encoding iso_8859_1.so
compiling ./enc/iso_8859_2.c
linking encoding iso_8859_2.so
compiling ./enc/iso_8859_3.c
linking encoding iso_8859_3.so
compiling ./enc/iso_8859_4.c
linking encoding iso_8859_4.so
compiling ./enc/iso_8859_5.c
linking encoding iso_8859_5.so
compiling ./enc/iso_8859_6.c
linking encoding iso_8859_6.so
compiling ./enc/iso_8859_7.c
linking encoding iso_8859_7.so
compiling ./enc/iso_8859_8.c
linking encoding iso_8859_8.so
compiling ./enc/iso_8859_9.c
linking encoding iso_8859_9.so
compiling ./enc/iso_8859_10.c
linking encoding iso_8859_10.so
compiling ./enc/iso_8859_11.c
linking encoding iso_8859_11.so
compiling ./enc/iso_8859_13.c
linking encoding iso_8859_13.so
compiling ./enc/iso_8859_14.c
linking encoding iso_8859_14.so
compiling ./enc/iso_8859_15.c
linking encoding iso_8859_15.so
compiling ./enc/iso_8859_16.c
linking encoding iso_8859_16.so
compiling ./enc/koi8_r.c
linking encoding koi8_r.so
compiling ./enc/koi8_u.c
linking encoding koi8_u.so
compiling ./enc/shift_jis.c
linking encoding shift_jis.so
compiling ./enc/utf_16be.c
linking encoding utf_16be.so
compiling ./enc/utf_16le.c
linking encoding utf_16le.so
compiling ./enc/utf_32be.c
linking encoding utf_32be.so
compiling ./enc/utf_32le.c
linking encoding utf_32le.so
compiling ./enc/windows_31j.c
linking encoding windows_31j.so
compiling ./enc/windows_1250.c
linking encoding windows_1250.so
compiling ./enc/windows_1251.c
linking encoding windows_1251.so
compiling ./enc/windows_1252.c
linking encoding windows_1252.so
compiling ./enc/windows_1253.c
linking encoding windows_1253.so
compiling ./enc/windows_1254.c
linking encoding windows_1254.so
compiling ./enc/windows_1257.c
linking encoding windows_1257.so
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
making trans
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
compiling ./enc/trans/transdb.c
linking transcoder transdb.so
compiling ./enc/trans/big5.c
linking transcoder big5.so
compiling ./enc/trans/chinese.c
linking transcoder chinese.so
compiling ./enc/trans/ebcdic.c
linking transcoder ebcdic.so
compiling ./enc/trans/emoji.c
linking transcoder emoji.so
compiling ./enc/trans/emoji_iso2022_kddi.c
linking transcoder emoji_iso2022_kddi.so
compiling ./enc/trans/emoji_sjis_docomo.c
linking transcoder emoji_sjis_docomo.so
compiling ./enc/trans/emoji_sjis_kddi.c
linking transcoder emoji_sjis_kddi.so
compiling ./enc/trans/emoji_sjis_softbank.c
linking transcoder emoji_sjis_softbank.so
compiling ./enc/trans/escape.c
linking transcoder escape.so
compiling ./enc/trans/gb18030.c
linking transcoder gb18030.so
compiling ./enc/trans/gbk.c
linking transcoder gbk.so
compiling ./enc/trans/iso2022.c
linking transcoder iso2022.so
compiling ./enc/trans/japanese.c
linking transcoder japanese.so
compiling ./enc/trans/japanese_euc.c
linking transcoder japanese_euc.so
compiling ./enc/trans/japanese_sjis.c
linking transcoder japanese_sjis.so
compiling ./enc/trans/korean.c
linking transcoder korean.so
compiling ./enc/trans/single_byte.c
linking transcoder single_byte.so
compiling ./enc/trans/utf8_mac.c
linking transcoder utf8_mac.so
compiling ./enc/trans/utf_16_32.c
linking transcoder utf_16_32.so
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
making encs
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Nothing to be done for 'encs'.
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
generating i686-linux-fake.rb
In file included from /usr/include/stdio.h:27:0,
                 from ./include/ruby/defines.h:101,
                 from ./include/ruby/ruby.h:36,
                 from ./version.c:12:
/usr/include/features.h:331:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
 #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
    ^~~~~~~
cc1: warning: unrecognized command line option '-Wno-self-assign'
cc1: warning: unrecognized command line option '-Wno-constant-logical-operand'
cc1: warning: unrecognized command line option '-Wno-parentheses-equality'
i686-linux-fake.rb updated
        CC = gcc
        LD = ld
        LDSHARED = gcc -shared
        CFLAGS = -O2 -fPIC -fno-strict-overflow -Wno-error -fPIC 
        XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT
        CPPFLAGS =   -I. -I.ext/include/i686-linux -I./include -I. -I./enc/unicode/9.0.0
        DLDFLAGS = -Wl,--compress-debug-sections=zlib -Wl,-soname,libruby.so.2.5  -fstack-protector  
        SOLIBS = -lpthread -lgmp -ldl -lcrypt -lm  
        LANG = en_GB
        LC_ALL = en_US.ISO-8859-1
        LC_CTYPE = 
gcc (GCC) 7.1.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

generating enc.mk
making srcs under enc
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Nothing to be done for 'srcs'.
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
generating transdb.h
transdb.h unchanged
generating makefiles ext/configure-ext.mk
ext/configure-ext.mk unchanged
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/digest'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/digest'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/digest/sha2'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/digest/sha2'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/ripper'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/ripper'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/date'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/date'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/bigdecimal'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/bigdecimal'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/nkf'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/nkf'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/pathname'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/pathname'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/socket'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/socket'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/rubyvm'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/rubyvm'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/fiddle'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/fiddle'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/openssl'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/openssl'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/json'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/json'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/pty'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/pty'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/io/console'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/io/console'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/syslog'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/syslog'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017/ext/psych'
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017/ext/psych'
make[2]: Entering directory '/Depot/jjj/ruby-03.07.2017'
make[2]: 'ruby' is up to date.
make[2]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Nothing to be done for 'note'.
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
making enc
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Nothing to be done for 'enc'.
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
making trans
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Nothing to be done for './enc/trans'.
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'
making encs
make[1]: Entering directory '/Depot/jjj/ruby-03.07.2017'
make[1]: Nothing to be done for 'encs'.
make[1]: Leaving directory '/Depot/jjj/ruby-03.07.2017'

Ok so far so good - now the "make install" step appears to
have a problem:

./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems -r./i686-linux-fake ./tool/rbinstall.rb --make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc"
installing binary commands:   /Programs/Ruby/03.07.2017/bin
installing base libraries:    /Programs/Ruby/03.07.2017/lib
installing arch files:        /Programs/Ruby/03.07.2017/lib/ruby/2.5.0/i686-linux
installing pkgconfig data:    /Programs/Ruby/03.07.2017/lib/pkgconfig
installing command scripts:   /Programs/Ruby/03.07.2017/bin
installing library scripts:   /Programs/Ruby/03.07.2017/lib/ruby/2.5.0
installing common headers:    /Programs/Ruby/03.07.2017/include/ruby-2.5.0
installing manpages:          /Programs/Ruby/03.07.2017/share/man/man1
installing extension objects: /Programs/Ruby/03.07.2017/lib/ruby/2.5.0/i686-linux
installing extension objects: /Programs/Ruby/03.07.2017/lib/ruby/site_ruby/2.5.0/i686-linux
installing extension objects: /Programs/Ruby/03.07.2017/lib/ruby/vendor_ruby/2.5.0/i686-linux
installing extension headers: /Programs/Ruby/03.07.2017/include/ruby-2.5.0/i686-linux
installing extension scripts: /Programs/Ruby/03.07.2017/lib/ruby/2.5.0
installing extension scripts: /Programs/Ruby/03.07.2017/lib/ruby/site_ruby/2.5.0
installing extension scripts: /Programs/Ruby/03.07.2017/lib/ruby/vendor_ruby/2.5.0
installing extension headers: /Programs/Ruby/03.07.2017/include/ruby-2.5.0/ruby
installing default gems:      /Programs/Ruby/03.07.2017/lib/ruby/gems/2.5.0 (build_info, cache, doc, extensions, gems, specifications)
                              cmath 0.0.1
                              csv 0.0.1
                              fileutils 0.7.2
                              rdoc 5.1.0
                              scanf 0.0.1
                              webrick 1.4.0.beta1
installing default gems:      /Programs/Ruby/03.07.2017/lib/ruby/gems/2.5.0 (build_info, cache, doc, extensions, gems, specifications)
                              bigdecimal 1.3.2
                              date 0.0.1
                              dbm 0.5.1
                              etc 0.2.1
                              fcntl 0.0.1
                              fiddle 1.0.0.beta1
                              gdbm 2.0.0.beta1
                              io-console 0.4.6
                              json 2.1.0
                              openssl 2.0.4
                              psych 3.0.0.beta2
                              sdbm 0.0.1
                              stringio 0.0.1
                              strscan 0.0.1
                              zlib 0.0.1
installing bundle gems:       /Programs/Ruby/03.07.2017/lib/ruby/gems/2.5.0 (build_info, cache, doc, extensions, gems, specifications)
                              did_you_mean 1.1.2
                              test-unit 3.2.4
                              minitest 5.10.2
                              rake 12.0.0
                              net-telnet 0.1.1
                              power_assert 1.0.2
                              xmlrpc 0.3.0
Traceback (most recent call last):
        12: from ./tool/rbinstall.rb:844:in `<main>'
        11: from ./tool/rbinstall.rb:844:in `each'
        10: from ./tool/rbinstall.rb:847:in `block in <main>'
         9: from ./tool/rbinstall.rb:799:in `block in <main>'
         8: from ./tool/rbinstall.rb:166:in `install'
         7: from /Depot/jjj/ruby-03.07.2017/lib/fileutils.rb:778:in `install'
         6: from /Depot/jjj/ruby-03.07.2017/lib/fileutils.rb:1459:in `fu_each_src_dest'
         5: from /Depot/jjj/ruby-03.07.2017/lib/fileutils.rb:1468:in `fu_each_src_dest0'
         4: from /Depot/jjj/ruby-03.07.2017/lib/fileutils.rb:1468:in `each'
         3: from /Depot/jjj/ruby-03.07.2017/lib/fileutils.rb:1470:in `block in fu_each_src_dest0'
         2: from /Depot/jjj/ruby-03.07.2017/lib/fileutils.rb:1461:in `block in fu_each_src_dest'
         1: from /Depot/jjj/ruby-03.07.2017/lib/fileutils.rb:779:in `block in install'
/Depot/jjj/ruby-03.07.2017/lib/fileutils.rb:779:in `stat': No such file or directory @ rb_file_s_stat - /Depot/jjj/ruby-03.07.2017/gems/rake-12.0.0.gem (Errno::ENOENT)
make: *** [uncommon.mk:310: do-install-nodoc] Error 1

As you can see, "rake-12.0.0.gem" was not found.

I looked into the directory /Depot/jjj/ruby-03.07.2017/gems/ and I am
seeing some symlinks to non-existing gems which is a bit odd.

I will copy/paste the detailed "ls" output next:

-rw-r--r-- 1 ftp ftp  112 Jun  9 05:20 bundled_gems
drwxr-xr-x 7 ftp ftp 4.0K Jul  3 13:05 did_you_mean-1.1.2/
lrwxrwxrwx 1 ftp ftp   43 Jun 30 20:00 did_you_mean-1.1.2.gem -> ../.downloaded-cache/did_you_mean-1.1.2.gem
drwxr-xr-x 4 ftp ftp 4.0K Jul  3 13:05 minitest-5.10.2/
lrwxrwxrwx 1 ftp ftp   40 Jun 30 20:00 minitest-5.10.2.gem -> ../.downloaded-cache/minitest-5.10.2.gem
drwxr-xr-x 4 ftp ftp 4.0K Jul  3 13:05 net-telnet-0.1.1/
lrwxrwxrwx 1 ftp ftp   41 Jun 30 20:00 net-telnet-0.1.1.gem -> ../.downloaded-cache/net-telnet-0.1.1.gem
drwxr-xr-x 4 ftp ftp 4.0K Jul  3 13:05 power_assert-1.0.2/
lrwxrwxrwx 1 ftp ftp   43 Jun 30 20:00 power_assert-1.0.2.gem -> ../.downloaded-cache/power_assert-1.0.2.gem
drwxr-xr-x 6 ftp ftp 4.0K Jul  3 13:05 rake-12.0.0/
lrwxrwxrwx 1 ftp ftp   36 Jun 30 20:00 rake-12.0.0.gem -> ../.downloaded-cache/rake-12.0.0.gem
drwxr-xr-x 6 ftp ftp 4.0K Jul  3 13:05 test-unit-3.2.4/
lrwxrwxrwx 1 ftp ftp   40 Jun 30 20:00 test-unit-3.2.4.gem -> ../.downloaded-cache/test-unit-3.2.4.gem
drwxr-xr-x 4 ftp ftp 4.0K Jul  3 13:05 xmlrpc-0.3.0/
lrwxrwxrwx 1 ftp ftp   37 Jun 30 20:00 xmlrpc-0.3.0.gem -> ../.downloaded-cache/xmlrpc-0.3.0.gem

All .gem files are symlinks there and they all point to non-existing .gem files.

This is all a bit strange anyway because all the files there appear to
have been extracted already, so I am not entirely sure why there are .gem
files pointing to non-existing .gem files.

For example, the rake-12.0.0.gem symlink points to a non-existing file,
but in the current directory, there already is a directory called
rake-12.0.0/

I had a look at that directory and it appears to contain the exact
same content that the (extracted) rake-12.0.0.gem content would
also have.

Anyway, I am not sure if I did anything wrong but I assume that
there is some script or code that actually creates these strange
symlinks such as "../.downloaded-cache/rake-12.0.0.gem". And I
think that this code may have some problem, because otherwise I
could not quite explain why it would create symlinks to non-existing
files.

I can't give any recommended way to fix the above because I do
not know which code creates the above - but my suggestion would
be to add an additional check to really make sure that the .gem
files actually exist at the symlinks - and checking the directory
at:

/Depot/jjj/ruby-03.07.2017/.downloaded-cache/

I can say that there are only two files there:

config.guess
config.sub

Anyway, just reporting this so that the ruby-core team is aware
of the problem. Thanks!


Related issues

Related to Ruby master - Bug #13684: Snapshots are brokenClosedActions

Associated revisions

Revision b3917087
Added by nobu (Nobuyoshi Nakada) over 2 years ago

downloader.rb: get rid of symlinks in dist files

  • tool/downloader.rb: download to the target file directly if CACHE_SAVE=no, to get rid of symlinks in dist files. [ruby-core:81887] [Bug #13709]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59292 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 59292
Added by nobu (Nobuyoshi Nakada) over 2 years ago

downloader.rb: get rid of symlinks in dist files

  • tool/downloader.rb: download to the target file directly if CACHE_SAVE=no, to get rid of symlinks in dist files. [ruby-core:81887] [Bug #13709]

Revision 59292
Added by nobu (Nobuyoshi Nakada) over 2 years ago

downloader.rb: get rid of symlinks in dist files

  • tool/downloader.rb: download to the target file directly if CACHE_SAVE=no, to get rid of symlinks in dist files. [ruby-core:81887] [Bug #13709]

Revision 59292
Added by nobu (Nobuyoshi Nakada) over 2 years ago

downloader.rb: get rid of symlinks in dist files

  • tool/downloader.rb: download to the target file directly if CACHE_SAVE=no, to get rid of symlinks in dist files. [ruby-core:81887] [Bug #13709]

History

Updated by shevegen (Robert A. Heiler) over 2 years ago

Oops - sorry for the above font difference, I was using "====" and it seems that the
tracker here re-formats it strangely. I also can't seem to easily edit the above, sorry.

Updated by MSP-Greg (Greg L) over 2 years ago

Robert,

Don't know if it helps, but in my mswin build script (similar to appveyor.yml), the bundled gems are checked for / downloaded with:

nmake up incs UNICODE_FILES=.

#3

Updated by hsbt (Hiroshi SHIBATA) over 2 years ago

  • Related to Bug #13684: Snapshots are broken added

Updated by hsbt (Hiroshi SHIBATA) over 2 years ago

  • Description updated (diff)

I can reproduce this issue with today's snapshot.

Updated by vo.x (Vit Ondruch) over 2 years ago

It might be completely different issue, but I had recently similar issues with trunk #13684

#6

Updated by nobu (Nobuyoshi Nakada) over 2 years ago

  • Status changed from Open to Closed

Applied in changeset trunk|r59292.


downloader.rb: get rid of symlinks in dist files

  • tool/downloader.rb: download to the target file directly if CACHE_SAVE=no, to get rid of symlinks in dist files. [ruby-core:81887] [Bug #13709]

Also available in: Atom PDF