×

redis集群3.3.3搭配redis软件3.2.8在centos/rhel 完整安装步骤

96
读或写
2017.02.28 09:07* 字数 23413

说明
本次redis集群安装在rhel6.8 64位机器上,redis版本为3.2.8,redis的gem文件版本为3.3.3,ruby版本为2.4.0,gem版本为2.6.10,zlib版本为1.2.11,没有升级openssl,使用的系统自带的openssl,版本为OpenSSL 1.0.1e-fips。

操作系统安装
安装rhel6.8 64bit时,选择basisc server,注意正确选择时区,由于内存是2G,swap给了4G,剩余的全为root分区。

配置网络
[root@rdb4 ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:15:5D:65:09:74
TYPE=Ethernet
ONBOOT=yes
IPADDR=192.168.102.244
NETMASK=255.255.255.0
GATEWAY=192.168.102.1

service networkrestart

配置yum
1、在虚拟机上挂载上安装镜像文件
2、mount /dev/cdrom /mnt
3、编辑/etc/yum.repos.d/rhel-source.repo,加入以下内容:
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=file:///mnt
enabled=1
gpgcheck=0
gpgkey=file:///mnt/RPM-GPG-KEY-redhat-release

4、rpm --import /mnt/RPM-GPG-KEY-redhat-release
5、yum clean all
6、yum list

安装编译环境
yum install -y gcc-c++.x86_64 libgcc.i686 libgcc.x86_64 compat-gcc-34.x86_64 compat-gcc-34-c++.x86_64 compat-gcc-34-g77.x86_64 gcc.x86_64

关闭防火墙和selinux
chkconfig --level 2345 iptables off
chkconfig --level 2345 ip6tables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
重启一下服务器shutdown -r now

创建redis用户
groupadd -g 600 rdb
useradd -g rdb -u 600 rdb
passwd rdb

下载软件
1、ruby
下载的最新稳定版本的ruby 2.4.0
http://www.ruby-lang.org/en/downloads/
2、gem
进入网站后点击下载zip或者tgz包格式的gem,这个版本是2.6.10
https://rubygems.org/pages/download
3、zlib
下载的1.2.11版本你的
http://www.zlib.net/
4、下载gem的redis
最新版本为3.3.3,下载最新版本,注意选择正确的版本,在右下角有下载链接
https://rubygems.org/gems/redis
如果不行可以直接进入这个连接下载https://rubygems.org/downloads/redis-3.3.3.gem

5、redis
进入官网选择下载最新稳定版本,3.2.8
https://redis.io/

创建目录
mkdir /soft
chmod 777 /soft
mkdir -p /u01/redis
chown rdb:rdb /u01/redis
chmod 775 /u01/redis
用redis用户rdb上传安装软件至soft目录

root用户安装ruby
1、解压
tar -zxf ruby-2.4.0.tar.gz
cd ruby-2.4.0
======================================================================================================


======================================================================================================
2、执行configure
打算将ruby安装在/usr/local/src/ruby下面,这个目录可以不用创建,他安装时会自动创建
./configure --prefix=/usr/local/src/ruby
[root@rdb4 ruby-2.4.0]# ./configure --prefix=/usr/local/src/ruby
checking for ruby... false
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... /bin/grep
checking for egrep... /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 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/install -c
checking for a thread-safe mkdir -p... /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 -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 -Wimplicit-int 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 -Wsuggest-attribute=noreturn is accepted as CFLAGS... no
checking whether -Wsuggest-attribute=format is accepted as CFLAGS... no
checking whether -Wimplicit-fallthrough=0 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... no
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... no
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... 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... 0
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 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... 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... x
checking for FUNC_CDECL function attribute... x
checking for FUNC_FASTCALL function attribute... 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... no
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... 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... no
checking for uint128_t... no
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 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... no
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 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 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 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 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... no
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_constant_p... yes
checking for __builtin_choose_expr... yes
checking for __builtin_choose_expr_constant_p... no
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 and -0.0... yes
checking for clock_gettime in -lrt... 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 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_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 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 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/x86_64-linux/ruby/config.h updated
configure: ruby library version = 2.4.0
configure: creating ./config.status
config.status: creating GNUmakefile
config.status: creating Makefile
config.status: creating ruby-2.4.pc


Configuration summary for ruby version 2.4.0

  • Installation prefix: /usr/local/src/ruby
  • exec prefix: ${prefix}
  • arch: x86_64-linux
  • site arch: ${arch}
  • RUBY_BASE_NAME: ruby
  • 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: no
  • dynamic library ext: so
  • CFLAGS: ${optflags} ${debugflags} ${warnflags}
  • LDFLAGS: -L. -fstack-protector -rdynamic
    -Wl,-export-dynamic
  • optflags: -O3 -fno-fast-math
  • debugflags: -ggdb3
  • 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 -Wimplicit-int -Wpointer-arith
    -Wwrite-strings -Wdeclaration-after-statement
    -Wimplicit-function-declaration
    -Wdeprecated-declarations
    -Wno-packed-bitfield-compat
  • strip command: strip -S -x
  • install doc: yes
  • man page type: doc

[root@rdb4 ruby-2.4.0]#


======================================================================================================
3、执行make
[root@rdb4 ruby-2.4.0]# make
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 -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -std=gnu99
XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -fPIE
CPPFLAGS = -I. -I.ext/include/x86_64-linux -I./include -I. -I./enc/unicode/9.0.0
DLDFLAGS = -fstack-protector -pie
SOLIBS =
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17)
Copyright (C) 2010 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.

