欢迎来真孝善网,为您提供真孝善正能量书籍故事!

CentOS/RHEL系统下Redis集群3.3.3与Redis软件3.2.8完整安装指南

时间:11-11 名人轶事 提交错误

这篇文章给大家聊聊关于CentOS/RHEL系统下Redis集群3.3.3与Redis软件3.2.8完整安装指南,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

操作系统安装

安装rhel6.8 64bit时,选择basic server,注意时区选择正确。由于内存是2G,所以swap给了4G,剩下的都是根分区。

配置网络

[root@rdb4 ~]# 更多/etc/sysconfig/network-scripts/ifcfg-eth0

设备=eth0

HWADDR=00:15:5D:65:09:74

类型=以太网

启动=是

IPADDR=192.168.102.244

网络掩码=255.255.255.0

网关=192.168.102.1

服务网络重启

配置百胜

1.在虚拟机上挂载镜像文件

2.挂载/dev/cdrom/mnt

3. 编辑/etc/yum.repos.d/rhel-source.repo 并添加以下内容:

[rhel-源]

name=Red Hat Enterprise Linux $releasever - $basearch - 来源

baseurl=file:///mnt

启用=1

gpg检查=0

gpgkey=file:///mnt/RPM-GPG-KEY-redhat-release

4. rpm --import /mnt/RPM-GPG-KEY-redhat-release

5. 百胜清理所有

6. 百胜列表

安装编译环境

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 关闭

chkconfig --level 2345 ip6tables 关闭

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

密码rdb

下载软件

1.红宝石

下载最新稳定版ruby 2.4.0

http://www.ruby-lang.org/en/downloads/

2. 宝石

进入网站后,点击下载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 /软

chmod 777 /软

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.执行配置

我打算把ruby安装在/usr/local/src/ruby下。该目录不需要创建。它将在安装过程中自动创建。

./configure --prefix=/usr/local/src/ruby

[root@rdb4 ruby-2.4.0]# ./configure --prefix=/usr/local/src/ruby

检查红宝石.错误

检查构建系统类型. x86_64-pc-linux-gnu

检查主机系统类型. x86_64-pc-linux-gnu

检查目标系统类型. x86_64-pc-linux-gnu

检查gcc.gcc

检查C 编译器是否工作.是的

检查C 编译器默认输出文件名.a.out

检查可执行文件的后缀.

检查我们是否正在交叉编译.否

检查目标文件的后缀. o

检查我们是否使用GNU C 编译器.是的

检查gcc 是否接受-g. 是

检查gcc 选项以接受ISO C89.不需要

检查g++.g++

检查我们是否使用GNU C++ 编译器.是的

检查g++ 是否接受-g. 是

检查如何运行C 预处理器. gcc -E

检查处理长行的grep 和-e. /bin/grep

检查egrep. /bin/grep -E

检查gcc 是否需要-traditional. 否

检查ld.ld

检查链接器是否是GNU ld.是

检查gcc -E 是否接受-o. yes

检查ranlib.ranlib

检查ar.ar

正在检查ar D 选项.是的

检查as.as

检查objdump.objdump

检查objcopy.objcopy

检查nm.nm

检查ln -s 是否有效.是的

检查make 是否设置$(MAKE). 是

检查BSD 兼容安装. /usr/bin/install -c

检查线程安全mkdir -p. /bin/mkdir -p

正在检查dtrace.否

检查点.否

检查doxygen.否

检查pkg-config.pkg-config

检查ANSI C 头文件.是

检查sys/types.h.是的

检查sys/stat.h.是的

检查stdlib.h.是的

检查string.h.是的

检查内存。h.是的

检查字符串.h.是的

检查inttypes.h.是的

检查stdint.h.是的

检查unistd.h.是的

检查minix/config.h 可用性.否

检查minix/config.h 是否存在.否

检查minix/config.h. 否

检查定义EXTENSIONS是否安全.是

使用物理目录检查cd.cd -P

检查CFLAGS 是否有效.是

检查LDFLAGS 是否有效.是

检查-Wno-unused-parameter 是否被接受为CFLAGS.是