making dummy probes.h
compiling main.c
compiling dmydln.c
compiling miniinit.c
compiling dmyext.c
compiling miniprelude.c
compiling array.c
compiling bignum.c
compiling class.c
compiling compar.c
compiling compile.c
compiling complex.c
compiling cont.c
compiling debug.c
compiling dir.c
compiling dln_find.c
compiling encoding.c
compiling enum.c
compiling enumerator.c
compiling error.c
compiling eval.c
eval.c: In function ‘ruby_setup’:
eval.c:58: warning: ‘_th’ may be used uninitialized in this function
eval.c: In function ‘ruby_options’:
eval.c:101: warning: ‘_th’ may be used uninitialized in this function
In file included from eval.c:35:
eval_jump.c: In function ‘rb_exec_end_proc’:
eval_jump.c:121: warning: ‘_th’ may be used uninitialized in this function
eval_jump.c:118: warning: ‘th’ may be used uninitialized in this function
eval.c: In function ‘ruby_cleanup’:
eval.c:170: warning: ‘_th’ may be used uninitialized in this function
eval.c: In function ‘setup_exception’:
eval.c:544: warning: ‘_th’ may be used uninitialized in this function
eval.c:516: warning: ‘_th’ may be used uninitialized in this function
At top level:
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"
cc1: warning: unrecognized command line option "-Wno-tautological-compare"
compiling file.c
compiling gc.c
gc.c: In function ‘run_finalizer’:
gc.c:2732: warning: ‘_th’ may be used uninitialized in this function
At top level:
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"
cc1: warning: unrecognized command line option "-Wno-tautological-compare"
compiling hash.c
compiling inits.c
compiling io.c
compiling iseq.c
compiling load.c
load.c: In function ‘rb_load_internal0’:
load.c:602: warning: ‘_th’ may be used uninitialized in this function
At top level:
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"
cc1: warning: unrecognized command line option "-Wno-tautological-compare"
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
In file included from sprintf.c:1266:
vsnprintf.c: In function ‘BSD_vfprintf’:
vsnprintf.c:830: warning: comparison of unsigned expression < 0 is always false
At top level:
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"
cc1: warning: unrecognized command line option "-Wno-tautological-compare"
compiling st.c
compiling strftime.c
strftime.c: In function ‘rb_strftime_with_timespec’:
strftime.c:433: warning: embedded ‘\0’ in format
strftime.c:438: warning: embedded ‘\0’ in format
strftime.c:447: warning: embedded ‘\0’ in format
strftime.c:452: warning: embedded ‘\0’ in format
strftime.c:457: warning: embedded ‘\0’ in format
strftime.c:462: warning: embedded ‘\0’ in format
strftime.c:484: warning: embedded ‘\0’ in format
strftime.c:486: warning: embedded ‘\0’ in format
strftime.c:490: warning: embedded ‘\0’ in format
strftime.c:496: warning: embedded ‘\0’ in format
strftime.c:500: warning: embedded ‘\0’ in format
strftime.c:505: warning: embedded ‘\0’ in format
strftime.c:509: warning: embedded ‘\0’ in format
strftime.c:522: warning: embedded ‘\0’ in format
strftime.c:528: warning: embedded ‘\0’ in format
strftime.c:531: warning: embedded ‘\0’ in format
strftime.c:657: warning: embedded ‘\0’ in format
strftime.c:676: warning: embedded ‘\0’ in format
strftime.c:685: warning: embedded ‘\0’ in format
strftime.c:699: warning: embedded ‘\0’ in format
strftime.c:714: warning: embedded ‘\0’ in format
strftime.c:719: warning: embedded ‘\0’ in format
strftime.c:746: warning: embedded ‘\0’ in format
strftime.c:749: warning: embedded ‘\0’ in format
strftime.c:755: warning: embedded ‘\0’ in format
At top level:
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"
cc1: warning: unrecognized command line option "-Wno-tautological-compare"
compiling string.c
string.c: In function ‘rb_str_enumerate_codepoints’:
string.c:7815: warning: ‘ary’ may be used uninitialized in this function
string.c: In function ‘rb_str_enumerate_chars’:
string.c:7716: warning: ‘ary’ may be used uninitialized in this function
string.c: In function ‘rb_str_enumerate_lines’:
string.c:7430: warning: ‘ary’ may be used uninitialized in this function
At top level:
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"
cc1: warning: unrecognized command line option "-Wno-tautological-compare"
compiling struct.c
compiling symbol.c
compiling thread.c
thread.c: In function ‘exec_recursive’:
thread.c:4618: warning: ‘_th’ may be used uninitialized in this function
thread.c:4583: warning: ‘sym’ may be used uninitialized in this function
thread.c: In function ‘rb_thread_s_handle_interrupt’:
thread.c:1846: warning: ‘_th’ may be used uninitialized in this function
thread.c: In function ‘thread_start_func_2’:
thread.c:583: warning: ‘_th’ may be used uninitialized in this function
thread.c: In function ‘rb_thread_terminate_all’:
thread.c:481: warning: ‘_th’ may be used uninitialized in this function
thread.c: In function ‘rb_thread_fd_select’:
thread.c:3658: warning: ‘orig_read.fdset’ may be used uninitialized in this function
thread.c:3658: note: ‘orig_read.fdset’ was declared here
thread.c:3658: warning: ‘orig_read.maxfd’ may be used uninitialized in this function
thread.c:3658: note: ‘orig_read.maxfd’ was declared here
thread.c:3659: warning: ‘orig_write.fdset’ may be used uninitialized in this function
thread.c:3659: note: ‘orig_write.fdset’ was declared here
thread.c:3659: warning: ‘orig_write.maxfd’ may be used uninitialized in this function
thread.c:3659: note: ‘orig_write.maxfd’ was declared here
thread.c:3660: warning: ‘orig_except.fdset’ may be used uninitialized in this function
thread.c:3660: note: ‘orig_except.fdset’ was declared here
thread.c:3660: warning: ‘orig_except.maxfd’ may be used uninitialized in this function
thread.c:3660: note: ‘orig_except.maxfd’ was declared here
At top level:
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"
cc1: warning: unrecognized command line option "-Wno-tautological-compare"
compiling time.c
compiling transcode.c
compiling util.c
compiling variable.c
compiling version.c
compiling vm.c
In file included from vm.c:296:
vm_eval.c: In function ‘eval_string_with_cref’:
vm_eval.c:1372: warning: ‘_th’ may be used uninitialized in this function
vm_eval.c: In function ‘rb_eval_cmd’:
vm_eval.c:1538: warning: ‘safe’ may be used uninitialized in this function
vm_eval.c:1539: warning: ‘th’ may be used uninitialized in this function
vm_eval.c:1545: warning: ‘_th’ may be used uninitialized in this function
At top level:
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"
cc1: warning: unrecognized command line option "-Wno-tautological-compare"
compiling vm_backtrace.c
vm_backtrace.c: In function ‘rb_debug_inspector_open’:
vm_backtrace.c:1184: warning: ‘_th’ may be used uninitialized in this function
At top level:
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"
cc1: warning: unrecognized command line option "-Wno-tautological-compare"
compiling vm_dump.c
compiling vm_trace.c
vm_trace.c: In function ‘rb_suppress_tracing’:
vm_trace.c:405: warning: ‘_th’ may be used uninitialized in this function
vm_trace.c: In function ‘exec_hooks_protected’:
vm_trace.c:296: warning: ‘_th’ may be used uninitialized in this function
At top level:
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"
cc1: warning: unrecognized command line option "-Wno-tautological-compare"
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 /soft/ruby-2.4.0' make[1]: Nothing to be done forsrcs'.
make[1]: Leaving directory /soft/ruby-2.4.0' 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 verifying static-library libruby-static.a generating makefile exts.mk 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-/st/foreach configuring -test-/st/numhash configuring -test-/st/update configuring -test-/string configuring -test-/struct configuring -test-/symbol configuring -test-/time configuring -test-/tracepoint configuring -test-/typeddata configuring -test-/vm configuring -test-/wait_for_single_fd configuring bigdecimal configuring cgi/escape configuring continuation configuring coverage configuring date configuring dbm header: db.h library: db configuring digest configuring digest/bubblebabble configuring digest/md5 configuring digest/rmd160 configuring digest/sha1 configuring digest/sha2 configuring etc configuring fcntl configuring fiber configuring fiddle configuring gdbm 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 rubyvm configuring sdbm configuring socket configuring stringio configuring strscan configuring syslog configuring zlib make[1]: Entering directory/soft/ruby-2.4.0'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/array/resize' compiling resize.c linking shared-object -test-/array/resize.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/array/resize'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bignum' compiling str2big.c compiling div.c compiling bigzero.c compiling init.c compiling big2str.c compiling intpack.c compiling mul.c linking shared-object -test-/bignum.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bignum'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug-3571' compiling bug.c linking shared-object -test-/bug_3571.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug-3571'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug-5832' compiling bug.c linking shared-object -test-/bug_5832.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug-5832'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug_reporter' compiling bug_reporter.c linking shared-object -test-/bug_reporter.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug_reporter'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/class' compiling class2name.c compiling init.c linking shared-object -test-/class.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/class'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/debug' compiling inspector.c compiling profile_frames.c compiling init.c linking shared-object -test-/debug.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/debug'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/dln/empty' compiling empty.c linking shared-object -test-/dln/empty.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/dln/empty'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/exception' compiling ensured.c compiling enc_raise.c compiling dataerror.c compiling init.c linking shared-object -test-/exception.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/exception'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/fatal' compiling rb_fatal.c linking shared-object -test-/fatal/rb_fatal.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/fatal'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/file' compiling stat.c compiling init.c compiling fs.c linking shared-object -test-/file.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/file'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/float' compiling nextafter.c compiling init.c linking shared-object -test-/float.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/float'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/funcall' compiling passing_block.c linking shared-object -test-/funcall.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/funcall'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/gvl/call_without_gvl' compiling call_without_gvl.c linking shared-object -test-/gvl/call_without_gvl.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/gvl/call_without_gvl'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/hash' compiling delete.c compiling init.c linking shared-object -test-/hash.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/hash'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/integer' compiling core_ext.c compiling init.c compiling my_integer.c linking shared-object -test-/integer.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/integer'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/iseq_load' compiling iseq_load.c linking shared-object -test-/iseq_load.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/iseq_load'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/iter' compiling yield.c compiling break.c compiling init.c linking shared-object -test-/iter.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/iter'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/load/dot.dot' compiling dot.dot.c linking shared-object -test-/load/dot.dot.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/load/dot.dot'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/compat' compiling usrcompat.c linking shared-object -test-/marshal/compat.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/compat'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/internal_ivar' compiling internal_ivar.c linking shared-object -test-/marshal/internal_ivar.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/internal_ivar'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/usr' compiling usrmarshal.c linking shared-object -test-/marshal/usr.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/usr'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/memory_status' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/memory_status'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/method' compiling arity.c compiling init.c linking shared-object -test-/method.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/method'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/notimplement' compiling bug.c linking shared-object -test-/notimplement.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/notimplement'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/num2int' compiling num2int.c linking shared-object -test-/num2int.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/num2int'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/path_to_class' compiling path_to_class.c linking shared-object -test-/path_to_class.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/path_to_class'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/popen_deadlock' compiling infinite_loop_dlsym.c linking shared-object -test-/popen_deadlock/infinite_loop_dlsym.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/popen_deadlock'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/postponed_job' compiling postponed_job.c linking shared-object -test-/postponed_job.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/postponed_job'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/printf' compiling printf.c linking shared-object -test-/printf.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/printf'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/proc' compiling super.c compiling receiver.c compiling init.c linking shared-object -test-/proc.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/proc'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/rational' compiling rat.c linking shared-object -test-/rational.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/rational'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/recursion' compiling recursion.c linking shared-object -test-/recursion.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/recursion'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/foreach' compiling foreach.c linking shared-object -test-/st/foreach.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/foreach'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/numhash' compiling numhash.c linking shared-object -test-/st/numhash.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/numhash'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/update' compiling update.c linking shared-object -test-/st/update.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/update'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/string' compiling modify.c compiling ellipsize.c compiling qsort.c compiling set_len.c compiling cstr.c compiling enc_str_buf_cat.c compiling coderange.c compiling nofree.c compiling init.c compiling enc_associate.c compiling capacity.c compiling normalize.c compiling fstring.c linking shared-object -test-/string.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/string'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/struct' compiling member.c compiling duplicate.c compiling init.c linking shared-object -test-/struct.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/struct'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/symbol' compiling init.c compiling type.c linking shared-object -test-/symbol.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/symbol'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/time' compiling new.c compiling init.c linking shared-object -test-/time.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/time'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/tracepoint' compiling gc_hook.c compiling tracepoint.c linking shared-object -test-/tracepoint.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/tracepoint'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/typeddata' compiling typeddata.c linking shared-object -test-/typeddata.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/typeddata'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/vm' compiling at_exit.c linking shared-object -test-/vm/at_exit.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/vm'
make[2]: Entering directory /soft/ruby-2.4.0/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/soft/ruby-2.4.0/ext/-test-/wait_for_single_fd'
make[2]: Entering directory /soft/ruby-2.4.0/ext/bigdecimal' compiling bigdecimal.c linking shared-object bigdecimal.so installing default bigdecimal libraries make[2]: Leaving directory/soft/ruby-2.4.0/ext/bigdecimal'
make[2]: Entering directory /soft/ruby-2.4.0/ext/cgi/escape' compiling escape.c linking shared-object cgi/escape.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/cgi/escape'
make[2]: Entering directory /soft/ruby-2.4.0/ext/continuation' compiling continuation.c linking shared-object continuation.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/continuation'
make[2]: Entering directory /soft/ruby-2.4.0/ext/coverage' compiling coverage.c linking shared-object coverage.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/coverage'
make[2]: Entering directory /soft/ruby-2.4.0/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/soft/ruby-2.4.0/ext/date'
make[2]: Entering directory /soft/ruby-2.4.0/ext/dbm' compiling dbm.c linking shared-object dbm.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/dbm'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest' compiling digest.c linking shared-object digest.so installing digest libraries installing default digest libraries make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/bubblebabble' compiling bubblebabble.c linking shared-object digest/bubblebabble.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/bubblebabble'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/md5' compiling md5init.c compiling md5.c linking shared-object digest/md5.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/md5'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/rmd160' compiling rmd160init.c compiling rmd160.c linking shared-object digest/rmd160.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/rmd160'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/sha1' compiling sha1init.c compiling sha1.c linking shared-object digest/sha1.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/sha1'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/sha2' compiling sha2init.c compiling sha2.c linking shared-object digest/sha2.so installing default sha2 libraries make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/sha2'
make[2]: Entering directory /soft/ruby-2.4.0/ext/etc' generating constant definitions compiling etc.c linking shared-object etc.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/etc'
make[2]: Entering directory /soft/ruby-2.4.0/ext/fcntl' compiling fcntl.c linking shared-object fcntl.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/fcntl'
make[2]: Entering directory /soft/ruby-2.4.0/ext/fiber' compiling fiber.c linking shared-object fiber.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/fiber'
make[2]: Entering directory /soft/ruby-2.4.0/ext/fiddle' compiling closure.c compiling conversions.c compiling fiddle.c compiling function.c compiling handle.c compiling pointer.c make[3]: Entering directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1'
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. -fstack-protector -rdynamic -Wl,-export-dynamic -L../../.. ' 'LIBCFLAGS=' 'LIBCFLAGS_FOR_TARGET=' 'MAKE=make' 'MAKEINFO=/bin/sh /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/missing makeinfo ' 'PICFLAG=' 'PICFLAG_FOR_TARGET=' 'RUNTESTFLAGS=' 'SHELL=/bin/sh' 'exec_prefix=/usr/local' 'infodir=/usr/local/share/info' 'libdir=/usr/local/src/ruby/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 /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1' Making all in include make[5]: Entering directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/include'
make[5]: Nothing to be done for all'. make[5]: Leaving directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/include'
Making all in testsuite
make[5]: Entering directory /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/testsuite' make[5]: Nothing to be done forall'.
make[5]: Leaving directory /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/testsuite' Making all in man make[5]: Entering directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/man'
make[5]: Nothing to be done for all'. make[5]: Leaving directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/man'
make[5]: Entering directory /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1' CC src/prep_cif.lo CC src/types.lo CC src/raw_api.lo CC src/java_raw_api.lo CC src/closures.lo CC src/x86/ffi64.lo CPPAS src/x86/unix64.lo CC src/x86/ffi.lo CPPAS src/x86/sysv.lo CCLD libffi_convenience.la CCLD libffi.la make[5]: Leaving directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1'
make[4]: Leaving directory /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1' make[3]: Leaving directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1'
linking shared-object fiddle.so
installing default fiddle libraries
make[2]: Leaving directory /soft/ruby-2.4.0/ext/fiddle' make[2]: Entering directory/soft/ruby-2.4.0/ext/gdbm'
compiling gdbm.c
linking shared-object gdbm.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/gdbm' make[2]: Entering directory/soft/ruby-2.4.0/ext/io/console'
compiling console.c
linking shared-object io/console.so
installing default console libraries
make[2]: Leaving directory /soft/ruby-2.4.0/ext/io/console' make[2]: Entering directory/soft/ruby-2.4.0/ext/io/nonblock'
compiling nonblock.c
linking shared-object io/nonblock.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/io/nonblock' make[2]: Entering directory/soft/ruby-2.4.0/ext/io/wait'
compiling wait.c
linking shared-object io/wait.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/io/wait' make[2]: Entering directory/soft/ruby-2.4.0/ext/json'
installing default libraries
make[2]: Leaving directory /soft/ruby-2.4.0/ext/json' make[2]: Entering directory/soft/ruby-2.4.0/ext/json/generator'
compiling generator.c
linking shared-object json/ext/generator.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/json/generator' make[2]: Entering directory/soft/ruby-2.4.0/ext/json/parser'
compiling parser.c
linking shared-object json/ext/parser.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/json/parser' make[2]: Entering directory/soft/ruby-2.4.0/ext/mathn/complex'
compiling complex.c
linking shared-object mathn/complex.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/mathn/complex' make[2]: Entering directory/soft/ruby-2.4.0/ext/mathn/rational'
compiling rational.c
linking shared-object mathn/rational.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/mathn/rational' make[2]: Entering directory/soft/ruby-2.4.0/ext/nkf'
compiling nkf.c
linking shared-object nkf.so
installing default nkf libraries
make[2]: Leaving directory /soft/ruby-2.4.0/ext/nkf' make[2]: Entering directory/soft/ruby-2.4.0/ext/objspace'
compiling object_tracing.c
compiling objspace.c
compiling objspace_dump.c
linking shared-object objspace.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/objspace' make[2]: Entering directory/soft/ruby-2.4.0/ext/openssl'
make[2]: Leaving directory /soft/ruby-2.4.0/ext/openssl' make[2]: Entering directory/soft/ruby-2.4.0/ext/pathname'
compiling pathname.c
linking shared-object pathname.so
installing default pathname libraries
make[2]: Leaving directory /soft/ruby-2.4.0/ext/pathname' make[2]: Entering directory/soft/ruby-2.4.0/ext/psych'
compiling psych_emitter.c
compiling psych_to_ruby.c
compiling psych_yaml_tree.c
compiling psych.c
compiling psych_parser.c
compiling ../.././ext/psych/yaml/writer.c
compiling ../.././ext/psych/yaml/reader.c
compiling ../.././ext/psych/yaml/emitter.c
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_document_start’:
../.././ext/psych/yaml/emitter.c:595: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:603: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:605: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:617: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:637: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:654: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_document_end’:
../.././ext/psych/yaml/emitter.c:699: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_flow_sequence_item’:
../.././ext/psych/yaml/emitter.c:734: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:746: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:751: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:759: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_flow_mapping_key’:
../.././ext/psych/yaml/emitter.c:783: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:795: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:800: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:808: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:826: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_flow_mapping_value’:
../.././ext/psych/yaml/emitter.c:845: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:853: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_block_sequence_item’:
../.././ext/psych/yaml/emitter.c:886: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_block_mapping_key’:
../.././ext/psych/yaml/emitter.c:930: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_block_mapping_value’:
../.././ext/psych/yaml/emitter.c:949: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:955: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_process_anchor’:
../.././ext/psych/yaml/emitter.c:1247: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char * const’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_process_tag’:
../.././ext/psych/yaml/emitter.c:1277: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:1282: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_single_quoted_scalar’:
../.././ext/psych/yaml/emitter.c:1967: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:2011: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_double_quoted_scalar’:
../.././ext/psych/yaml/emitter.c:2029: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c:2167: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_block_scalar_hints’:
../.././ext/psych/yaml/emitter.c:2196: warning: assignment discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:2205: warning: assignment discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:2209: warning: assignment discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:2219: warning: assignment discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_literal_scalar’:
../.././ext/psych/yaml/emitter.c:2243: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’
../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_folded_scalar’:
../.././ext/psych/yaml/emitter.c:2283: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type
../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’
At top level:
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"
cc1: warning: unrecognized command line option "-Wno-tautological-compare"
compiling ../.././ext/psych/yaml/parser.c
compiling ../.././ext/psych/yaml/api.c
compiling ../.././ext/psych/yaml/dumper.c
compiling ../.././ext/psych/yaml/scanner.c
compiling ../.././ext/psych/yaml/loader.c
linking shared-object psych.so
installing default psych libraries
make[2]: Leaving directory /soft/ruby-2.4.0/ext/psych' make[2]: Entering directory/soft/ruby-2.4.0/ext/pty'
compiling pty.c
linking shared-object pty.so
installing default pty libraries
make[2]: Leaving directory /soft/ruby-2.4.0/ext/pty' make[2]: Entering directory/soft/ruby-2.4.0/ext/racc/cparse'
compiling cparse.c
linking shared-object racc/cparse.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/racc/cparse' make[2]: Entering directory/soft/ruby-2.4.0/ext/rbconfig/sizeof'
compiling sizes.c
linking shared-object rbconfig/sizeof.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/rbconfig/sizeof' make[2]: Entering directory/soft/ruby-2.4.0/ext/readline'
make[2]: Leaving directory /soft/ruby-2.4.0/ext/readline' make[2]: Entering directory/soft/ruby-2.4.0/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 /soft/ruby-2.4.0/ext/ripper' make[2]: Entering directory/soft/ruby-2.4.0/ext/rubyvm'
installing default libraries
make[2]: Leaving directory /soft/ruby-2.4.0/ext/rubyvm' make[2]: Entering directory/soft/ruby-2.4.0/ext/sdbm'
compiling _sdbm.c
compiling init.c
linking shared-object sdbm.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/sdbm' make[2]: Entering directory/soft/ruby-2.4.0/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 /soft/ruby-2.4.0/ext/socket' make[2]: Entering directory/soft/ruby-2.4.0/ext/stringio'
compiling stringio.c
linking shared-object stringio.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/stringio' make[2]: Entering directory/soft/ruby-2.4.0/ext/strscan'
compiling strscan.c
linking shared-object strscan.so
make[2]: Leaving directory /soft/ruby-2.4.0/ext/strscan' make[2]: Entering directory/soft/ruby-2.4.0/ext/syslog'
compiling syslog.c
linking shared-object syslog.so
installing default syslog libraries
make[2]: Leaving directory /soft/ruby-2.4.0/ext/syslog' make[2]: Entering directory/soft/ruby-2.4.0/ext/zlib'
make[2]: Leaving directory /soft/ruby-2.4.0/ext/zlib' *** Following extensions failed to configure: ../.././ext/openssl/extconf.rb:0: Failed to configure openssl. It will not be installed. ../.././ext/readline/extconf.rb:62: Neither readline nor libedit was found ../.././ext/zlib/extconf.rb:0: Failed to configure zlib. It will not be installed. *** Fix the problems, then remove these directories and try again if you want. make[2]: Entering directory/soft/ruby-2.4.0'
linking ruby
make[2]: Leaving directory /soft/ruby-2.4.0' make[1]: Leaving directory/soft/ruby-2.4.0'
making enc
make[1]: Entering directory /soft/ruby-2.4.0' 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/soft/ruby-2.4.0'
making trans
make[1]: Entering directory /soft/ruby-2.4.0' 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/soft/ruby-2.4.0'
making encs
make[1]: Entering directory /soft/ruby-2.4.0' make[1]: Nothing to be done forencs'.
make[1]: Leaving directory `/soft/ruby-2.4.0'
Generating RDoc documentation
Parsing sources...
100% [889/889] vsnprintf.c

Generating RI format into /soft/ruby-2.4.0/.ext/rdoc...

Files: 889

Classes: 1312 ( 556 undocumented)
Modules: 274 ( 110 undocumented)
Constants: 2143 ( 589 undocumented)
Attributes: 1064 ( 248 undocumented)
Methods: 9916 (2135 undocumented)

Total: 14709 (3638 undocumented)
75.27% documented

Elapsed: 74.7s

[root@rdb4 ruby-2.4.0]#


======================================================================================================
4、执行make install
[root@rdb4 ruby-2.4.0]# make install
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 -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -std=gnu99
XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -fPIE
CPPFLAGS = -I. -I.ext/include/x86_64-linux -I./include -I. -I./enc/unicode/9.0.0
DLDFLAGS = -fstack-protector -pie
SOLIBS =
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17)
Copyright (C) 2010 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 /soft/ruby-2.4.0' make[1]: Nothing to be done forsrcs'.
make[1]: Leaving directory /soft/ruby-2.4.0' generating transdb.h transdb.h unchanged generating makefile exts.mk make[1]: Entering directory/soft/ruby-2.4.0'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/array/resize' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/array/resize'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bignum' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bignum'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug-3571' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug-3571'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug-5832' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug-5832'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug_reporter' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug_reporter'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/class' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/class'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/debug' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/debug'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/dln/empty' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/dln/empty'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/exception' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/exception'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/fatal' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/fatal'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/file' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/file'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/float' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/float'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/funcall' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/funcall'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/gvl/call_without_gvl' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/gvl/call_without_gvl'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/hash' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/hash'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/integer' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/integer'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/iseq_load' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/iseq_load'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/iter' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/iter'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/load/dot.dot' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/load/dot.dot'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/compat' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/compat'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/internal_ivar' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/internal_ivar'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/usr' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/usr'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/memory_status' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/memory_status'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/method' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/method'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/notimplement' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/notimplement'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/num2int' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/num2int'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/path_to_class' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/path_to_class'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/popen_deadlock' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/popen_deadlock'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/postponed_job' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/postponed_job'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/printf' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/printf'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/proc' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/proc'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/rational' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/rational'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/recursion' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/recursion'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/foreach' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/foreach'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/numhash' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/numhash'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/update' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/update'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/string' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/string'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/struct' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/struct'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/symbol' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/symbol'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/time' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/time'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/tracepoint' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/tracepoint'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/typeddata' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/typeddata'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/vm' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/vm'
make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/wait_for_single_fd' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/wait_for_single_fd'
make[2]: Entering directory /soft/ruby-2.4.0/ext/bigdecimal' make[2]: Leaving directory/soft/ruby-2.4.0/ext/bigdecimal'
make[2]: Entering directory /soft/ruby-2.4.0/ext/cgi/escape' make[2]: Leaving directory/soft/ruby-2.4.0/ext/cgi/escape'
make[2]: Entering directory /soft/ruby-2.4.0/ext/continuation' make[2]: Leaving directory/soft/ruby-2.4.0/ext/continuation'
make[2]: Entering directory /soft/ruby-2.4.0/ext/coverage' make[2]: Leaving directory/soft/ruby-2.4.0/ext/coverage'
make[2]: Entering directory /soft/ruby-2.4.0/ext/date' make[2]: Leaving directory/soft/ruby-2.4.0/ext/date'
make[2]: Entering directory /soft/ruby-2.4.0/ext/dbm' make[2]: Leaving directory/soft/ruby-2.4.0/ext/dbm'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/bubblebabble' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/bubblebabble'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/md5' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/md5'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/rmd160' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/rmd160'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/sha1' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/sha1'
make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/sha2' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/sha2'
make[2]: Entering directory /soft/ruby-2.4.0/ext/etc' make[2]: Leaving directory/soft/ruby-2.4.0/ext/etc'
make[2]: Entering directory /soft/ruby-2.4.0/ext/fcntl' make[2]: Leaving directory/soft/ruby-2.4.0/ext/fcntl'
make[2]: Entering directory /soft/ruby-2.4.0/ext/fiber' make[2]: Leaving directory/soft/ruby-2.4.0/ext/fiber'
make[2]: Entering directory /soft/ruby-2.4.0/ext/fiddle' make[2]: Leaving directory/soft/ruby-2.4.0/ext/fiddle'
make[2]: Entering directory /soft/ruby-2.4.0/ext/gdbm' make[2]: Leaving directory/soft/ruby-2.4.0/ext/gdbm'
make[2]: Entering directory /soft/ruby-2.4.0/ext/io/console' make[2]: Leaving directory/soft/ruby-2.4.0/ext/io/console'
make[2]: Entering directory /soft/ruby-2.4.0/ext/io/nonblock' make[2]: Leaving directory/soft/ruby-2.4.0/ext/io/nonblock'
make[2]: Entering directory /soft/ruby-2.4.0/ext/io/wait' make[2]: Leaving directory/soft/ruby-2.4.0/ext/io/wait'
make[2]: Entering directory /soft/ruby-2.4.0/ext/json' make[2]: Leaving directory/soft/ruby-2.4.0/ext/json'
make[2]: Entering directory /soft/ruby-2.4.0/ext/json/generator' make[2]: Leaving directory/soft/ruby-2.4.0/ext/json/generator'
make[2]: Entering directory /soft/ruby-2.4.0/ext/json/parser' make[2]: Leaving directory/soft/ruby-2.4.0/ext/json/parser'
make[2]: Entering directory /soft/ruby-2.4.0/ext/mathn/complex' make[2]: Leaving directory/soft/ruby-2.4.0/ext/mathn/complex'
make[2]: Entering directory /soft/ruby-2.4.0/ext/mathn/rational' make[2]: Leaving directory/soft/ruby-2.4.0/ext/mathn/rational'
make[2]: Entering directory /soft/ruby-2.4.0/ext/nkf' make[2]: Leaving directory/soft/ruby-2.4.0/ext/nkf'
make[2]: Entering directory /soft/ruby-2.4.0/ext/objspace' make[2]: Leaving directory/soft/ruby-2.4.0/ext/objspace'
make[2]: Entering directory /soft/ruby-2.4.0/ext/openssl' make[2]: Leaving directory/soft/ruby-2.4.0/ext/openssl'
make[2]: Entering directory /soft/ruby-2.4.0/ext/pathname' make[2]: Leaving directory/soft/ruby-2.4.0/ext/pathname'
make[2]: Entering directory /soft/ruby-2.4.0/ext/psych' make[2]: Leaving directory/soft/ruby-2.4.0/ext/psych'
make[2]: Entering directory /soft/ruby-2.4.0/ext/pty' make[2]: Leaving directory/soft/ruby-2.4.0/ext/pty'
make[2]: Entering directory /soft/ruby-2.4.0/ext/racc/cparse' make[2]: Leaving directory/soft/ruby-2.4.0/ext/racc/cparse'
make[2]: Entering directory /soft/ruby-2.4.0/ext/rbconfig/sizeof' make[2]: Leaving directory/soft/ruby-2.4.0/ext/rbconfig/sizeof'
make[2]: Entering directory /soft/ruby-2.4.0/ext/readline' make[2]: Leaving directory/soft/ruby-2.4.0/ext/readline'
make[2]: Entering directory /soft/ruby-2.4.0/ext/ripper' make[2]: Leaving directory/soft/ruby-2.4.0/ext/ripper'
make[2]: Entering directory /soft/ruby-2.4.0/ext/rubyvm' make[2]: Leaving directory/soft/ruby-2.4.0/ext/rubyvm'
make[2]: Entering directory /soft/ruby-2.4.0/ext/sdbm' make[2]: Leaving directory/soft/ruby-2.4.0/ext/sdbm'
make[2]: Entering directory /soft/ruby-2.4.0/ext/socket' make[2]: Leaving directory/soft/ruby-2.4.0/ext/socket'
make[2]: Entering directory /soft/ruby-2.4.0/ext/stringio' make[2]: Leaving directory/soft/ruby-2.4.0/ext/stringio'
make[2]: Entering directory /soft/ruby-2.4.0/ext/strscan' make[2]: Leaving directory/soft/ruby-2.4.0/ext/strscan'
make[2]: Entering directory /soft/ruby-2.4.0/ext/syslog' make[2]: Leaving directory/soft/ruby-2.4.0/ext/syslog'
make[2]: Entering directory /soft/ruby-2.4.0/ext/zlib' make[2]: Leaving directory/soft/ruby-2.4.0/ext/zlib'
*** Following extensions failed to configure:
../.././ext/openssl/extconf.rb:0: Failed to configure openssl. It will not be installed.
../.././ext/readline/extconf.rb:0: Failed to configure readline. It will not be installed.
../.././ext/zlib/extconf.rb:0: Failed to configure zlib. It will not be installed.
*** Fix the problems, then remove these directories and try again if you want.
make[2]: Entering directory /soft/ruby-2.4.0' make[2]:ruby' is up to date.
make[2]: Leaving directory /soft/ruby-2.4.0' make[1]: Leaving directory/soft/ruby-2.4.0'
making enc
make[1]: Entering directory /soft/ruby-2.4.0' make[1]: Nothing to be done forenc'.
make[1]: Leaving directory /soft/ruby-2.4.0' making trans make[1]: Entering directory/soft/ruby-2.4.0'
make[1]: Nothing to be done for ./enc/trans'. make[1]: Leaving directory/soft/ruby-2.4.0'
making encs
make[1]: Entering directory /soft/ruby-2.4.0' make[1]: Nothing to be done forencs'.
make[1]: Leaving directory `/soft/ruby-2.4.0'
Generating RDoc documentation

No newer files.

Files: 0

Classes: 0 (0 undocumented)
Modules: 0 (0 undocumented)
Constants: 0 (0 undocumented)
Attributes: 0 (0 undocumented)
Methods: 0 (0 undocumented)

Total: 0 (0 undocumented)
0.00% documented

Elapsed: 0.0s

generating x86_64-linux-fake.rb
x86_64-linux-fake.rb updated
./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -r./x86_64-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" --install=all --rdoc-output=".ext/rdoc"
installing binary commands: /usr/local/src/ruby/bin
installing base libraries: /usr/local/src/ruby/lib
installing arch files: /usr/local/src/ruby/lib/ruby/2.4.0/x86_64-linux
installing pkgconfig data: /usr/local/src/ruby/lib/pkgconfig
installing command scripts: /usr/local/src/ruby/bin
installing library scripts: /usr/local/src/ruby/lib/ruby/2.4.0
installing common headers: /usr/local/src/ruby/include/ruby-2.4.0
installing manpages: /usr/local/src/ruby/share/man/man1
installing extension objects: /usr/local/src/ruby/lib/ruby/2.4.0/x86_64-linux
installing extension objects: /usr/local/src/ruby/lib/ruby/site_ruby/2.4.0/x86_64-linux
installing extension objects: /usr/local/src/ruby/lib/ruby/vendor_ruby/2.4.0/x86_64-linux
installing extension headers: /usr/local/src/ruby/include/ruby-2.4.0/x86_64-linux
installing extension scripts: /usr/local/src/ruby/lib/ruby/2.4.0
installing extension scripts: /usr/local/src/ruby/lib/ruby/site_ruby/2.4.0
installing extension scripts: /usr/local/src/ruby/lib/ruby/vendor_ruby/2.4.0
installing extension headers: /usr/local/src/ruby/include/ruby-2.4.0/ruby
installing default gems: /usr/local/src/ruby/lib/ruby/gems/2.4.0 (build_info, cache, doc, extensions, gems, specifications)
bigdecimal 1.3.0
io-console 0.4.6
json 2.0.2
psych 2.2.2
rdoc 5.0.0
installing bundle gems: /usr/local/src/ruby/lib/ruby/gems/2.4.0 (build_info, cache, doc, extensions, gems, specifications)
power_assert 0.4.1
test-unit 3.2.3
net-telnet 0.1.1
xmlrpc 0.2.1
minitest 5.10.1
did_you_mean 1.1.0
rake 12.0.0
installing rdoc: /usr/local/src/ruby/share/ri/2.4.0/system
installing capi-docs: /usr/local/src/ruby/share/doc/ruby
[root@rdb4 ruby-2.4.0]#
======================================================================================================