检查-Wno-parentheses 是否被接受为CFLAGS.是

检查-Wno-long-long 是否被接受为CFLAGS.是

检查-diag-disable=2259 是否被接受为CFLAGS.否

检查-Wno-missing-field-initializers 是否被接受为CFLAGS.是

检查-Wno-tautological-compare 是否被接受为CFLAGS. 是

检查-Wno-parentheses-equality 是否被接受为CFLAGS. 是

检查-Wno-constant-logic-operand 是否被接受为CFLAGS. 是

检查-Wno-self-assign 是否被接受为CFLAGS.是

检查-Wunused-variable 是否被接受为CFLAGS.是

检查-Wimplicit-int 是否被接受为CFLAGS.是

检查-Wpointer-arith 是否被接受为CFLAGS.是

检查-Wwrite-strings 是否被接受为CFLAGS.是

检查-Wdeclaration-after-statement 是否被接受为CFLAGS. 是

检查-Wshorten-64-to-32 是否被接受为CFLAGS.否

检查-Wimplicit-function-declaration 是否被接受为CFLAGS. 是

检查-Wdivision-by-zero 是否被接受为CFLAGS.否

检查-Wdeprecated-declarations 是否被接受为CFLAGS.是

检查-Wno-packed-bitfield-compat 是否被接受为CFLAGS.是

检查-Wsuggest-attribute=noreturn 是否被接受为CFLAGS.否

检查-Wsuggest-attribute=format 是否被接受为CFLAGS.否

检查-Wimplicit-fallthrough=0 是否被接受为CFLAGS.否

检查-Wextra-tokens 是否被接受为CFLAGS.否

检查-Wall -Wextra 是否被接受为CFLAGS.是

检查-Qunused-arguments 是否被接受为CFLAGS.否

检查INFINITY 在没有C99 选项的情况下是否可用.是

检查NAN 在没有C99 选项的情况下是否可用.是

检查-D_FORTIFY_SOURCE=2 是否被接受为CFLAGS.是

检查-fstack-protector 是否被接受为CFLAGS.是

检查-fstack-protector 是否被接受为LDFLAGS.是

检查-Wl,--compress-debug-sections=zlib 是否被接受为LDFLAGS. 否

检查-std=gnu99 是否被接受为CFLAGS.是

检查-fno-strict-overflow 是否被接受为CFLAGS.是

检查-ggdb3 是否被接受为CFLAGS.是

检查-fvisibility=hidden 是否被接受为CFLAGS.是

检查-fno-fast-math 是否被接受为CFLAGS.是

检查-fexcess- precision=standard 是否被接受为CFLAGS. 否

检查-fp-model precision 是否被接受为CFLAGS.否

正在检查-lcrypt 中的crypt.是的

检查-ldl 中的dlopen. 是

检查-ldld 中的shl_load. 否

检查-lsocket 中是否关闭.否

检查定义DIR 的dirent.h.是的

检查包含opendir 的库.不需要

检查符合C99 的stdbool.h.是

检查_Bool.是的

检查sys/wait.h 是否与POSIX.1 兼容.是的

检查a.out.h 可用性.是的

检查a.out.h 的存在.是的

检查a.out.h. 是的

检查atomic.h可用性.否

检查atomic.h 是否存在.否

检查atomic.h.否

检查direct.h 可用性.否

检查direct.h 是否存在.否

检查direct.h. 否

检查grp.h 可用性.是的

检查grp.h 是否存在.是的

检查grp.h.是的

检查fcntl.h 可用性.是的

检查fcntl.h 是否存在.是的

检查fcntl.h.是的

检查float.h 可用性.是的

检查float.h 是否存在.是的

检查float.h.是的

检查ieefp.h 可用性.否

检查ieeeefp.h 是否存在.否

检查ieefp.h.没有

检查内在函数.h 可用性.否

检查内在函数.h 是否存在.否

检查内在函数.h.否

检查langinfo.h 可用性.是的

检查langinfo.h 是否存在.是的

检查langinfo.h.是的

检查Limits.h 可用性.是的