======================================================================================================
配置环境变量
需要在root用户和redis的rdb用户配置ruby的环境变量
[root@rdb4 ruby-2.4.0]# vi ~/.bash_profile
添加ruby路径:PATH=$PATH:$HOME/bin:/usr/local/src/ruby/bin
[root@rdb4 ruby-2.4.0]# source ~/.bash_profile
[root@rdb4 ruby-2.4.0]# which ruby
/usr/local/src/ruby/bin/ruby
[root@rdb4 ruby-2.4.0]# ruby --version
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
[root@rdb4 ruby-2.4.0]# which gem
/usr/local/src/ruby/bin/gem
[root@rdb4 ruby-2.4.0]# gem --version
2.6.8
[root@rdb4 ruby-2.4.0]#

root用户安装gem
unzip rubygems-2.6.10.zip
cd rubygems-2.6.10
[root@rdb4 rubygems-2.6.10]# ruby setup.rb
RubyGems 2.6.10 installed
Parsing documentation for rubygems-2.6.10
Installing ri documentation for rubygems-2.6.10

=== 2.6.10 / 2017-01-23

Bug fixes:

  • Fix require calling the wrong gem method when it is overridden.
    Pull request #1822 by Samuel Giddins.

=== 2.6.9 / 2017-01-20

Bug fixes:

  • Allow initializing versions with empty strings. Pull request #1767 by
    Luis Sagastume.
  • Fix TypeError on 2.4. Pull request #1788 by Nobuyoshi Nakada.
  • Don't output mkmf.log message if compilation didn't fail. Pull request

    1808 by Jeremy Evans.

  • Fixed broken links and overzealous URL encoding in gem server. Pull
    request #1809 by Nicole Orchard.
  • Update vendored Molinillo to 0.5.5. Pull request #1812 by Samuel
    Giddins.
  • RakeBuilder: avoid frozen string issue. Pull request #1819 by Olle
    Jonsson.

=== 2.6.8 / 2016-10-29

Bug fixes:

  • Improve SSL verification failure message. Pull request #1751
    by Eric Hodel.
  • Ensure to_spec falls back on prerelease specs. Pull request

    1755 by André Arko.

  • Update vendored Molinillo to 0.5.3. Pull request #1763 by
    Samuel Giddins.

=== 2.6.7 / 2016-09-26

Bug fixes:

  • Install native extensions in the correct location when using the
    --user-install flag. Pull request #1683 by Noah Kantrowitz.
  • When calling Gem.sources, load sources from configuration
    if present, else use the default sources. Pull request #1699
    by Luis Sagastume.
  • Fail gracefully when attempting to redirect without a Location.
    Pull request #1711 by Samuel Giddins.
  • Update vendored Molinillo to 0.5.1. Pull request #1714 by
    Samuel Giddins.

=== 2.6.6 / 2016-06-22

Bug fixes:

  • Sort installed versions to make sure we install the latest version when
    running gem update --system. As a one-time fix, run
    gem update --system=2.6.6. Pull request #1601 by David Radcliffe.

=== 2.6.5 / 2016-06-21

Minor enhancements:

  • Support for unified Integer in Ruby 2.4. Pull request #1618
    by SHIBATA Hiroshi.
  • Update vendored Molinillo to 0.5.0 for performance improvements.
    Pull request #1638 by Samuel Giddins.

Bug fixes:

  • Raise an explicit error if Signer#sign is called with no certs. Pull
    request #1605 by Daniel Berger.
  • Update update_bundled_ca_certificates utility script for directory
    nesting. Pull request #1583 by James Wen.
  • Fix broken symlink support in tar writer (+ fix broken test). Pull
    request #1578 by Cezary Baginski.
  • Remove extension directory before (re-)installing. Pull request #1576
    by Jeremy Hinegardner.
  • Regenerate test CA certificates with appropriate extensions. Pull
    request #1611 by rhenium.
  • Rubygems does not terminate on failed file lock when not superuser. Pull
    request #1582 by Ellen Marie Dash.
  • Fix tar headers with a 101 character name. Pull request #1612 by Paweł
    Tomulik.
  • Add Gem.platform_defaults to allow implementations to override defaults.
    Pull request #1644 by Charles Oliver Nutter.
  • Run Bundler tests on TravisCI. Pull request #1650 by Samuel Giddins.

=== 2.6.4 / 2016-04-26

Minor enhancements:

  • Use Gem::Util::NULL_DEVICE instead of hard coded strings. Pull request #1588
    by Chris Charabaruk.
  • Use File.symlink on MS Windows if supported. Pull request #1418
    by Nobuyoshi Nakada.

Bug fixes:

  • Redact uri password from error output when gem fetch fails. Pull request

    1565 by Brian Fletcher.

  • Suppress warnings. Pull request #1594 by Nobuyoshi Nakada.
  • Escape user-supplied content served on web pages by gem server to avoid
    potential XSS vulnerabilities. Samuel Giddins.

=== 2.6.3 / 2016-04-05

Minor enhancements:

  • Lazily calculate Gem::LoadError exception messages. Pull request #1550
    by Aaron Patterson.
  • New fastly cert. Pull request #1548 by David Radcliffe.
  • Organize and cleanup SSL certs. Pull request #1555 by James Wen.
  • [RubyGems] Make deprecation message for paths= more helpful. Pull
    request #1562 by Samuel Giddins.
  • Show default gems when using "gem list". Pull request #1570 by Luis
    Sagastume.

Bug fixes:

  • Stub ordering should be consistent regardless of how cache is populated.
    Pull request #1552 by Aaron Patterson.
  • Handle cases when the @@stubs variable contains non-stubs. Pull request

    1558 by Per Lundberg.

  • Fix test on Windows for inconsistent temp path. Pull request #1554 by
    Hiroshi Shirosaki.
  • Fix Gem.find_spec_for_exe picks oldest gem. Pull request #1566 by
    Shinichi Maeshima.
  • [Owner] Fallback to email and userid when owner email is missing. Pull
    request #1569 by Samuel Giddins.
  • [Installer] Handle nil existing executable. Pull request #1561 by Samuel
    Giddins.
  • Allow two digit version numbers in the tests. Pull request #1575 by unak.

=== 2.6.2 / 2016-03-12

Bug fixes:

  • Fix wrong version of gem activation for bin stub. Pull request #1527 by
    Aaron Patterson.
  • Speed up gem activation failures. Pull request #1539 by Aaron Patterson.
  • Fix platform sorting in the resolver. Pull request #1542 by Samuel E.
    Giddins.
  • Ensure we unlock the monitor even if try_activate throws. Pull request

    1538 by Charles Oliver Nutter.

=== 2.6.1 / 2016-02-28

Bug fixes:

  • Ensure default_path and home are set for paths. Pull request #1513
    by Aaron Patterson.
  • Restore but deprecate support for Array values on Gem.paths=. Pull
    request #1514 by Aaron Patterson.
  • Fix invalid gem file preventing gem install from working. Pull request

    1499 by Luis Sagastume.

=== 2.6.0 / 2016-02-26

Minor enhancements:

  • RubyGems now defaults the gem push to the gem's "allowed_push_host"
    metadata setting. Pull request #1486 by Josh Lane.
  • Update bundled Molinillo to 0.4.3. Pull request #1493 by Samuel E. Giddins.
  • Add version option to gem open command. Pull request #1483 by Hrvoje
    Šimić.
  • Feature/add silent flag. Pull request #1455 by Luis Sagastume.
  • Allow specifying gem requirements via env variables. Pull request #1472
    by Samuel E. Giddins.