检查Limits.h 是否存在.是的

检查限制。h.是的

检查locale.h 可用性.是的

检查locale.h 是否存在.是的

检查locale.h.是的

检查malloc.h 可用性.是的

检查malloc.h 是否存在.是的

检查malloc.h.是的

检查malloc/malloc.h 可用性.否

检查malloc/malloc.h 是否存在.否

检查malloc/malloc.h. 否

检查malloc_np.h 可用性.否

检查malloc_np.h 是否存在.否

检查malloc_np.h.否

检查net/socket.h 可用性.否

检查net/socket.h 是否存在.否

检查net/socket.h. 否

检查process.h 可用性.否

检查process.h 是否存在.否

检查process.h. 否

检查pwd.h 可用性.是的

检查pwd.h 是否存在.是的

检查pwd.h.是的

检查setjmpex.h 可用性.否

检查setjmpex.h 是否存在.否

检查setjmpex.h.否

检查sys/attr.h 可用性.否

检查sys/attr.h 是否存在.否

检查sys/attr.h. 否

检查sys/fcntl.h 可用性.是的

检查sys/fcntl.h 是否存在.是的

检查sys/fcntl.h.是

检查sys/file.h 可用性.是的

检查sys/file.h 是否存在.是的

检查sys/file.h.是

检查sys/id.h 可用性.否

检查sys/id.h 是否存在.否

检查sys/id.h.否

检查sys/ioctl.h 可用性.是的

检查sys/ioctl.h 是否存在.是的

检查sys/ioctl.h. 是

检查sys/mkdev.h 可用性.否

检查sys/mkdev.h 是否存在.否

检查sys/mkdev.h.否

检查sys/param.h 可用性.是的

检查sys/param.h 是否存在.是的

检查sys/param.h. 是

检查sys/prctl.h 可用性.是的

检查sys/prctl.h 是否存在.是的

检查sys/prctl.h. 是

检查sys/resource.h 可用性.是的

检查sys/resource.h 是否存在.是的

检查sys/resource.h.是

检查sys/select.h 可用性.是的

检查sys/select.h 是否存在.是的

检查sys/select.h.是

检查sys/sendfile.h 可用性.是的

检查sys/sendfile.h 是否存在.是的

检查sys/sendfile.h.是

检查sys/socket.h 可用性.是的

检查sys/socket.h 是否存在.是的

检查sys/socket.h.是的

检查sys/syscall.h 可用性.是的

检查sys/syscall.h 是否存在.是的