Bug fixes:

  • RubyGems now stores gem push credentials under the host you signed-in for.
    Pull request #1485 by Josh Lane.
  • Move coding location to first line. Pull request #1471 by SHIBATA
    Hiroshi.
  • [PathSupport] Handle a regexp path separator. Pull request #1469 by
    Samuel E. Giddins.
  • Clean up the PathSupport object. Pull request #1094 by Aaron Patterson.
  • Join with File::PATH_SEPARATOR in Gem.use_paths. Pull request #1476 by
    Samuel E. Giddins.
  • Handle when the gem home and gem path arent set in the config file. Pull
    request #1478 by Samuel E. Giddins.
  • Terminate TimeoutHandler. Pull request #1479 by Nobuyoshi Nakada.
  • Remove redundant cache. Pull request #1482 by Eileen M. Uchitelle.
  • Freeze Gem::Version@segments instance variable. Pull request #1487 by
    Ben Dean.
  • Gem cleanup is trying to uninstall gems outside GEM_HOME and reporting
    an error after it tries. Pull request #1353 by Luis Sagastume.
  • Avoid duplicated sources. Pull request #1489 by Luis Sagastume.
  • Better description for quiet flag. Pull request #1491 by Luis Sagastume.
  • Raise error if find_by_name returns with nil. Pull request #1494 by
    Zoltán Hegedüs.
  • Find_files only from loaded_gems when using gemdeps. Pull request #1277
    by Michal Papis.

RubyGems installed the following executables:
/usr/local/src/ruby/bin/gem

Ruby Interactive (ri) documentation was installed. ri is kind of like man
pages for ruby libraries. You may access it like this:
ri Classname
ri Classname.class_method
ri Classname#instance_method
If you do not wish to install this documentation in the future, use the
--no-document flag, or set it as the default in your ~/.gemrc file. See
'gem help env' for details.

[root@rdb4 rubygems-2.6.10]#


======================================================================================================
[root@rdb4 rubygems-2.6.10]# which gem
/usr/local/src/ruby/bin/gem
[root@rdb4 rubygems-2.6.10]# gem --version
2.6.10
[root@rdb4 rubygems-2.6.10]#

root用户安装zlib
tar -zxf zlib-1.2.11.tar.gz
cd zlib-1.2.11
执行configure
./configure --prefix=/usr/local/src/zlib
[root@rdb4 zlib-1.2.11]# ./configure --prefix=/usr/local/src/zlib
Checking for gcc...
Checking for shared library support...
Building shared library libz.so.1.2.11 with gcc.
Checking for size_t... Yes.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for strerror... Yes.
Checking for unistd.h... Yes.
Checking for stdarg.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... Yes.
[root@rdb4 zlib-1.2.11]#

执行make
[root@rdb4 zlib-1.2.11]# make
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o example.o test/example.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o adler32.o adler32.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o crc32.o crc32.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o deflate.o deflate.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o infback.o infback.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inffast.o inffast.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inflate.o inflate.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inftrees.o inftrees.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o trees.o trees.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o zutil.o zutil.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o compress.o compress.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o uncompr.o uncompr.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzclose.o gzclose.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzlib.o gzlib.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzread.o gzread.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzwrite.o gzwrite.c
ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example example.o -L. libz.a
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o minigzip.o test/minigzip.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip minigzip.o -L. libz.a
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/adler32.o adler32.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/crc32.o crc32.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/deflate.o deflate.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/infback.o infback.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inffast.o inffast.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inflate.o inflate.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inftrees.o inftrees.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/trees.o trees.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/zutil.o zutil.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/compress.o compress.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/uncompr.o uncompr.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzclose.o gzclose.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzlib.o gzlib.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzread.o gzread.c
gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzwrite.o gzwrite.c
gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o libz.so.1.2.11 adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo -lc
rm -f libz.so libz.so.1
ln -s libz.so.1.2.11 libz.so
ln -s libz.so.1.2.11 libz.so.1
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o examplesh example.o -L. libz.so.1.2.11
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzipsh minigzip.o -L. libz.so.1.2.11
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o example64.o test/example.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example64 example64.o -L. libz.a
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o minigzip64.o test/minigzip.c
gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip64 minigzip64.o -L. libz.a
[root@rdb4 zlib-1.2.11]#
======================================================================================================


======================================================================================================
执行make install
[root@rdb4 zlib-1.2.11]# make install
rm -f /usr/local/src/zlib/lib/libz.a
cp libz.a /usr/local/src/zlib/lib
chmod 644 /usr/local/src/zlib/lib/libz.a
cp libz.so.1.2.11 /usr/local/src/zlib/lib
chmod 755 /usr/local/src/zlib/lib/libz.so.1.2.11
rm -f /usr/local/src/zlib/share/man/man3/zlib.3
cp zlib.3 /usr/local/src/zlib/share/man/man3
chmod 644 /usr/local/src/zlib/share/man/man3/zlib.3
rm -f /usr/local/src/zlib/lib/pkgconfig/zlib.pc
cp zlib.pc /usr/local/src/zlib/lib/pkgconfig
chmod 644 /usr/local/src/zlib/lib/pkgconfig/zlib.pc
rm -f /usr/local/src/zlib/include/zlib.h /usr/local/src/zlib/include/zconf.h
cp zlib.h zconf.h /usr/local/src/zlib/include
chmod 644 /usr/local/src/zlib/include/zlib.h /usr/local/src/zlib/include/zconf.h
[root@rdb4 zlib-1.2.11]#

root用户在ruby扩展中安装zlib
进入ruby源码目录
cd /soft/ruby-2.4.0/ext/zlib/
ruby extconf.rb --with-zlib-include=/usr/local/src/zlib/include/ --with-zlib-lib=/usr/local/src/zlib/lib
[root@rdb4 zlib]# ruby extconf.rb --with-zlib-include=/usr/local/src/zlib/include/ --with-zlib-lib=/usr/local/src/zlib/lib
checking for deflateReset() in -lz... yes
checking for zlib.h... yes
checking for crc32_combine() in zlib.h... yes
checking for adler32_combine() in zlib.h... yes
checking for z_crc_t in zlib.h... yes
creating Makefile
[root@rdb4 zlib]#

此时直接执行make和make install均会报错,需要将源码的include文件软连接到/
错误信息:不能在/include中找到ruby.h文件,执行软连接后就可以了
make: *** No rule to make target /include/ruby.h', needed byzlib.o'. Stop.

[root@rdb4 zlib]# ln -s /soft/ruby-2.4.0/include /
[root@rdb4 zlib]# make
compiling zlib.c
linking shared-object zlib.so
[root@rdb4 zlib]# make install
/usr/bin/install -c -m 0755 zlib.so /usr/local/src/ruby/lib/ruby/site_ruby/2.4.0/x86_64-linux
[root@rdb4 zlib]#

root用户安装redis.gem
进入soft目录
gem install -l redis-3.3.3.gem
[root@rdb4 soft]# gem install -l redis-3.3.3.gem
Successfully installed redis-3.3.3
Parsing documentation for redis-3.3.3
Installing ri documentation for redis-3.3.3
Done installing documentation for redis after 1 seconds
1 gem installed
[root@rdb4 soft]#

[root@rdb4 soft]# gem list

*** LOCAL GEMS ***

bigdecimal (default: 1.3.0)
did_you_mean (1.1.0)
io-console (default: 0.4.6)
json (default: 2.0.2)
minitest (5.10.1)
net-telnet (0.1.1)
power_assert (0.4.1)
psych (default: 2.2.2)
rake (12.0.0)
rdoc (default: 5.0.0)
redis (3.3.3)
test-unit (3.2.3)
xmlrpc (0.2.1)
[root@rdb4 soft]#