检查sys/syscall.h.是

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... xattribute((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((deprecatedmesg)) 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((errormesg)) x checking for WARNINGFUNC function attribute...attribute((warningmesg)) 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...funcchecking 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/rubyexec prefix: ${prefix}arch: x86_64-linuxsite arch: ${arch}RUBY_BASE_NAME: rubyruby lib prefix: ${libdir}/${RUBY_BASE_NAME}site libraries path: ${rubylibprefix}/${sitearch}vendor path: ${rubylibprefix}/vendor_rubytarget OS: linuxcompiler: gccwith pthread: yesenable shared libs: nodynamic library ext: soCFLAGS: ${optflags} ${debugflags} ${warnflags}LDFLAGS: -L. -fstack-protector -rdynamic -Wl,-export-dynamicoptflags: -O3 -fno-fast-mathdebugflags: -ggdb3warnflags: -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-compatstrip command: strip -S -xinstall doc: yesman 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 ‘’ in format strftime.c:438: warning: embedded ‘’ in format strftime.c:447: warning: embedded ‘’ in format strftime.c:452: warning: embedded ‘’ in format strftime.c:457: warning: embedded ‘’ in format strftime.c:462: warning: embedded ‘’ in format strftime.c:484: warning: embedded ‘’ in format strftime.c:486: warning: embedded ‘’ in format strftime.c:490: warning: embedded ‘’ in format strftime.c:496: warning: embedded ‘’ in format strftime.c:500: warning: embedded ‘’ in format strftime.c:505: warning: embedded ‘’ in format strftime.c:509: warning: embedded ‘’ in format strftime.c:522: warning: embedded ‘’ in format strftime.c:528: warning: embedded ‘’ in format strftime.c:531: warning: embedded ‘’ in format strftime.c:657: warning: embedded ‘’ in format strftime.c:676: warning: embedded ‘’ in format strftime.c:685: warning: embedded ‘’ in format strftime.c:699: warning: embedded ‘’ in format strftime.c:714: warning: embedded ‘’ in format strftime.c:719: warning: embedded ‘’ in format strftime.c:746: warning: embedded ‘’ in format strftime.c:749: warning: embedded ‘’ in format strftime.c:755: warning: embedded ‘’ 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 forall". 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 forall". 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:

Fixrequirecalling the wronggemmethod 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.Ensureto_specfalls 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-installflag. Pull request #1683 by Noah Kantrowitz.When callingGem.sources, load sources fromconfiguration 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 runninggem 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.Updateupdate_bundled_ca_certificatesutility 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 bygem serverto 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.FixGem.find_spec_for_exepicks 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: Ensuredefault_pathandhomeare set for paths. Pull request #1513 by Aaron Patterson.Restore but deprecate support for Array values onGem.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 thegem pushto 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 storesgem pushcredentials under the host you signed-in for. Pull request #1485 by Josh Lane.Movecodinglocation 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.FreezeGem::Version@segmentsinstance 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 oftmpnam" 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 whetherattributesyntax 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 installmake[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]$

用户评论

莫名的青春

这篇文章正好是我最近在用的版本啊!

    有20位网友表示赞同!

你的眸中有星辰

想搭建Redis集群试试这个版本的,希望能成功,文档感觉很详细。

    有17位网友表示赞同!

万象皆为过客

刚开始接触Redis集群,这种完整的安装步骤对我来说太宝贵了。

    有16位网友表示赞同!

回忆未来

centos/rhel用户福音,有了这篇文章可以省不少时间!

    有13位网友表示赞同!

凝残月

3.2.8版本还兼容最新的3.3.3吗?很想知道这两个版本的关系。

    有14位网友表示赞同!

一生只盼一人

安装的过程中需要注意什么特别的地方吗?文档里写的详细吗?

    有17位网友表示赞同!

安好如初

我之前用的集群版本是比较老的,现在想升级3.3版本学习一下新的功能.

    有5位网友表示赞同!

々爱被冰凝固ゝ

Redis集群搭建需要配置哪些参数?这篇文章里有吗?

    有9位网友表示赞同!

闷骚闷出味道了

搭建成功的配置分享也是不错的啊!方便参考。

    有5位网友表示赞同!

非想

这种安装步骤会不会很复杂呢?对于新手来说需要注意什么?

    有5位网友表示赞同!

一笑傾城゛

我之前也遇到过Redis集群搭建的问题,希望能找到解决方案 here !

    有7位网友表示赞同!

惯例

学习完这篇文章之后,感觉可以自己动手打造集群环境了!

    有11位网友表示赞同!

念安я

3.3版本有哪些新的特性?和3.2版本相比有什么改进?

    有7位网友表示赞同!

雁過藍天

这篇文章能否提供详细的每个步骤操作指南?例如配置文件修改方式等。

    有11位网友表示赞同!

青山暮雪

Redis集群部署需要什么硬件配置呢?文中会有相关介绍吗?

    有19位网友表示赞同!

爱你的小笨蛋

如果搭建完成之后如何监控和管理 Redis 集群呢?

    有8位网友表示赞同!

致命伤

想了解一下Redis集群在实际应用中的优势和局限性!

    有17位网友表示赞同!

箜明

这篇文章是不是只适合centos/rhel环境?其他系统怎么搭建?

    有14位网友表示赞同!

残花为谁悲丶

有没有一些优化Redis集群的技巧或小窍门可以分享?

    有15位网友表示赞同!

烟花巷陌

我想了解更多关于Redis集群的知识,除了这篇文章还有什么资源推荐?

    有7位网友表示赞同!

【CentOS/RHEL系统下Redis集群3.3.3与Redis软件3.2.8完整安装指南】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活