rdb用户安装redis
tar -zxf redis-3.2.8.tar.gz
cd redis-3.2.8
执行make
[rdb@rdb4 redis-3.2.8]$ make
cd src && make all
make[1]: Entering directory /soft/redis-3.2.8/src' rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html (cd ../deps && make distclean) make[2]: Entering directory/soft/redis-3.2.8/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd geohash-int && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-)
make[2]: Leaving directory /soft/redis-3.2.8/deps' (rm -f .make-*) echo STD=-std=c99 -pedantic -DREDIS_STATIC='' >> .make-settings echo WARN=-Wall -W >> .make-settings echo OPT=-O2 >> .make-settings echo MALLOC=jemalloc >> .make-settings echo CFLAGS= >> .make-settings echo LDFLAGS= >> .make-settings echo REDIS_CFLAGS= >> .make-settings echo REDIS_LDFLAGS= >> .make-settings echo PREV_FINAL_CFLAGS=-std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -O2 -g -ggdb -I../deps/geohash-int -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include >> .make-settings echo PREV_FINAL_LDFLAGS= -g -ggdb -rdynamic >> .make-settings (cd ../deps && make hiredis linenoise lua geohash-int jemalloc) make[2]: Entering directory/soft/redis-3.2.8/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd geohash-int && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(rm -f .make-
)
(echo "" > .make-ldflags)
(echo "" > .make-cflags)
MAKE hiredis
cd hiredis && make static
make[3]: Entering directory /soft/redis-3.2.8/deps/hiredis' cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb hiredis.c cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb sds.c cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb async.c ar rcs libhiredis.a net.o hiredis.o sds.o async.o make[3]: Leaving directory/soft/redis-3.2.8/deps/hiredis'
MAKE linenoise
cd linenoise && make
make[3]: Entering directory /soft/redis-3.2.8/deps/linenoise' cc -Wall -Os -g -c linenoise.c make[3]: Leaving directory/soft/redis-3.2.8/deps/linenoise'
MAKE lua
cd lua/src && make all CFLAGS="-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' " MYLDFLAGS="" AR="ar rcu"
make[3]: Entering directory /soft/redis-3.2.8/deps/lua/src' cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lapi.o lapi.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lcode.o lcode.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldebug.o ldebug.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldo.o ldo.c ldo.c: In function ‘f_parser’: ldo.c:496: warning: unused variable ‘c’ cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldump.o ldump.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lfunc.o lfunc.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lgc.o lgc.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o llex.o llex.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lmem.o lmem.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lobject.o lobject.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lopcodes.o lopcodes.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lparser.o lparser.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstate.o lstate.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstring.o lstring.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltable.o ltable.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltm.o ltm.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lundump.o lundump.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lvm.o lvm.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lzio.o lzio.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o strbuf.o strbuf.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o fpconv.o fpconv.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lauxlib.o lauxlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lbaselib.o lbaselib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldblib.o ldblib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o liolib.o liolib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lmathlib.o lmathlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o loslib.o loslib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltablib.o ltablib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstrlib.o lstrlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o loadlib.o loadlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o linit.o linit.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_cjson.o lua_cjson.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_struct.o lua_struct.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_cmsgpack.o lua_cmsgpack.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_bit.o lua_bit.c ar rcu liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o strbuf.o fpconv.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o lua_cjson.o lua_struct.o lua_cmsgpack.o lua_bit.o # DLL needs all object files ranlib liblua.a cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua.o lua.c cc -o lua lua.o liblua.a -lm liblua.a(loslib.o): In functionos_tmpname':
loslib.c:(.text+0x35): warning: the use of tmpnam' is dangerous, better usemkstemp'
cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o luac.o luac.c
cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o print.o print.c
cc -o luac luac.o print.o liblua.a -lm
make[3]: Leaving directory /soft/redis-3.2.8/deps/lua/src' MAKE geohash-int cd geohash-int && make make[3]: Entering directory/soft/redis-3.2.8/deps/geohash-int'
cc -Wall -O2 -g -c geohash.c
cc -Wall -O2 -g -c geohash_helper.c
make[3]: Leaving directory `/soft/redis-3.2.8/deps/geohash-int'
MAKE jemalloc
cd jemalloc && ./configure --with-lg-quantum=3 --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS=""
checking for xsltproc... /usr/bin/xsltproc
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 how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
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 whether byte ordering is bigendian... no
checking size of void ... 8
checking size of int... 4
checking size of long... 8
checking size of intmax_t... 8
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking whether pause instruction is compilable... yes
checking for ar... ar
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking whether malloc_usable_size definition can use const argument... no
checking whether attribute syntax is compilable... yes
checking whether compiler supports -fvisibility=hidden... yes
checking whether compiler supports -Werror... yes
checking whether tls_model attribute is compilable... yes
checking whether compiler supports -Werror... yes
checking whether alloc_size attribute is compilable... yes
checking whether compiler supports -Werror... yes
checking whether format(gnu_printf, ...) attribute is compilable... yes
checking whether compiler supports -Werror... yes
checking whether format(printf, ...) attribute is compilable... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for ranlib... ranlib
checking for ld... /usr/bin/ld
checking for autoconf... false
checking for memalign... yes
checking for valloc... yes
checking configured backtracing method... N/A
checking for sbrk... yes
checking whether utrace(2) is compilable... no
checking whether valgrind is compilable... no
checking whether a program using __builtin_ffsl is compilable... yes
checking LG_PAGE... 12
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_create in -lpthread... yes
checking for library containing clock_gettime... -lrt
checking for secure_getenv... no
checking for issetugid... no
checking for _malloc_thread_cleanup... no
checking for _pthread_mutex_init_calloc_cb... no
checking for TLS... yes
checking whether C11 atomics is compilable... no
checking whether atomic(9) is compilable... no
checking whether Darwin OSAtomic
() is compilable... no
checking whether madvise(2) is compilable... yes
checking whether to force 32-bit _sync{add,sub}_and_fetch()... no
checking whether to force 64-bit _sync{add,sub}_and_fetch()... no
checking for __builtin_clz... yes
checking whether Darwin OSSpin*() is compilable... no
checking whether glibc malloc hook is compilable... yes
checking whether glibc memalign hook is compilable... yes
checking whether pthreads adaptive mutexes is compilable... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating jemalloc.pc
config.status: creating doc/html.xsl
config.status: creating doc/manpages.xsl
config.status: creating doc/jemalloc.xml
config.status: creating include/jemalloc/jemalloc_macros.h
config.status: creating include/jemalloc/jemalloc_protos.h
config.status: creating include/jemalloc/jemalloc_typedefs.h
config.status: creating include/jemalloc/internal/jemalloc_internal.h
config.status: creating test/test.sh
config.status: creating test/include/test/jemalloc_test.h
config.status: creating config.stamp
config.status: creating bin/jemalloc-config
config.status: creating bin/jemalloc.sh
config.status: creating bin/jeprof
config.status: creating include/jemalloc/jemalloc_defs.h
config.status: creating include/jemalloc/internal/jemalloc_internal_defs.h
config.status: creating test/include/test/jemalloc_test_defs.h
config.status: executing include/jemalloc/internal/private_namespace.h commands
config.status: executing include/jemalloc/internal/private_unnamespace.h commands
config.status: executing include/jemalloc/internal/public_symbols.txt commands
config.status: executing include/jemalloc/internal/public_namespace.h commands
config.status: executing include/jemalloc/internal/public_unnamespace.h commands
config.status: executing include/jemalloc/internal/size_classes.h commands
config.status: executing include/jemalloc/jemalloc_protos_jet.h commands
config.status: executing include/jemalloc/jemalloc_rename.h commands
config.status: executing include/jemalloc/jemalloc_mangle.h commands
config.status: executing include/jemalloc/jemalloc_mangle_jet.h commands
config.status: executing include/jemalloc/jemalloc.h commands
===============================================================================
jemalloc version : 4.0.3-0-ge9192eacf8935e29fc62fddc2701f7942b1cc02c
library revision : 2

CONFIG : --with-lg-quantum=3 --with-jemalloc-prefix=je_ --enable-cc-silence 'CFLAGS=-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops ' LDFLAGS=
CC : gcc
CFLAGS : -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -fvisibility=hidden
CPPFLAGS : -D_GNU_SOURCE -D_REENTRANT
LDFLAGS :
EXTRA_LDFLAGS :
LIBS : -lpthread
TESTLIBS : -lrt
RPATH_EXTRA :

XSLTPROC : /usr/bin/xsltproc
XSLROOT :

PREFIX : /usr/local
BINDIR : /usr/local/bin
DATADIR : /usr/local/share
INCLUDEDIR : /usr/local/include
LIBDIR : /usr/local/lib
MANDIR : /usr/local/share/man

srcroot :
abs_srcroot : /soft/redis-3.2.8/deps/jemalloc/
objroot :
abs_objroot : /soft/redis-3.2.8/deps/jemalloc/

JEMALLOC_PREFIX : je_
JEMALLOC_PRIVATE_NAMESPACE
: je_
install_suffix :
autogen : 0
cc-silence : 1
debug : 0
code-coverage : 0
stats : 1
prof : 0
prof-libunwind : 0
prof-libgcc : 0
prof-gcc : 0
tcache : 1
fill : 1
utrace : 0
valgrind : 0
xmalloc : 0
munmap : 0
lazy_lock : 0
tls : 1
cache-oblivious : 1
===============================================================================
cd jemalloc && make CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS="" lib/libjemalloc.a
make[3]: Entering directory /soft/redis-3.2.8/deps/jemalloc' gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/jemalloc.o src/jemalloc.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/arena.o src/arena.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/atomic.o src/atomic.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/base.o src/base.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/bitmap.o src/bitmap.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk.o src/chunk.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk_dss.o src/chunk_dss.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk_mmap.o src/chunk_mmap.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/ckh.o src/ckh.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/ctl.o src/ctl.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/extent.o src/extent.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/hash.o src/hash.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/huge.o src/huge.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/mb.o src/mb.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/mutex.o src/mutex.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/pages.o src/pages.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/prof.o src/prof.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/quarantine.o src/quarantine.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/rtree.o src/rtree.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/stats.o src/stats.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/tcache.o src/tcache.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/util.o src/util.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/tsd.o src/tsd.c ar crus lib/libjemalloc.a src/jemalloc.o src/arena.o src/atomic.o src/base.o src/bitmap.o src/chunk.o src/chunk_dss.o src/chunk_mmap.o src/ckh.o src/ctl.o src/extent.o src/hash.o src/huge.o src/mb.o src/mutex.o src/pages.o src/prof.o src/quarantine.o src/rtree.o src/stats.o src/tcache.o src/util.o src/tsd.o make[3]: Leaving directory/soft/redis-3.2.8/deps/jemalloc'
make[2]: Leaving directory `/soft/redis-3.2.8/deps'
CC adlist.o
CC quicklist.o
CC ae.o
In file included from ae.c:53:
ae_epoll.c: In function ‘aeApiAddEvent’:
ae_epoll.c:75: warning: missing initializer
ae_epoll.c:75: warning: (near initialization for ‘ee.data’)
ae_epoll.c: In function ‘aeApiDelEvent’:
ae_epoll.c:92: warning: missing initializer
ae_epoll.c:92: warning: (near initialization for ‘ee.data’)
CC anet.o
anet.c: In function ‘anetSockName’:
anet.c:640: warning: dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:638: note: initialized from here
anet.c:644: warning: dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:642: note: initialized from here
anet.c: In function ‘anetPeerToString’:
anet.c:584: warning: dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:582: note: initialized from here
anet.c:588: warning: dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:586: note: initialized from here
anet.c: In function ‘anetTcpAccept’:
anet.c:555: warning: dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:553: note: initialized from here
anet.c:559: warning: dereferencing pointer ‘s’ does break strict-aliasing rules
anet.c:557: note: initialized from here
CC dict.o
CC server.o
CC sds.o
CC zmalloc.o
CC lzf_c.o
CC lzf_d.o
CC pqsort.o
CC zipmap.o
CC sha1.o
CC ziplist.o
CC release.o
CC networking.o
CC util.o
CC object.o
CC db.o
CC replication.o
CC rdb.o
CC t_string.o
CC t_list.o
CC t_set.o
CC t_zset.o
CC t_hash.o
CC config.o
CC aof.o
CC pubsub.o
CC multi.o
CC debug.o
CC sort.o
CC intset.o
CC syncio.o
CC cluster.o
CC crc16.o
CC endianconv.o
CC slowlog.o
CC scripting.o
CC bio.o
CC rio.o
CC rand.o
CC memtest.o
CC crc64.o
CC bitops.o
CC sentinel.o
CC notify.o
CC setproctitle.o
CC blocked.o
CC hyperloglog.o
CC latency.o
CC sparkline.o
CC redis-check-rdb.o
CC geo.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
INSTALL redis-check-rdb
CC redis-check-aof.o
LINK redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory `/soft/redis-3.2.8/src'
[rdb@rdb4 redis-3.2.8]$
======================================================================================================


======================================================================================================
执行make install PREFIX=/u01/redis/3.2.8,3.2.8的目录可以不用创建,安装时会自动创建
[rdb@rdb4 redis-3.2.8]$ make install PREFIX=/u01/redis/3.2.8
cd src && make install
make[1]: Entering directory `/soft/redis-3.2.8/src'

Hint: It's a good idea to run 'make test' ;)

INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install

make[1]: Leaving directory `/soft/redis-3.2.8/src'
[rdb@rdb4 redis-3.2.8]$

在rdb用户上配置redis环境变量
RDB_HOME=/u01/redis/3.2.8
PATH=$PATH:$HOME/bin:/usr/local/src/ruby/bin:$RDB_HOME/bin

export PATH RDB_HOME

创建redis目录
mkdir -p /u01/redis/3.2.8/conf
mkdir -p /u01/redis/3.2.8/log
mkdir -p /u01/redis/3.2.8/data
mkdir -p /u01/redis/3.2.8/data/16963
mkdir -p /u01/redis/3.2.8/data/16964

创建redis配置文件
从网站https://raw.githubusercontent.com/antirez/redis/3.2.8/redis.conf下载来更改
更改的参数如下,参考http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=20682147&id=5557566
bind 192.168.102.241
port 6379
cluster-config-file nodes-6379.conf
pidfile /var/run/redis-6379.pid
dir /data/redis/data/6379
dbfilename dump-6379.rdb
appendfilename "appendonly-6379.aof"
logfile /data/redis/log/redis-6379.log
loglevel verbose
======================================
cluster-enabled yes
cluster-node-timeout 3000
cluster-slave-validity-factor 0
repl-ping-slave-period 1
repl-timeout 10
slave-read-only yes
slave-serve-stale-data yes
slave-priority 100
appendonly yes
daemonize yes
protected-mode no
tcp-backlog 32767
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
no-appendfsync-on-rewrite yes
cluster-require-full-coverage no

启动redis
redis-server redis-6379.conf
redis-server redis-6380.conf
通过ps查看redis启动后的进程,可以看到是cluster模式启动的
[rdb@rdb4 conf]$ ps -ef|grep redis|grep -v grep
rdb 1486 1 0 09:26 ? 00:00:00 redis-server 192.168.102.244:16963 [cluster]
rdb 1491 1 0 09:26 ? 00:00:00 redis-server 192.168.102.244:16964 [cluster]

创建redis集群
redis-trib.rb create --replicas 1 192.168.102.241:16963 192.168.102.242:16963 192.168.102.243:16963 192.168.102.241:16964 192.168.102.242:16964 192.168.102.243:16964
他默认会尽量选取不同的机器来作为master和slave,但是实验中证明其还不够智能,尝试过很多机器顺序组合,但是总有一个机器master和slave在同一个机器。
create表名是创建redis cluster集群
--replicas表示为集群中每一个主节点指定一个从节点;看有解析redis-trib.rb代码的网页说,如果有多余master节点的slave,一样会进行第二次分配,也就是第一次给每个master分配replicas数目的从节点,然后剩余的在进行第二次分配,直到分配完。有待实验证明
[rdb@rdb1 16964]$ redis-trib.rb create --replicas 1 192.168.102.241:16963 192.168.102.242:16963 192.168.102.243:16963 192.168.102.241:16964 192.168.102.242:16964 192.168.102.243:16964

Creating cluster
Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.102.241:16963
192.168.102.242:16963
192.168.102.243:16963
Adding replica 192.168.102.242:16964 to 192.168.102.241:16963
Adding replica 192.168.102.241:16964 to 192.168.102.242:16963
Adding replica 192.168.102.243:16964 to 192.168.102.243:16963
M: 03ee8d295608c478d63a4c028e820a3a9829e377 192.168.102.241:16963
slots:0-5460 (5461 slots) master
M: 7a337a2d085c8db159ff56a416b1bf3ebed515fc 192.168.102.242:16963
slots:5461-10922 (5462 slots) master
M: fb373c45b704ceaf00e1455954089e243d397e23 192.168.102.243:16963
slots:10923-16383 (5461 slots) master
S: 33d3fbaffd70a88c7fedb52d1e98403448df6636 192.168.102.241:16964
replicates 7a337a2d085c8db159ff56a416b1bf3ebed515fc
S: 2289826fe42a40565f5116f856a0c684e26a0944 192.168.102.242:16964
replicates 03ee8d295608c478d63a4c028e820a3a9829e377
S: 3e6c163a8c86ab30a2173f1ae2e693f5a7853c16 192.168.102.243:16964
replicates fb373c45b704ceaf00e1455954089e243d397e23
Can I set the above configuration? (type 'yes' to accept): yes《《《《========此处输入是否接受以上的集群分配方式,yes为接受,no为不接受,会*** Aborting...
Nodes configuration updated
Assign a different config epoch to each node
Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.
Performing Cluster Check (using node 192.168.102.241:16963)
M: 03ee8d295608c478d63a4c028e820a3a9829e377 192.168.102.241:16963
slots:0-5460 (5461 slots) master
1 additional replica(s)
M: fb373c45b704ceaf00e1455954089e243d397e23 192.168.102.243:16963
slots:10923-16383 (5461 slots) master
1 additional replica(s)
M: 7a337a2d085c8db159ff56a416b1bf3ebed515fc 192.168.102.242:16963
slots:5461-10922 (5462 slots) master
1 additional replica(s)
S: 2289826fe42a40565f5116f856a0c684e26a0944 192.168.102.242:16964
slots: (0 slots) slave
replicates 03ee8d295608c478d63a4c028e820a3a9829e377
S: 33d3fbaffd70a88c7fedb52d1e98403448df6636 192.168.102.241:16964
slots: (0 slots) slave
replicates 7a337a2d085c8db159ff56a416b1bf3ebed515fc
S: 3e6c163a8c86ab30a2173f1ae2e693f5a7853c16 192.168.102.243:16964
slots: (0 slots) slave
replicates fb373c45b704ceaf00e1455954089e243d397e23
[OK] All nodes agree about slots configuration.
Check for open slots...
Check slots coverage...
[OK] All 16384 slots covered.
[rdb@rdb1 16964]$

检查集群
连接上集群中任意一个几点执行检查。
[rdb@rdb1 soft]$ redis-trib.rb check 192.168.102.241:16963

Performing Cluster Check (using node 192.168.102.241:16963)
M: 03ee8d295608c478d63a4c028e820a3a9829e377 192.168.102.241:16963
slots:0-5460 (5461 slots) master
1 additional replica(s)
M: fb373c45b704ceaf00e1455954089e243d397e23 192.168.102.243:16963
slots:10923-16383 (5461 slots) master
1 additional replica(s)
S: 33d3fbaffd70a88c7fedb52d1e98403448df6636 192.168.102.241:16964
slots: (0 slots) slave
replicates 7a337a2d085c8db159ff56a416b1bf3ebed515fc
S: 3e6c163a8c86ab30a2173f1ae2e693f5a7853c16 192.168.102.243:16964
slots: (0 slots) slave
replicates fb373c45b704ceaf00e1455954089e243d397e23
M: 7a337a2d085c8db159ff56a416b1bf3ebed515fc 192.168.102.242:16963
slots:5461-10922 (5462 slots) master
1 additional replica(s)
S: 2289826fe42a40565f5116f856a0c684e26a0944 192.168.102.242:16964
slots: (0 slots) slave
replicates 03ee8d295608c478d63a4c028e820a3a9829e377
[OK] All nodes agree about slots configuration.
Check for open slots...
Check slots coverage...
[OK] All 16384 slots covered.
[rdb@rdb1 soft]$

[rdb@rdb1 soft]$ redis-cli -c -p 16963 -h 192.168.102.241
192.168.102.241:16963> cluster nodes
fb373c45b704ceaf00e1455954089e243d397e23 192.168.102.243:16963 master - 0 1487814812689 3 connected 10923-16383
33d3fbaffd70a88c7fedb52d1e98403448df6636 192.168.102.241:16964 slave 7a337a2d085c8db159ff56a416b1bf3ebed515fc 0 1487814811685 4 connected
3e6c163a8c86ab30a2173f1ae2e693f5a7853c16 192.168.102.243:16964 slave fb373c45b704ceaf00e1455954089e243d397e23 0 1487814812689 6 connected
7a337a2d085c8db159ff56a416b1bf3ebed515fc 192.168.102.242:16963 master - 0 1487814812189 2 connected 5461-10922
2289826fe42a40565f5116f856a0c684e26a0944 192.168.102.242:16964 slave 03ee8d295608c478d63a4c028e820a3a9829e377 0 1487814812189 5 connected
03ee8d295608c478d63a4c028e820a3a9829e377 192.168.102.241:16963 myself,master - 0 0 1 connected 0-5460
192.168.102.241:16963>

192.168.102.241:16963> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_sent:10658
cluster_stats_messages_received:10534
192.168.102.241:16963>

日记本
Web note ad 1