当前位置:   article > 正文

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

centos安装r软件checking for gcc option to accept iso c89... none needed

说明

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

操作系统安装

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

配置网络

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

DEVICE=eth0

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

TYPE=Ethernet

ONBOOT=yes

IPADDR=192.168.102.244

NETMASK=255.255.255.0

GATEWAY=192.168.102.1

service networkrestart

配置yum

1、在虚拟机上挂载上安装镜像文件

2、mount /dev/cdrom /mnt

3、编辑/etc/yum.repos.d/rhel-source.repo,加入以下内容:

[rhel-source]

name=Red Hat Enterprise Linux $releasever - $basearch - Source

baseurl=file:///mnt

enabled=1

gpgcheck=0

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

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

5、yum clean all

6、yum list

安装编译环境

yum install -y gcc-c++.x86_64 libgcc.i686 libgcc.x86_64 compat-gcc-34.x86_64 compat-gcc-34-c++.x86_64 compat-gcc-34-g77.x86_64 gcc.x86_64

关闭防火墙和selinux

chkconfig --level 2345 iptables off

chkconfig --level 2345 ip6tables off

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

重启一下服务器shutdown -r now

创建redis用户

groupadd -g 600 rdb

useradd -g rdb -u 600 rdb

passwd rdb

5、redis

进入官网选择下载最新稳定版本,3.2.8

https://redis.io/

创建目录

mkdir /soft

chmod 777 /soft

mkdir -p /u01/redis

chown rdb:rdb /u01/redis

chmod 775 /u01/redis

用redis用户rdb上传安装软件至soft目录

root用户安装ruby

1、解压

tar -zxf ruby-2.4.0.tar.gz

cd ruby-2.4.0

======================================================================================================

======================================================================================================

2、执行configure

打算将ruby安装在/usr/local/src/ruby下面,这个目录可以不用创建,他安装时会自动创建

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

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

checking for ruby... false

checking build system type... x86_64-pc-linux-gnu

checking host system type... x86_64-pc-linux-gnu

checking target system type... x86_64-pc-linux-gnu

checking for gcc... gcc

checking whether the C compiler works... yes

checking for C compiler default output file name... a.out

checking for suffix of executables...

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking for g++... g++

checking whether we are using the GNU C++ compiler... yes

checking whether g++ accepts -g... yes

checking how to run the C preprocessor... gcc -E

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking whether gcc needs -traditional... no

checking for ld... ld

checking whether the linker is GNU ld... yes

checking whether gcc -E accepts -o... yes

checking for ranlib... ranlib

checking for ar... ar

checking for ar D option... yes

checking for as... as

checking for objdump... objdump

checking for objcopy... objcopy

checking for nm... nm

checking whether ln -s works... yes

checking whether make sets $(MAKE)... yes

checking for a BSD-compatible install... /usr/bin/install -c

checking for a thread-safe mkdir -p... /bin/mkdir -p

checking for dtrace... no

checking for dot... no

checking for doxygen... no

checking for pkg-config... pkg-config

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking minix/config.h usability... no

checking minix/config.h presence... no

checking for minix/config.h... no

checking whether it is safe to define EXTENSIONS... yes

checking for cd using physical directory... cd -P

checking whether CFLAGS is valid... yes

checking whether LDFLAGS is valid... yes

checking whether -Wno-unused-parameter is accepted as CFLAGS... yes

checking whether -Wno-parentheses is accepted as CFLAGS... yes

checking whether -Wno-long-long is accepted as CFLAGS... yes

checking whether -diag-disable=2259 is accepted as CFLAGS... no

checking whether -Wno-missing-field-initializers is accepted as CFLAGS... yes

checking whether -Wno-tautological-compare is accepted as CFLAGS... yes

checking whether -Wno-parentheses-equality is accepted as CFLAGS... yes

checking whether -Wno-constant-logical-operand is accepted as CFLAGS... yes

checking whether -Wno-self-assign is accepted as CFLAGS... yes

checking whether -Wunused-variable is accepted as CFLAGS... yes

checking whether -Wimplicit-int is accepted as CFLAGS... yes

checking whether -Wpointer-arith is accepted as CFLAGS... yes

checking whether -Wwrite-strings is accepted as CFLAGS... yes

checking whether -Wdeclaration-after-statement is accepted as CFLAGS... yes

checking whether -Wshorten-64-to-32 is accepted as CFLAGS... no

checking whether -Wimplicit-function-declaration is accepted as CFLAGS... yes

checking whether -Wdivision-by-zero is accepted as CFLAGS... no

checking whether -Wdeprecated-declarations is accepted as CFLAGS... yes

checking whether -Wno-packed-bitfield-compat is accepted as CFLAGS... yes

checking whether -Wsuggest-attribute=noreturn is accepted as CFLAGS... no

checking whether -Wsuggest-attribute=format is accepted as CFLAGS... no

checking whether -Wimplicit-fallthrough=0 is accepted as CFLAGS... no

checking whether -Wextra-tokens is accepted as CFLAGS... no

checking whether -Wall -Wextra is accepted as CFLAGS... yes

checking whether -Qunused-arguments is accepted as CFLAGS... no

checking whether INFINITY is available without C99 option... yes

checking whether NAN is available without C99 option... yes

checking whether -D_FORTIFY_SOURCE=2 is accepted as CFLAGS... yes

checking whether -fstack-protector is accepted as CFLAGS... yes

checking whether -fstack-protector is accepted as LDFLAGS... yes

checking whether -Wl,--compress-debug-sections=zlib is accepted as LDFLAGS... no

checking whether -std=gnu99 is accepted as CFLAGS... yes

checking whether -fno-strict-overflow is accepted as CFLAGS... yes

checking whether -ggdb3 is accepted as CFLAGS... yes

checking whether -fvisibility=hidden is accepted as CFLAGS... yes

checking whether -fno-fast-math is accepted as CFLAGS... yes

checking whether -fexcess-precision=standard is accepted as CFLAGS... no

checking whether -fp-model precise is accepted as CFLAGS... no

checking for crypt in -lcrypt... yes

checking for dlopen in -ldl... yes

checking for shl_load in -ldld... no

checking for shutdown in -lsocket... no

checking for dirent.h that defines DIR... yes

checking for library containing opendir... none required

checking for stdbool.h that conforms to C99... yes

checking for _Bool... yes

checking for sys/wait.h that is POSIX.1 compatible... yes

checking a.out.h usability... yes

checking a.out.h presence... yes

checking for a.out.h... yes

checking atomic.h usability... no

checking atomic.h presence... no

checking for atomic.h... no

checking direct.h usability... no

checking direct.h presence... no

checking for direct.h... no

checking grp.h usability... yes

checking grp.h presence... yes

checking for grp.h... yes

checking fcntl.h usability... yes

checking fcntl.h presence... yes

checking for fcntl.h... yes

checking float.h usability... yes

checking float.h presence... yes

checking for float.h... yes

checking ieeefp.h usability... no

checking ieeefp.h presence... no

checking for ieeefp.h... no

checking intrinsics.h usability... no

checking intrinsics.h presence... no

checking for intrinsics.h... no

checking langinfo.h usability... yes

checking langinfo.h presence... yes

checking for langinfo.h... yes

checking limits.h usability... yes

checking limits.h presence... yes

checking for limits.h... yes

checking locale.h usability... yes

checking locale.h presence... yes

checking for locale.h... yes

checking malloc.h usability... yes

checking malloc.h presence... yes

checking for malloc.h... yes

checking malloc/malloc.h usability... no

checking malloc/malloc.h presence... no

checking for malloc/malloc.h... no

checking malloc_np.h usability... no

checking malloc_np.h presence... no

checking for malloc_np.h... no

checking net/socket.h usability... no

checking net/socket.h presence... no

checking for net/socket.h... no

checking process.h usability... no

checking process.h presence... no

checking for process.h... no

checking pwd.h usability... yes

checking pwd.h presence... yes

checking for pwd.h... yes

checking setjmpex.h usability... no

checking setjmpex.h presence... no

checking for setjmpex.h... no

checking sys/attr.h usability... no

checking sys/attr.h presence... no

checking for sys/attr.h... no

checking sys/fcntl.h usability... yes

checking sys/fcntl.h presence... yes

checking for sys/fcntl.h... yes

checking sys/file.h usability... yes

checking sys/file.h presence... yes

checking for sys/file.h... yes

checking sys/id.h usability... no

checking sys/id.h presence... no

checking for sys/id.h... no

checking sys/ioctl.h usability... yes

checking sys/ioctl.h presence... yes

checking for sys/ioctl.h... yes

checking sys/mkdev.h usability... no

checking sys/mkdev.h presence... no

checking for sys/mkdev.h... no

checking sys/param.h usability... yes

checking sys/param.h presence... yes

checking for sys/param.h... yes

checking sys/prctl.h usability... yes

checking sys/prctl.h presence... yes

checking for sys/prctl.h... yes

checking sys/resource.h usability... yes

checking sys/resource.h presence... yes

checking for sys/resource.h... yes

checking sys/select.h usability... yes

checking sys/select.h presence... yes

checking for sys/select.h... yes

checking sys/sendfile.h usability... yes

checking sys/sendfile.h presence... yes

checking for sys/sendfile.h... yes

checking sys/socket.h usability... yes

checking sys/socket.h presence... yes

checking for sys/socket.h... yes

checking sys/syscall.h usability... yes

checking sys/syscall.h presence... yes

checking for sys/syscall.h... yes

checking sys/sysmacros.h usability... yes

checking sys/sysmacros.h presence... yes

checking for sys/sysmacros.h... yes

checking sys/time.h usability... yes

checking sys/time.h presence... yes

checking for sys/time.h... yes

checking sys/times.h usability... yes

checking sys/times.h presence... yes

checking for sys/times.h... yes

checking sys/uio.h usability... yes

checking sys/uio.h presence... yes

checking for sys/uio.h... yes

checking sys/utime.h usability... no

checking sys/utime.h presence... no

checking for sys/utime.h... no

checking syscall.h usability... yes

checking syscall.h presence... yes

checking for syscall.h... yes

checking time.h usability... yes

checking time.h presence... yes

checking for time.h... yes

checking ucontext.h usability... yes

checking ucontext.h presence... yes

checking for ucontext.h... yes

checking utime.h usability... yes

checking utime.h presence... yes

checking for utime.h... yes

checking gmp.h usability... no

checking gmp.h presence... no

checking for gmp.h... no

checking for special C compiler options needed for large files... no

checking for _FILE_OFFSET_BITS value needed for large files... no

checking whether byte ordering is bigendian... no

checking for an ANSI C-conforming const... yes

checking whether char is unsigned... no

checking for inline... inline

checking for working volatile... yes

checking for typeof syntax and keyword spelling... typeof

checking for long long... yes

checking for off_t... yes

checking char bit... 8

checking size of int... 4

checking size of short... 2

checking size of long... 8

checking size of long long... 8

checking size of __int64... 0

checking size of __int128... 0

checking size of off_t... 8

checking size of void*... 8

checking size of float... 4

checking size of double... 8

checking size of time_t... 8

checking size of clock_t... 8

checking packed struct attribute... x attribute((packed))

checking for printf prefix for long long... ll

checking for pid_t... yes

checking for convertible type of pid_t... INT

checking for uid_t... yes

checking for convertible type of uid_t... UINT

checking for gid_t... yes

checking for convertible type of gid_t... UINT

checking for time_t... yes

checking for convertible type of time_t... LONG

checking for dev_t... yes

checking for convertible type of dev_t... ULONG

checking for mode_t... yes

checking for convertible type of mode_t... UINT

checking for rlim_t... yes

checking for convertible type of rlim_t... ULONG

checking for off_t... (cached) yes

checking for convertible type of off_t... LONG

checking for clockid_t... yes

checking for convertible type of clockid_t... INT

checking for prototypes... yes

checking token paste string... ansi

checking stringization... #expr

checking string literal concatenation... yes

checking for variable length prototypes and stdarg.h... yes

checking for variable length macro... yes

checking for CONSTFUNC function attribute... attribute ((const)) x

checking for PUREFUNC function attribute... attribute ((pure)) x

checking for NORETURN function attribute... attribute ((noreturn)) x

checking for DEPRECATED function attribute... attribute ((deprecated)) x

checking for DEPRECATED_BY function attribute... x

checking for DEPRECATED_TYPE type attribute... attribute ((deprecated mesg)) x

checking for NOINLINE function attribute... attribute ((noinline)) x

checking for ALWAYS_INLINE function attribute... attribute ((always_inline)) x

checking for WARN_UNUSED_RESULT function attribute... attribute ((warn_unused_result)) x

checking for MAYBE_UNUSED function attribute... attribute ((unused)) x

checking for ERRORFUNC function attribute... attribute ((error mesg)) x

checking for WARNINGFUNC function attribute... attribute ((warning mesg)) x

checking for WEAK function attribute... attribute ((weak)) x

checking for FUNC_STDCALL function attribute... x

checking for FUNC_CDECL function attribute... x

checking for FUNC_FASTCALL function attribute... x

checking for FUNC_UNOPTIMIZED function attribute... attribute ((optimize("O0"))) x

checking for FUNC_MINIMIZED function attribute... attribute ((optimize("-Os","-fomit-frame-pointer"))) x

checking for function alias... alias

checking for __atomic builtins... no

checking for __sync builtins... yes

checking for __builtin_unreachable... yes

checking for exported function attribute... attribute ((visibility("default")))

checking for function name string predefined identifier... func

checking if enum over int is allowed... yes

checking whether sys_nerr is declared... yes

checking whether getenv is declared... yes

checking for size_t... yes

checking size of size_t... 8

checking size of ptrdiff_t... 8

checking for printf prefix for size_t... z

checking for printf prefix for ptrdiff_t... t

checking for struct stat.st_blksize... yes

checking for struct stat.st_blocks... yes

checking for struct stat.st_rdev... yes

checking size of struct stat.st_size... SIZEOF_OFF_T

checking size of struct stat.st_blocks... SIZEOF_OFF_T

checking size of struct stat.st_ino... SIZEOF_LONG

checking for struct stat.st_atim... yes

checking for struct stat.st_atimespec... no

checking for struct stat.st_atimensec... no

checking for struct stat.st_mtim... yes

checking for struct stat.st_mtimespec... no

checking for struct stat.st_mtimensec... no

checking for struct stat.st_ctim... yes

checking for struct stat.st_ctimespec... no

checking for struct stat.st_ctimensec... no

checking for struct stat.st_birthtimespec... no

checking for struct timeval... yes

checking size of struct timeval.tv_sec... SIZEOF_TIME_T

checking for struct timespec... yes

checking for struct timezone... yes

checking for clockid_t... (cached) yes

checking for fd_mask... yes

checking for int8_t... yes

checking size of int8_t... 1

checking for uint8_t... yes

checking size of uint8_t... 1

checking for int16_t... yes

checking size of int16_t... 2

checking for uint16_t... yes

checking size of uint16_t... 2

checking for int32_t... yes

checking size of int32_t... 4

checking for uint32_t... yes

checking size of uint32_t... 4

checking for int64_t... yes

checking size of int64_t... 8

checking for uint64_t... yes

checking size of uint64_t... 8

checking for int128_t... no

checking for uint128_t... no

checking for intptr_t... yes

checking size of intptr_t... 8

checking for uintptr_t... yes

checking size of uintptr_t... 8

checking for ssize_t... yes

checking size of ssize_t... 8

checking for stack end address... __libc_stack_end

checking for uid_t in sys/types.h... (cached) yes

checking type of array argument to getgroups... gid_t

checking return type of signal handlers... void

checking for working alloca.h... yes

checking for alloca... yes

checking for dynamic size alloca... ok

checking for working memcmp... yes

checking for broken erfc of glibc-2.3.6 on IA64... no

checking for acosh... yes

checking for cbrt... yes

checking for crypt... yes

checking for dup2... yes

checking for erf... yes

checking for explicit_bzero... no

checking for ffs... yes

checking for finite... yes

checking for flock... yes

checking for hypot... yes

checking for isinf... yes

checking for isnan... yes

checking for lgamma_r... yes

checking for memmove... yes

checking for nextafter... yes

checking for setproctitle... no

checking for strchr... yes

checking for strerror... yes

checking for strlcat... no

checking for strlcpy... no

checking for strstr... yes

checking for tgamma... yes

checking sys/pstat.h usability... no

checking sys/pstat.h presence... no

checking for sys/pstat.h... no

checking for signbit... yes

checking for broken memmem... no

checking for pid_t... (cached) yes

checking vfork.h usability... no

checking vfork.h presence... no

checking for vfork.h... no

checking for fork... yes

checking for vfork... yes

checking for working fork... yes

checking for working vfork... (cached) yes

checking for __syscall... no

checking for _longjmp... yes

checking for arc4random_buf... no

checking for atan2l... yes

checking for atan2f... yes

checking for chroot... yes

checking for chsize... no

checking for clock_gettime... no

checking for cosh... yes

checking for crypt_r... yes

checking for daemon... (cached) no

checking for dirfd... yes

checking for dl_iterate_phdr... yes

checking for dlopen... yes

checking for dladdr... yes

checking for dup... yes

checking for dup3... yes

checking for eaccess... yes

checking for endgrent... yes

checking for fchmod... yes

checking for fchown... yes

checking for fcntl... yes

checking for fdatasync... yes

checking for fgetattrlist... no

checking for fmod... yes

checking for fsync... yes

checking for ftruncate... yes

checking for ftruncate64... yes

checking for getattrlist... no

checking for getcwd... yes

checking for getgidx... no

checking for getgrnam... yes

checking for getgrnam_r... yes

checking for getgroups... yes

checking for getpgid... yes

checking for getpgrp... yes

checking for getpriority... yes

checking for getpwnam_r... yes

checking for getresgid... yes

checking for getresuid... yes

checking for getrlimit... yes

checking for getsid... yes

checking for gettimeofday... yes

checking for getuidx... no

checking for gmtime_r... yes

checking for initgroups... yes

checking for ioctl... yes

checking for isfinite... no

checking for issetugid... no

checking for killpg... yes

checking for lchmod... no

checking for lchown... yes

checking for link... yes

checking for llabs... yes

checking for lockf... yes

checking for log2... yes

checking for lstat... yes

checking for malloc_usable_size... yes

checking for malloc_size... no

checking for mblen... yes

checking for memalign... yes

checking for memset_s... no

checking for writev... yes

checking for memrchr... yes

checking for memmem... yes

checking for mkfifo... yes

checking for mknod... yes

checking for mktime... yes

checking for pipe2... yes

checking for poll... yes

checking for posix_fadvise... yes

checking for posix_memalign... yes

checking for ppoll... yes

checking for pread... yes

checking for qsort_r... yes

checking for qsort_s... no

checking for readlink... yes

checking for round... yes

checking for sched_getaffinity... yes

checking for seekdir... yes

checking for select_large_fdset... no

checking for sendfile... yes

checking for setegid... yes

checking for setenv... yes

checking for seteuid... yes

checking for setgid... yes

checking for setgroups... yes

checking for setpgid... yes

checking for setpgrp... yes

checking for setregid... yes

checking for setresgid... yes

checking for setresuid... yes

checking for setreuid... yes

checking for setrgid... no

checking for setrlimit... yes

checking for setruid... no

checking for setsid... yes

checking for setuid... yes

checking for shutdown... yes

checking for sigaction... yes

checking for sigaltstack... yes

checking for sigprocmask... yes

checking for sinh... yes

checking for spawnv... no

checking for symlink... yes

checking for syscall... yes

checking for sysconf... yes

checking for tanh... yes

checking for telldir... yes

checking for timegm... yes

checking for times... yes

checking for truncate... yes

checking for truncate64... yes

checking for unsetenv... yes

checking for utimensat... yes

checking for utimes... yes

checking for wait4... yes

checking for waitpid... yes

checking if getcwd allocates buffer if NULL is given... yes

checking crypt.h usability... yes

checking crypt.h presence... yes

checking for crypt.h... yes

checking for struct crypt_data.initialized... yes

checking for __builtin_bswap16... no

checking for __builtin_bswap32... yes

checking for __builtin_bswap64... yes

checking for __builtin_popcount... yes

checking for __builtin_popcountll... yes

checking for __builtin_clz... yes

checking for __builtin_clzl... yes

checking for __builtin_clzll... yes

checking for __builtin_ctz... yes

checking for __builtin_ctzll... yes

checking for __builtin_constant_p... yes

checking for __builtin_choose_expr... yes

checking for __builtin_choose_expr_constant_p... no

checking for __builtin_types_compatible_p... yes

checking whether qsort_r is GNU version... yes

checking whether qsort_r is BSD version... no

checking whether atan2 handles Inf as C99... yes

checking whether lgamma_r handles +0.0 and -0.0... yes

checking for clock_gettime in -lrt... yes

checking for clock_getres... yes

checking for unsetenv returns a value... yes

checking whether struct tm is in sys/time.h or time.h... time.h

checking for struct tm.tm_zone... yes

checking for struct tm.tm_gmtoff... yes

checking for external int daylight... yes

checking for external timezone... long

checking for external altzone... no

checking for timezone... yes

checking whether timezone requires zero arguments... yes

checking for negative time_t for gmtime(3)... yes

checking for localtime(3) overflow correctly... yes

checking for sig_t... yes

checking whether right shift preserve sign bit... yes

checking whether _SC_CLK_TCK is supported... yes

checking stack growing direction on x86_64... -1

checking for pthread_kill in -lthr... no

checking for pthread_kill in -lpthread... yes

checking for pthread_np.h... no

checking whether pthread_t is scalar type... yes

checking for sched_yield... yes

checking for pthread_attr_setinheritsched... yes

checking for pthread_attr_get_np... no

checking for pthread_attr_getstack... yes

checking for pthread_get_stackaddr_np... no

checking for pthread_get_stacksize_np... no

checking for thr_stksegment... no

checking for pthread_stackseg_np... no

checking for pthread_getthrds_np... no

checking for pthread_cond_init... yes

checking for pthread_condattr_setclock... yes

checking for pthread_condattr_init... yes

checking for pthread_sigmask... yes

checking for pthread_setname_np... yes

checking for pthread_set_name_np... no

checking for pthread_getattr_np... yes

checking for pthread_attr_init... yes

checking arguments of pthread_setname_np... (pthread_self(), name)

checking if mcontext_t is a pointer... no

checking for getcontext... yes

checking for setcontext... yes

checking if fork works with pthread... yes

checking whether ELF binaries are produced... yes

checking elf.h usability... yes

checking elf.h presence... yes

checking for elf.h... yes

checking elf_abi.h usability... no

checking elf_abi.h presence... no

checking for elf_abi.h... no

checking whether OS depend dynamic link works... yes

checking whether -Wl,-R. is accepted as LDFLAGS... yes

checking for backtrace... yes

checking for broken backtrace... no

checking valgrind/memcheck.h usability... no

checking valgrind/memcheck.h presence... no

checking for valgrind/memcheck.h... no

checking for strip... strip

checking whether -fPIE is accepted as CFLAGS... yes

checking whether -pie is accepted as LDFLAGS... yes

checking whether wrapper for LD_LIBRARY_PATH is needed... no

checking whether dtrace USDT is available... no

checking for __builtin_setjmp... yes with cast ()

checking for _setjmpex as a macro or function... no

checking for _setjmp as a macro or function... yes

checking for sigsetjmp as a macro or function... no

checking for setjmp type... __builtin_setjmp

checking for prefix of external symbols... NONE

checking pthread.h usability... yes

checking pthread.h presence... yes

checking for pthread.h... yes

checking if make is GNU make... yes

checking for nroff... /usr/bin/nroff

.ext/include/x86_64-linux/ruby/config.h updated

configure: ruby library version = 2.4.0

configure: creating ./config.status

config.status: creating GNUmakefile

config.status: creating Makefile

config.status: creating ruby-2.4.pc

Configuration summary for ruby version 2.4.0

Installation prefix: /usr/local/src/ruby

exec prefix: ${prefix}

arch: x86_64-linux

site arch: ${arch}

RUBY_BASE_NAME: ruby

ruby lib prefix: ${libdir}/${RUBY_BASE_NAME}

site libraries path: ${rubylibprefix}/${sitearch}

vendor path: ${rubylibprefix}/vendor_ruby

target OS: linux

compiler: gcc

with pthread: yes

enable shared libs: no

dynamic library ext: so

CFLAGS: ${optflags} ${debugflags} ${warnflags}

LDFLAGS: -L. -fstack-protector -rdynamic

-Wl,-export-dynamic

optflags: -O3 -fno-fast-math

debugflags: -ggdb3

warnflags: -Wall -Wextra -Wno-unused-parameter

-Wno-parentheses -Wno-long-long

-Wno-missing-field-initializers

-Wno-tautological-compare

-Wno-parentheses-equality

-Wno-constant-logical-operand -Wno-self-assign

-Wunused-variable -Wimplicit-int -Wpointer-arith

-Wwrite-strings -Wdeclaration-after-statement

-Wimplicit-function-declaration

-Wdeprecated-declarations

-Wno-packed-bitfield-compat

strip command: strip -S -x

install doc: yes

man page type: doc

[root@rdb4 ruby-2.4.0]#

======================================================================================================

3、执行make

[root@rdb4 ruby-2.4.0]# make

CC = gcc

LD = ld

LDSHARED = gcc -shared

CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -std=gnu99

XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -fPIE

CPPFLAGS = -I. -I.ext/include/x86_64-linux -I./include -I. -I./enc/unicode/9.0.0

DLDFLAGS = -fstack-protector -pie

SOLIBS =

gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17)

Copyright (C) 2010 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

making dummy probes.h

compiling main.c

compiling dmydln.c

compiling miniinit.c

compiling dmyext.c

compiling miniprelude.c

compiling array.c

compiling bignum.c

compiling class.c

compiling compar.c

compiling compile.c

compiling complex.c

compiling cont.c

compiling debug.c

compiling dir.c

compiling dln_find.c

compiling encoding.c

compiling enum.c

compiling enumerator.c

compiling error.c

compiling eval.c

eval.c: In function ‘ruby_setup’:

eval.c:58: warning: ‘_th’ may be used uninitialized in this function

eval.c: In function ‘ruby_options’:

eval.c:101: warning: ‘_th’ may be used uninitialized in this function

In file included from eval.c:35:

eval_jump.c: In function ‘rb_exec_end_proc’:

eval_jump.c:121: warning: ‘_th’ may be used uninitialized in this function

eval_jump.c:118: warning: ‘th’ may be used uninitialized in this function

eval.c: In function ‘ruby_cleanup’:

eval.c:170: warning: ‘_th’ may be used uninitialized in this function

eval.c: In function ‘setup_exception’:

eval.c:544: warning: ‘_th’ may be used uninitialized in this function

eval.c:516: warning: ‘_th’ may be used uninitialized in this function

At top level:

cc1: warning: unrecognized command line option "-Wno-self-assign"

cc1: warning: unrecognized command line option "-Wno-constant-logical-operand"

cc1: warning: unrecognized command line option "-Wno-parentheses-equality"

cc1: warning: unrecognized command line option "-Wno-tautological-compare"

compiling file.c

compiling gc.c

gc.c: In function ‘run_finalizer’:

gc.c:2732: warning: ‘_th’ may be used uninitialized in this function

At top level:

cc1: warning: unrecognized command line option "-Wno-self-assign"

cc1: warning: unrecognized command line option "-Wno-constant-logical-operand"

cc1: warning: unrecognized command line option "-Wno-parentheses-equality"

cc1: warning: unrecognized command line option "-Wno-tautological-compare"

compiling hash.c

compiling inits.c

compiling io.c

compiling iseq.c

compiling load.c

load.c: In function ‘rb_load_internal0’:

load.c:602: warning: ‘_th’ may be used uninitialized in this function

At top level:

cc1: warning: unrecognized command line option "-Wno-self-assign"

cc1: warning: unrecognized command line option "-Wno-constant-logical-operand"

cc1: warning: unrecognized command line option "-Wno-parentheses-equality"

cc1: warning: unrecognized command line option "-Wno-tautological-compare"

compiling marshal.c

compiling math.c

compiling node.c

compiling numeric.c

compiling object.c

compiling pack.c

compiling parse.c

compiling proc.c

compiling process.c

compiling random.c

compiling range.c

compiling rational.c

compiling re.c

compiling regcomp.c

compiling regenc.c

compiling regerror.c

compiling regexec.c

compiling regparse.c

compiling regsyntax.c

compiling ruby.c

compiling safe.c

compiling signal.c

compiling sprintf.c

In file included from sprintf.c:1266:

vsnprintf.c: In function ‘BSD_vfprintf’:

vsnprintf.c:830: warning: comparison of unsigned expression < 0 is always false

At top level:

cc1: warning: unrecognized command line option "-Wno-self-assign"

cc1: warning: unrecognized command line option "-Wno-constant-logical-operand"

cc1: warning: unrecognized command line option "-Wno-parentheses-equality"

cc1: warning: unrecognized command line option "-Wno-tautological-compare"

compiling st.c

compiling strftime.c

strftime.c: In function ‘rb_strftime_with_timespec’:

strftime.c:433: warning: embedded ‘\0’ in format

strftime.c:438: warning: embedded ‘\0’ in format

strftime.c:447: warning: embedded ‘\0’ in format

strftime.c:452: warning: embedded ‘\0’ in format

strftime.c:457: warning: embedded ‘\0’ in format

strftime.c:462: warning: embedded ‘\0’ in format

strftime.c:484: warning: embedded ‘\0’ in format

strftime.c:486: warning: embedded ‘\0’ in format

strftime.c:490: warning: embedded ‘\0’ in format

strftime.c:496: warning: embedded ‘\0’ in format

strftime.c:500: warning: embedded ‘\0’ in format

strftime.c:505: warning: embedded ‘\0’ in format

strftime.c:509: warning: embedded ‘\0’ in format

strftime.c:522: warning: embedded ‘\0’ in format

strftime.c:528: warning: embedded ‘\0’ in format

strftime.c:531: warning: embedded ‘\0’ in format

strftime.c:657: warning: embedded ‘\0’ in format

strftime.c:676: warning: embedded ‘\0’ in format

strftime.c:685: warning: embedded ‘\0’ in format

strftime.c:699: warning: embedded ‘\0’ in format

strftime.c:714: warning: embedded ‘\0’ in format

strftime.c:719: warning: embedded ‘\0’ in format

strftime.c:746: warning: embedded ‘\0’ in format

strftime.c:749: warning: embedded ‘\0’ in format

strftime.c:755: warning: embedded ‘\0’ in format

At top level:

cc1: warning: unrecognized command line option "-Wno-self-assign"

cc1: warning: unrecognized command line option "-Wno-constant-logical-operand"

cc1: warning: unrecognized command line option "-Wno-parentheses-equality"

cc1: warning: unrecognized command line option "-Wno-tautological-compare"

compiling string.c

string.c: In function ‘rb_str_enumerate_codepoints’:

string.c:7815: warning: ‘ary’ may be used uninitialized in this function

string.c: In function ‘rb_str_enumerate_chars’:

string.c:7716: warning: ‘ary’ may be used uninitialized in this function

string.c: In function ‘rb_str_enumerate_lines’:

string.c:7430: warning: ‘ary’ may be used uninitialized in this function

At top level:

cc1: warning: unrecognized command line option "-Wno-self-assign"

cc1: warning: unrecognized command line option "-Wno-constant-logical-operand"

cc1: warning: unrecognized command line option "-Wno-parentheses-equality"

cc1: warning: unrecognized command line option "-Wno-tautological-compare"

compiling struct.c

compiling symbol.c

compiling thread.c

thread.c: In function ‘exec_recursive’:

thread.c:4618: warning: ‘_th’ may be used uninitialized in this function

thread.c:4583: warning: ‘sym’ may be used uninitialized in this function

thread.c: In function ‘rb_thread_s_handle_interrupt’:

thread.c:1846: warning: ‘_th’ may be used uninitialized in this function

thread.c: In function ‘thread_start_func_2’:

thread.c:583: warning: ‘_th’ may be used uninitialized in this function

thread.c: In function ‘rb_thread_terminate_all’:

thread.c:481: warning: ‘_th’ may be used uninitialized in this function

thread.c: In function ‘rb_thread_fd_select’:

thread.c:3658: warning: ‘orig_read.fdset’ may be used uninitialized in this function

thread.c:3658: note: ‘orig_read.fdset’ was declared here

thread.c:3658: warning: ‘orig_read.maxfd’ may be used uninitialized in this function

thread.c:3658: note: ‘orig_read.maxfd’ was declared here

thread.c:3659: warning: ‘orig_write.fdset’ may be used uninitialized in this function

thread.c:3659: note: ‘orig_write.fdset’ was declared here

thread.c:3659: warning: ‘orig_write.maxfd’ may be used uninitialized in this function

thread.c:3659: note: ‘orig_write.maxfd’ was declared here

thread.c:3660: warning: ‘orig_except.fdset’ may be used uninitialized in this function

thread.c:3660: note: ‘orig_except.fdset’ was declared here

thread.c:3660: warning: ‘orig_except.maxfd’ may be used uninitialized in this function

thread.c:3660: note: ‘orig_except.maxfd’ was declared here

At top level:

cc1: warning: unrecognized command line option "-Wno-self-assign"

cc1: warning: unrecognized command line option "-Wno-constant-logical-operand"

cc1: warning: unrecognized command line option "-Wno-parentheses-equality"

cc1: warning: unrecognized command line option "-Wno-tautological-compare"

compiling time.c

compiling transcode.c

compiling util.c

compiling variable.c

compiling version.c

compiling vm.c

In file included from vm.c:296:

vm_eval.c: In function ‘eval_string_with_cref’:

vm_eval.c:1372: warning: ‘_th’ may be used uninitialized in this function

vm_eval.c: In function ‘rb_eval_cmd’:

vm_eval.c:1538: warning: ‘safe’ may be used uninitialized in this function

vm_eval.c:1539: warning: ‘th’ may be used uninitialized in this function

vm_eval.c:1545: warning: ‘_th’ may be used uninitialized in this function

At top level:

cc1: warning: unrecognized command line option "-Wno-self-assign"

cc1: warning: unrecognized command line option "-Wno-constant-logical-operand"

cc1: warning: unrecognized command line option "-Wno-parentheses-equality"

cc1: warning: unrecognized command line option "-Wno-tautological-compare"

compiling vm_backtrace.c

vm_backtrace.c: In function ‘rb_debug_inspector_open’:

vm_backtrace.c:1184: warning: ‘_th’ may be used uninitialized in this function

At top level:

cc1: warning: unrecognized command line option "-Wno-self-assign"

cc1: warning: unrecognized command line option "-Wno-constant-logical-operand"

cc1: warning: unrecognized command line option "-Wno-parentheses-equality"

cc1: warning: unrecognized command line option "-Wno-tautological-compare"

compiling vm_dump.c

compiling vm_trace.c

vm_trace.c: In function ‘rb_suppress_tracing’:

vm_trace.c:405: warning: ‘_th’ may be used uninitialized in this function

vm_trace.c: In function ‘exec_hooks_protected’:

vm_trace.c:296: warning: ‘_th’ may be used uninitialized in this function

At top level:

cc1: warning: unrecognized command line option "-Wno-self-assign"

cc1: warning: unrecognized command line option "-Wno-constant-logical-operand"

cc1: warning: unrecognized command line option "-Wno-parentheses-equality"

cc1: warning: unrecognized command line option "-Wno-tautological-compare"

compiling enc/ascii.c

compiling enc/us_ascii.c

compiling enc/unicode.c

compiling enc/utf_8.c

compiling enc/trans/newline.c

compiling ./missing/explicit_bzero.c

compiling ./missing/setproctitle.c

compiling ./missing/strlcat.c

compiling ./missing/strlcpy.c

compiling addr2line.c

compiling dmyenc.c

linking miniruby

generating encdb.h

encdb.h updated

./tool/ifchange "--timestamp=.rbconfig.time" rbconfig.rb rbconfig.tmp

rbconfig.rb updated

generating enc.mk

making srcs under enc

make[1]: Entering directory /soft/ruby-2.4.0' make[1]: Nothing to be done forsrcs'.

make[1]: Leaving directory /soft/ruby-2.4.0' generating transdb.h transdb.h updated compiling dln.c compiling localeinit.c creating verconf.h verconf.h updated compiling loadpath.c compiling prelude.c linking static-library libruby-static.a verifying static-library libruby-static.a generating makefile exts.mk configuring -test-/array/resize configuring -test-/bignum configuring -test-/bug-3571 configuring -test-/bug-5832 configuring -test-/bug_reporter configuring -test-/class configuring -test-/debug configuring -test-/dln/empty configuring -test-/exception configuring -test-/fatal configuring -test-/file configuring -test-/float configuring -test-/funcall configuring -test-/gvl/call_without_gvl configuring -test-/hash configuring -test-/integer configuring -test-/iseq_load configuring -test-/iter configuring -test-/load/dot.dot configuring -test-/marshal/compat configuring -test-/marshal/internal_ivar configuring -test-/marshal/usr configuring -test-/memory_status configuring -test-/method configuring -test-/notimplement configuring -test-/num2int configuring -test-/path_to_class configuring -test-/popen_deadlock configuring -test-/postponed_job configuring -test-/printf configuring -test-/proc configuring -test-/rational configuring -test-/recursion configuring -test-/st/foreach configuring -test-/st/numhash configuring -test-/st/update configuring -test-/string configuring -test-/struct configuring -test-/symbol configuring -test-/time configuring -test-/tracepoint configuring -test-/typeddata configuring -test-/vm configuring -test-/wait_for_single_fd configuring bigdecimal configuring cgi/escape configuring continuation configuring coverage configuring date configuring dbm header: db.h library: db configuring digest configuring digest/bubblebabble configuring digest/md5 configuring digest/rmd160 configuring digest/sha1 configuring digest/sha2 configuring etc configuring fcntl configuring fiber configuring fiddle configuring gdbm configuring io/console configuring io/nonblock configuring io/wait configuring json configuring json/generator configuring json/parser configuring mathn/complex configuring mathn/rational configuring nkf configuring objspace configuring openssl configuring pathname configuring psych configuring pty configuring racc/cparse configuring rbconfig/sizeof configuring readline configuring ripper configuring rubyvm configuring sdbm configuring socket configuring stringio configuring strscan configuring syslog configuring zlib make[1]: Entering directory/soft/ruby-2.4.0'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/array/resize' compiling resize.c linking shared-object -test-/array/resize.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/array/resize'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bignum' compiling str2big.c compiling div.c compiling bigzero.c compiling init.c compiling big2str.c compiling intpack.c compiling mul.c linking shared-object -test-/bignum.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bignum'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug-3571' compiling bug.c linking shared-object -test-/bug_3571.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug-3571'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug-5832' compiling bug.c linking shared-object -test-/bug_5832.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug-5832'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug_reporter' compiling bug_reporter.c linking shared-object -test-/bug_reporter.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug_reporter'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/class' compiling class2name.c compiling init.c linking shared-object -test-/class.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/class'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/debug' compiling inspector.c compiling profile_frames.c compiling init.c linking shared-object -test-/debug.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/debug'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/dln/empty' compiling empty.c linking shared-object -test-/dln/empty.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/dln/empty'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/exception' compiling ensured.c compiling enc_raise.c compiling dataerror.c compiling init.c linking shared-object -test-/exception.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/exception'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/fatal' compiling rb_fatal.c linking shared-object -test-/fatal/rb_fatal.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/fatal'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/file' compiling stat.c compiling init.c compiling fs.c linking shared-object -test-/file.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/file'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/float' compiling nextafter.c compiling init.c linking shared-object -test-/float.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/float'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/funcall' compiling passing_block.c linking shared-object -test-/funcall.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/funcall'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/gvl/call_without_gvl' compiling call_without_gvl.c linking shared-object -test-/gvl/call_without_gvl.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/gvl/call_without_gvl'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/hash' compiling delete.c compiling init.c linking shared-object -test-/hash.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/hash'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/integer' compiling core_ext.c compiling init.c compiling my_integer.c linking shared-object -test-/integer.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/integer'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/iseq_load' compiling iseq_load.c linking shared-object -test-/iseq_load.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/iseq_load'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/iter' compiling yield.c compiling break.c compiling init.c linking shared-object -test-/iter.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/iter'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/load/dot.dot' compiling dot.dot.c linking shared-object -test-/load/dot.dot.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/load/dot.dot'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/compat' compiling usrcompat.c linking shared-object -test-/marshal/compat.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/compat'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/internal_ivar' compiling internal_ivar.c linking shared-object -test-/marshal/internal_ivar.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/internal_ivar'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/usr' compiling usrmarshal.c linking shared-object -test-/marshal/usr.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/usr'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/memory_status' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/memory_status'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/method' compiling arity.c compiling init.c linking shared-object -test-/method.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/method'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/notimplement' compiling bug.c linking shared-object -test-/notimplement.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/notimplement'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/num2int' compiling num2int.c linking shared-object -test-/num2int.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/num2int'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/path_to_class' compiling path_to_class.c linking shared-object -test-/path_to_class.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/path_to_class'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/popen_deadlock' compiling infinite_loop_dlsym.c linking shared-object -test-/popen_deadlock/infinite_loop_dlsym.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/popen_deadlock'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/postponed_job' compiling postponed_job.c linking shared-object -test-/postponed_job.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/postponed_job'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/printf' compiling printf.c linking shared-object -test-/printf.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/printf'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/proc' compiling super.c compiling receiver.c compiling init.c linking shared-object -test-/proc.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/proc'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/rational' compiling rat.c linking shared-object -test-/rational.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/rational'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/recursion' compiling recursion.c linking shared-object -test-/recursion.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/recursion'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/foreach' compiling foreach.c linking shared-object -test-/st/foreach.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/foreach'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/numhash' compiling numhash.c linking shared-object -test-/st/numhash.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/numhash'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/update' compiling update.c linking shared-object -test-/st/update.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/update'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/string' compiling modify.c compiling ellipsize.c compiling qsort.c compiling set_len.c compiling cstr.c compiling enc_str_buf_cat.c compiling coderange.c compiling nofree.c compiling init.c compiling enc_associate.c compiling capacity.c compiling normalize.c compiling fstring.c linking shared-object -test-/string.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/string'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/struct' compiling member.c compiling duplicate.c compiling init.c linking shared-object -test-/struct.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/struct'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/symbol' compiling init.c compiling type.c linking shared-object -test-/symbol.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/symbol'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/time' compiling new.c compiling init.c linking shared-object -test-/time.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/time'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/tracepoint' compiling gc_hook.c compiling tracepoint.c linking shared-object -test-/tracepoint.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/tracepoint'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/typeddata' compiling typeddata.c linking shared-object -test-/typeddata.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/typeddata'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/vm' compiling at_exit.c linking shared-object -test-/vm/at_exit.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/vm'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/wait_for_single_fd' compiling wait_for_single_fd.c linking shared-object -test-/wait_for_single_fd.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/wait_for_single_fd'

make[2]: Entering directory /soft/ruby-2.4.0/ext/bigdecimal' compiling bigdecimal.c linking shared-object bigdecimal.so installing default bigdecimal libraries make[2]: Leaving directory/soft/ruby-2.4.0/ext/bigdecimal'

make[2]: Entering directory /soft/ruby-2.4.0/ext/cgi/escape' compiling escape.c linking shared-object cgi/escape.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/cgi/escape'

make[2]: Entering directory /soft/ruby-2.4.0/ext/continuation' compiling continuation.c linking shared-object continuation.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/continuation'

make[2]: Entering directory /soft/ruby-2.4.0/ext/coverage' compiling coverage.c linking shared-object coverage.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/coverage'

make[2]: Entering directory /soft/ruby-2.4.0/ext/date' compiling date_core.c compiling date_parse.c compiling date_strftime.c compiling date_strptime.c linking shared-object date_core.so installing default date_core libraries make[2]: Leaving directory/soft/ruby-2.4.0/ext/date'

make[2]: Entering directory /soft/ruby-2.4.0/ext/dbm' compiling dbm.c linking shared-object dbm.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/dbm'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest' compiling digest.c linking shared-object digest.so installing digest libraries installing default digest libraries make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/bubblebabble' compiling bubblebabble.c linking shared-object digest/bubblebabble.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/bubblebabble'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/md5' compiling md5init.c compiling md5.c linking shared-object digest/md5.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/md5'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/rmd160' compiling rmd160init.c compiling rmd160.c linking shared-object digest/rmd160.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/rmd160'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/sha1' compiling sha1init.c compiling sha1.c linking shared-object digest/sha1.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/sha1'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/sha2' compiling sha2init.c compiling sha2.c linking shared-object digest/sha2.so installing default sha2 libraries make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/sha2'

make[2]: Entering directory /soft/ruby-2.4.0/ext/etc' generating constant definitions compiling etc.c linking shared-object etc.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/etc'

make[2]: Entering directory /soft/ruby-2.4.0/ext/fcntl' compiling fcntl.c linking shared-object fcntl.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/fcntl'

make[2]: Entering directory /soft/ruby-2.4.0/ext/fiber' compiling fiber.c linking shared-object fiber.so make[2]: Leaving directory/soft/ruby-2.4.0/ext/fiber'

make[2]: Entering directory /soft/ruby-2.4.0/ext/fiddle' compiling closure.c compiling conversions.c compiling fiddle.c compiling function.c compiling handle.c compiling pointer.c make[3]: Entering directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1'

make 'AR_FLAGS=' 'CC_FOR_BUILD=' 'CFLAGS=-O3 -fno-fast-math -ggdb3 -Wall -fexceptions' 'CXXFLAGS=-O3 -fno-fast-math -ggdb3 ' 'CFLAGS_FOR_BUILD=' 'CFLAGS_FOR_TARGET=' 'INSTALL=/usr/bin/install -c' 'INSTALL_DATA=/usr/bin/install -c -m 644' 'INSTALL_PROGRAM=/usr/bin/install -c' 'INSTALL_SCRIPT=/usr/bin/install -c' 'JC1FLAGS=' 'LDFLAGS=-L. -fstack-protector -rdynamic -Wl,-export-dynamic -L../../.. ' 'LIBCFLAGS=' 'LIBCFLAGS_FOR_TARGET=' 'MAKE=make' 'MAKEINFO=/bin/sh /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/missing makeinfo ' 'PICFLAG=' 'PICFLAG_FOR_TARGET=' 'RUNTESTFLAGS=' 'SHELL=/bin/sh' 'exec_prefix=/usr/local' 'infodir=/usr/local/share/info' 'libdir=/usr/local/src/ruby/lib' 'mandir=/usr/local/share/man' 'prefix=/usr/local' 'AR=ar' 'AS=as' 'CC=gcc' 'CXX=g++' 'LD=ld -m elf_x86_64' 'NM=nm' 'RANLIB=ranlib' 'DESTDIR=' all-recursive

make[4]: Entering directory /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1' Making all in include make[5]: Entering directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/include'

make[5]: Nothing to be done for all'. make[5]: Leaving directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/include'

Making all in testsuite

make[5]: Entering directory /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/testsuite' make[5]: Nothing to be done forall'.

make[5]: Leaving directory /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/testsuite' Making all in man make[5]: Entering directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/man'

make[5]: Nothing to be done for all'. make[5]: Leaving directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1/man'

make[5]: Entering directory /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1' CC src/prep_cif.lo CC src/types.lo CC src/raw_api.lo CC src/java_raw_api.lo CC src/closures.lo CC src/x86/ffi64.lo CPPAS src/x86/unix64.lo CC src/x86/ffi.lo CPPAS src/x86/sysv.lo CCLD libffi_convenience.la CCLD libffi.la make[5]: Leaving directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1'

make[4]: Leaving directory /soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1' make[3]: Leaving directory/soft/ruby-2.4.0/ext/fiddle/libffi-3.2.1'

linking shared-object fiddle.so

installing default fiddle libraries

make[2]: Leaving directory /soft/ruby-2.4.0/ext/fiddle' make[2]: Entering directory/soft/ruby-2.4.0/ext/gdbm'

compiling gdbm.c

linking shared-object gdbm.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/gdbm' make[2]: Entering directory/soft/ruby-2.4.0/ext/io/console'

compiling console.c

linking shared-object io/console.so

installing default console libraries

make[2]: Leaving directory /soft/ruby-2.4.0/ext/io/console' make[2]: Entering directory/soft/ruby-2.4.0/ext/io/nonblock'

compiling nonblock.c

linking shared-object io/nonblock.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/io/nonblock' make[2]: Entering directory/soft/ruby-2.4.0/ext/io/wait'

compiling wait.c

linking shared-object io/wait.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/io/wait' make[2]: Entering directory/soft/ruby-2.4.0/ext/json'

installing default libraries

make[2]: Leaving directory /soft/ruby-2.4.0/ext/json' make[2]: Entering directory/soft/ruby-2.4.0/ext/json/generator'

compiling generator.c

linking shared-object json/ext/generator.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/json/generator' make[2]: Entering directory/soft/ruby-2.4.0/ext/json/parser'

compiling parser.c

linking shared-object json/ext/parser.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/json/parser' make[2]: Entering directory/soft/ruby-2.4.0/ext/mathn/complex'

compiling complex.c

linking shared-object mathn/complex.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/mathn/complex' make[2]: Entering directory/soft/ruby-2.4.0/ext/mathn/rational'

compiling rational.c

linking shared-object mathn/rational.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/mathn/rational' make[2]: Entering directory/soft/ruby-2.4.0/ext/nkf'

compiling nkf.c

linking shared-object nkf.so

installing default nkf libraries

make[2]: Leaving directory /soft/ruby-2.4.0/ext/nkf' make[2]: Entering directory/soft/ruby-2.4.0/ext/objspace'

compiling object_tracing.c

compiling objspace.c

compiling objspace_dump.c

linking shared-object objspace.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/objspace' make[2]: Entering directory/soft/ruby-2.4.0/ext/openssl'

make[2]: Leaving directory /soft/ruby-2.4.0/ext/openssl' make[2]: Entering directory/soft/ruby-2.4.0/ext/pathname'

compiling pathname.c

linking shared-object pathname.so

installing default pathname libraries

make[2]: Leaving directory /soft/ruby-2.4.0/ext/pathname' make[2]: Entering directory/soft/ruby-2.4.0/ext/psych'

compiling psych_emitter.c

compiling psych_to_ruby.c

compiling psych_yaml_tree.c

compiling psych.c

compiling psych_parser.c

compiling ../.././ext/psych/yaml/writer.c

compiling ../.././ext/psych/yaml/reader.c

compiling ../.././ext/psych/yaml/emitter.c

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_document_start’:

../.././ext/psych/yaml/emitter.c:595: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:603: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:605: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:617: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:637: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:654: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_document_end’:

../.././ext/psych/yaml/emitter.c:699: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_flow_sequence_item’:

../.././ext/psych/yaml/emitter.c:734: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:746: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:751: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:759: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_flow_mapping_key’:

../.././ext/psych/yaml/emitter.c:783: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:795: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:800: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:808: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:826: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_flow_mapping_value’:

../.././ext/psych/yaml/emitter.c:845: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:853: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_block_sequence_item’:

../.././ext/psych/yaml/emitter.c:886: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_block_mapping_key’:

../.././ext/psych/yaml/emitter.c:930: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_emit_block_mapping_value’:

../.././ext/psych/yaml/emitter.c:949: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:955: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_process_anchor’:

../.././ext/psych/yaml/emitter.c:1247: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char * const’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_process_tag’:

../.././ext/psych/yaml/emitter.c:1277: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:1282: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:223: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_single_quoted_scalar’:

../.././ext/psych/yaml/emitter.c:1967: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:2011: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_double_quoted_scalar’:

../.././ext/psych/yaml/emitter.c:2029: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c:2167: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_block_scalar_hints’:

../.././ext/psych/yaml/emitter.c:2196: warning: assignment discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:2205: warning: assignment discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:2209: warning: assignment discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:2219: warning: assignment discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_literal_scalar’:

../.././ext/psych/yaml/emitter.c:2243: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’

../.././ext/psych/yaml/emitter.c: In function ‘yaml_emitter_write_folded_scalar’:

../.././ext/psych/yaml/emitter.c:2283: warning: passing argument 2 of ‘yaml_emitter_write_indicator’ discards qualifiers from pointer target type

../.././ext/psych/yaml/emitter.c:1786: note: expected ‘char *’ but argument is of type ‘const char *’

At top level:

cc1: warning: unrecognized command line option "-Wno-self-assign"

cc1: warning: unrecognized command line option "-Wno-constant-logical-operand"

cc1: warning: unrecognized command line option "-Wno-parentheses-equality"

cc1: warning: unrecognized command line option "-Wno-tautological-compare"

compiling ../.././ext/psych/yaml/parser.c

compiling ../.././ext/psych/yaml/api.c

compiling ../.././ext/psych/yaml/dumper.c

compiling ../.././ext/psych/yaml/scanner.c

compiling ../.././ext/psych/yaml/loader.c

linking shared-object psych.so

installing default psych libraries

make[2]: Leaving directory /soft/ruby-2.4.0/ext/psych' make[2]: Entering directory/soft/ruby-2.4.0/ext/pty'

compiling pty.c

linking shared-object pty.so

installing default pty libraries

make[2]: Leaving directory /soft/ruby-2.4.0/ext/pty' make[2]: Entering directory/soft/ruby-2.4.0/ext/racc/cparse'

compiling cparse.c

linking shared-object racc/cparse.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/racc/cparse' make[2]: Entering directory/soft/ruby-2.4.0/ext/rbconfig/sizeof'

compiling sizes.c

linking shared-object rbconfig/sizeof.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/rbconfig/sizeof' make[2]: Entering directory/soft/ruby-2.4.0/ext/readline'

make[2]: Leaving directory /soft/ruby-2.4.0/ext/readline' make[2]: Entering directory/soft/ruby-2.4.0/ext/ripper'

compiling ripper.c

linking shared-object ripper.so

installing default ripper libraries

checking ../.././parse.y and ../.././ext/ripper/eventids2.c

make[2]: Leaving directory /soft/ruby-2.4.0/ext/ripper' make[2]: Entering directory/soft/ruby-2.4.0/ext/rubyvm'

installing default libraries

make[2]: Leaving directory /soft/ruby-2.4.0/ext/rubyvm' make[2]: Entering directory/soft/ruby-2.4.0/ext/sdbm'

compiling _sdbm.c

compiling init.c

linking shared-object sdbm.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/sdbm' make[2]: Entering directory/soft/ruby-2.4.0/ext/socket'

compiling init.c

compiling constants.c

compiling basicsocket.c

compiling socket.c

compiling ipsocket.c

compiling tcpsocket.c

compiling tcpserver.c

compiling sockssocket.c

compiling udpsocket.c

compiling unixsocket.c

compiling unixserver.c

compiling option.c

compiling ancdata.c

compiling raddrinfo.c

compiling ifaddr.c

linking shared-object socket.so

installing default socket libraries

make[2]: Leaving directory /soft/ruby-2.4.0/ext/socket' make[2]: Entering directory/soft/ruby-2.4.0/ext/stringio'

compiling stringio.c

linking shared-object stringio.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/stringio' make[2]: Entering directory/soft/ruby-2.4.0/ext/strscan'

compiling strscan.c

linking shared-object strscan.so

make[2]: Leaving directory /soft/ruby-2.4.0/ext/strscan' make[2]: Entering directory/soft/ruby-2.4.0/ext/syslog'

compiling syslog.c

linking shared-object syslog.so

installing default syslog libraries

make[2]: Leaving directory /soft/ruby-2.4.0/ext/syslog' make[2]: Entering directory/soft/ruby-2.4.0/ext/zlib'

make[2]: Leaving directory /soft/ruby-2.4.0/ext/zlib' *** Following extensions failed to configure: ../.././ext/openssl/extconf.rb:0: Failed to configure openssl. It will not be installed. ../.././ext/readline/extconf.rb:62: Neither readline nor libedit was found ../.././ext/zlib/extconf.rb:0: Failed to configure zlib. It will not be installed. *** Fix the problems, then remove these directories and try again if you want. make[2]: Entering directory/soft/ruby-2.4.0'

linking ruby

make[2]: Leaving directory /soft/ruby-2.4.0' make[1]: Leaving directory/soft/ruby-2.4.0'

making enc

make[1]: Entering directory /soft/ruby-2.4.0' compiling ./enc/encdb.c linking encoding encdb.so compiling ./enc/big5.c linking encoding big5.so compiling ./enc/cp949.c linking encoding cp949.so compiling ./enc/emacs_mule.c linking encoding emacs_mule.so compiling ./enc/euc_jp.c linking encoding euc_jp.so compiling ./enc/euc_kr.c linking encoding euc_kr.so compiling ./enc/euc_tw.c linking encoding euc_tw.so compiling ./enc/gb2312.c linking encoding gb2312.so compiling ./enc/gb18030.c linking encoding gb18030.so compiling ./enc/gbk.c linking encoding gbk.so compiling ./enc/iso_8859_1.c linking encoding iso_8859_1.so compiling ./enc/iso_8859_2.c linking encoding iso_8859_2.so compiling ./enc/iso_8859_3.c linking encoding iso_8859_3.so compiling ./enc/iso_8859_4.c linking encoding iso_8859_4.so compiling ./enc/iso_8859_5.c linking encoding iso_8859_5.so compiling ./enc/iso_8859_6.c linking encoding iso_8859_6.so compiling ./enc/iso_8859_7.c linking encoding iso_8859_7.so compiling ./enc/iso_8859_8.c linking encoding iso_8859_8.so compiling ./enc/iso_8859_9.c linking encoding iso_8859_9.so compiling ./enc/iso_8859_10.c linking encoding iso_8859_10.so compiling ./enc/iso_8859_11.c linking encoding iso_8859_11.so compiling ./enc/iso_8859_13.c linking encoding iso_8859_13.so compiling ./enc/iso_8859_14.c linking encoding iso_8859_14.so compiling ./enc/iso_8859_15.c linking encoding iso_8859_15.so compiling ./enc/iso_8859_16.c linking encoding iso_8859_16.so compiling ./enc/koi8_r.c linking encoding koi8_r.so compiling ./enc/koi8_u.c linking encoding koi8_u.so compiling ./enc/shift_jis.c linking encoding shift_jis.so compiling ./enc/utf_16be.c linking encoding utf_16be.so compiling ./enc/utf_16le.c linking encoding utf_16le.so compiling ./enc/utf_32be.c linking encoding utf_32be.so compiling ./enc/utf_32le.c linking encoding utf_32le.so compiling ./enc/windows_31j.c linking encoding windows_31j.so compiling ./enc/windows_1250.c linking encoding windows_1250.so compiling ./enc/windows_1251.c linking encoding windows_1251.so compiling ./enc/windows_1252.c linking encoding windows_1252.so compiling ./enc/windows_1253.c linking encoding windows_1253.so compiling ./enc/windows_1254.c linking encoding windows_1254.so compiling ./enc/windows_1257.c linking encoding windows_1257.so make[1]: Leaving directory/soft/ruby-2.4.0'

making trans

make[1]: Entering directory /soft/ruby-2.4.0' compiling ./enc/trans/transdb.c linking transcoder transdb.so compiling ./enc/trans/big5.c linking transcoder big5.so compiling ./enc/trans/chinese.c linking transcoder chinese.so compiling ./enc/trans/ebcdic.c linking transcoder ebcdic.so compiling ./enc/trans/emoji.c linking transcoder emoji.so compiling ./enc/trans/emoji_iso2022_kddi.c linking transcoder emoji_iso2022_kddi.so compiling ./enc/trans/emoji_sjis_docomo.c linking transcoder emoji_sjis_docomo.so compiling ./enc/trans/emoji_sjis_kddi.c linking transcoder emoji_sjis_kddi.so compiling ./enc/trans/emoji_sjis_softbank.c linking transcoder emoji_sjis_softbank.so compiling ./enc/trans/escape.c linking transcoder escape.so compiling ./enc/trans/gb18030.c linking transcoder gb18030.so compiling ./enc/trans/gbk.c linking transcoder gbk.so compiling ./enc/trans/iso2022.c linking transcoder iso2022.so compiling ./enc/trans/japanese.c linking transcoder japanese.so compiling ./enc/trans/japanese_euc.c linking transcoder japanese_euc.so compiling ./enc/trans/japanese_sjis.c linking transcoder japanese_sjis.so compiling ./enc/trans/korean.c linking transcoder korean.so compiling ./enc/trans/single_byte.c linking transcoder single_byte.so compiling ./enc/trans/utf8_mac.c linking transcoder utf8_mac.so compiling ./enc/trans/utf_16_32.c linking transcoder utf_16_32.so make[1]: Leaving directory/soft/ruby-2.4.0'

making encs

make[1]: Entering directory /soft/ruby-2.4.0' make[1]: Nothing to be done forencs'.

make[1]: Leaving directory `/soft/ruby-2.4.0'

Generating RDoc documentation

Parsing sources...

100% [889/889] vsnprintf.c

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

Files: 889

Classes: 1312 ( 556 undocumented)

Modules: 274 ( 110 undocumented)

Constants: 2143 ( 589 undocumented)

Attributes: 1064 ( 248 undocumented)

Methods: 9916 (2135 undocumented)

Total: 14709 (3638 undocumented)

75.27% documented

Elapsed: 74.7s

[root@rdb4 ruby-2.4.0]#

======================================================================================================

4、执行make install

[root@rdb4 ruby-2.4.0]# make install

CC = gcc

LD = ld

LDSHARED = gcc -shared

CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wno-tautological-compare -Wno-parentheses-equality -Wno-constant-logical-operand -Wno-self-assign -Wunused-variable -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -std=gnu99

XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -fPIE

CPPFLAGS = -I. -I.ext/include/x86_64-linux -I./include -I. -I./enc/unicode/9.0.0

DLDFLAGS = -fstack-protector -pie

SOLIBS =

gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-17)

Copyright (C) 2010 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

generating enc.mk

making srcs under enc

make[1]: Entering directory /soft/ruby-2.4.0' make[1]: Nothing to be done forsrcs'.

make[1]: Leaving directory /soft/ruby-2.4.0' generating transdb.h transdb.h unchanged generating makefile exts.mk make[1]: Entering directory/soft/ruby-2.4.0'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/array/resize' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/array/resize'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bignum' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bignum'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug-3571' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug-3571'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug-5832' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug-5832'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/bug_reporter' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/bug_reporter'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/class' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/class'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/debug' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/debug'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/dln/empty' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/dln/empty'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/exception' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/exception'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/fatal' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/fatal'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/file' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/file'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/float' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/float'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/funcall' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/funcall'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/gvl/call_without_gvl' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/gvl/call_without_gvl'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/hash' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/hash'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/integer' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/integer'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/iseq_load' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/iseq_load'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/iter' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/iter'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/load/dot.dot' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/load/dot.dot'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/compat' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/compat'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/internal_ivar' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/internal_ivar'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/marshal/usr' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/marshal/usr'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/memory_status' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/memory_status'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/method' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/method'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/notimplement' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/notimplement'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/num2int' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/num2int'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/path_to_class' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/path_to_class'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/popen_deadlock' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/popen_deadlock'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/postponed_job' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/postponed_job'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/printf' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/printf'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/proc' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/proc'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/rational' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/rational'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/recursion' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/recursion'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/foreach' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/foreach'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/numhash' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/numhash'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/st/update' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/st/update'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/string' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/string'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/struct' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/struct'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/symbol' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/symbol'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/time' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/time'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/tracepoint' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/tracepoint'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/typeddata' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/typeddata'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/vm' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/vm'

make[2]: Entering directory /soft/ruby-2.4.0/ext/-test-/wait_for_single_fd' make[2]: Leaving directory/soft/ruby-2.4.0/ext/-test-/wait_for_single_fd'

make[2]: Entering directory /soft/ruby-2.4.0/ext/bigdecimal' make[2]: Leaving directory/soft/ruby-2.4.0/ext/bigdecimal'

make[2]: Entering directory /soft/ruby-2.4.0/ext/cgi/escape' make[2]: Leaving directory/soft/ruby-2.4.0/ext/cgi/escape'

make[2]: Entering directory /soft/ruby-2.4.0/ext/continuation' make[2]: Leaving directory/soft/ruby-2.4.0/ext/continuation'

make[2]: Entering directory /soft/ruby-2.4.0/ext/coverage' make[2]: Leaving directory/soft/ruby-2.4.0/ext/coverage'

make[2]: Entering directory /soft/ruby-2.4.0/ext/date' make[2]: Leaving directory/soft/ruby-2.4.0/ext/date'

make[2]: Entering directory /soft/ruby-2.4.0/ext/dbm' make[2]: Leaving directory/soft/ruby-2.4.0/ext/dbm'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/bubblebabble' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/bubblebabble'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/md5' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/md5'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/rmd160' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/rmd160'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/sha1' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/sha1'

make[2]: Entering directory /soft/ruby-2.4.0/ext/digest/sha2' make[2]: Leaving directory/soft/ruby-2.4.0/ext/digest/sha2'

make[2]: Entering directory /soft/ruby-2.4.0/ext/etc' make[2]: Leaving directory/soft/ruby-2.4.0/ext/etc'

make[2]: Entering directory /soft/ruby-2.4.0/ext/fcntl' make[2]: Leaving directory/soft/ruby-2.4.0/ext/fcntl'

make[2]: Entering directory /soft/ruby-2.4.0/ext/fiber' make[2]: Leaving directory/soft/ruby-2.4.0/ext/fiber'

make[2]: Entering directory /soft/ruby-2.4.0/ext/fiddle' make[2]: Leaving directory/soft/ruby-2.4.0/ext/fiddle'

make[2]: Entering directory /soft/ruby-2.4.0/ext/gdbm' make[2]: Leaving directory/soft/ruby-2.4.0/ext/gdbm'

make[2]: Entering directory /soft/ruby-2.4.0/ext/io/console' make[2]: Leaving directory/soft/ruby-2.4.0/ext/io/console'

make[2]: Entering directory /soft/ruby-2.4.0/ext/io/nonblock' make[2]: Leaving directory/soft/ruby-2.4.0/ext/io/nonblock'

make[2]: Entering directory /soft/ruby-2.4.0/ext/io/wait' make[2]: Leaving directory/soft/ruby-2.4.0/ext/io/wait'

make[2]: Entering directory /soft/ruby-2.4.0/ext/json' make[2]: Leaving directory/soft/ruby-2.4.0/ext/json'

make[2]: Entering directory /soft/ruby-2.4.0/ext/json/generator' make[2]: Leaving directory/soft/ruby-2.4.0/ext/json/generator'

make[2]: Entering directory /soft/ruby-2.4.0/ext/json/parser' make[2]: Leaving directory/soft/ruby-2.4.0/ext/json/parser'

make[2]: Entering directory /soft/ruby-2.4.0/ext/mathn/complex' make[2]: Leaving directory/soft/ruby-2.4.0/ext/mathn/complex'

make[2]: Entering directory /soft/ruby-2.4.0/ext/mathn/rational' make[2]: Leaving directory/soft/ruby-2.4.0/ext/mathn/rational'

make[2]: Entering directory /soft/ruby-2.4.0/ext/nkf' make[2]: Leaving directory/soft/ruby-2.4.0/ext/nkf'

make[2]: Entering directory /soft/ruby-2.4.0/ext/objspace' make[2]: Leaving directory/soft/ruby-2.4.0/ext/objspace'

make[2]: Entering directory /soft/ruby-2.4.0/ext/openssl' make[2]: Leaving directory/soft/ruby-2.4.0/ext/openssl'

make[2]: Entering directory /soft/ruby-2.4.0/ext/pathname' make[2]: Leaving directory/soft/ruby-2.4.0/ext/pathname'

make[2]: Entering directory /soft/ruby-2.4.0/ext/psych' make[2]: Leaving directory/soft/ruby-2.4.0/ext/psych'

make[2]: Entering directory /soft/ruby-2.4.0/ext/pty' make[2]: Leaving directory/soft/ruby-2.4.0/ext/pty'

make[2]: Entering directory /soft/ruby-2.4.0/ext/racc/cparse' make[2]: Leaving directory/soft/ruby-2.4.0/ext/racc/cparse'

make[2]: Entering directory /soft/ruby-2.4.0/ext/rbconfig/sizeof' make[2]: Leaving directory/soft/ruby-2.4.0/ext/rbconfig/sizeof'

make[2]: Entering directory /soft/ruby-2.4.0/ext/readline' make[2]: Leaving directory/soft/ruby-2.4.0/ext/readline'

make[2]: Entering directory /soft/ruby-2.4.0/ext/ripper' make[2]: Leaving directory/soft/ruby-2.4.0/ext/ripper'

make[2]: Entering directory /soft/ruby-2.4.0/ext/rubyvm' make[2]: Leaving directory/soft/ruby-2.4.0/ext/rubyvm'

make[2]: Entering directory /soft/ruby-2.4.0/ext/sdbm' make[2]: Leaving directory/soft/ruby-2.4.0/ext/sdbm'

make[2]: Entering directory /soft/ruby-2.4.0/ext/socket' make[2]: Leaving directory/soft/ruby-2.4.0/ext/socket'

make[2]: Entering directory /soft/ruby-2.4.0/ext/stringio' make[2]: Leaving directory/soft/ruby-2.4.0/ext/stringio'

make[2]: Entering directory /soft/ruby-2.4.0/ext/strscan' make[2]: Leaving directory/soft/ruby-2.4.0/ext/strscan'

make[2]: Entering directory /soft/ruby-2.4.0/ext/syslog' make[2]: Leaving directory/soft/ruby-2.4.0/ext/syslog'

make[2]: Entering directory /soft/ruby-2.4.0/ext/zlib' make[2]: Leaving directory/soft/ruby-2.4.0/ext/zlib'

*** Following extensions failed to configure:

../.././ext/openssl/extconf.rb:0: Failed to configure openssl. It will not be installed.

../.././ext/readline/extconf.rb:0: Failed to configure readline. It will not be installed.

../.././ext/zlib/extconf.rb:0: Failed to configure zlib. It will not be installed.

*** Fix the problems, then remove these directories and try again if you want.

make[2]: Entering directory /soft/ruby-2.4.0' make[2]:ruby' is up to date.

make[2]: Leaving directory /soft/ruby-2.4.0' make[1]: Leaving directory/soft/ruby-2.4.0'

making enc

make[1]: Entering directory /soft/ruby-2.4.0' make[1]: Nothing to be done forenc'.

make[1]: Leaving directory /soft/ruby-2.4.0' making trans make[1]: Entering directory/soft/ruby-2.4.0'

make[1]: Nothing to be done for ./enc/trans'. make[1]: Leaving directory/soft/ruby-2.4.0'

making encs

make[1]: Entering directory /soft/ruby-2.4.0' make[1]: Nothing to be done forencs'.

make[1]: Leaving directory `/soft/ruby-2.4.0'

Generating RDoc documentation

No newer files.

Files: 0

Classes: 0 (0 undocumented)

Modules: 0 (0 undocumented)

Constants: 0 (0 undocumented)

Attributes: 0 (0 undocumented)

Methods: 0 (0 undocumented)

Total: 0 (0 undocumented)

0.00% documented

Elapsed: 0.0s

generating x86_64-linux-fake.rb

x86_64-linux-fake.rb updated

./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems -r./x86_64-linux-fake ./tool/rbinstall.rb --make="make" --dest-dir="" --extout=".ext" --mflags="" --make-flags="" --data-mode=0644 --prog-mode=0755 --installed-list .installed.list --mantype="doc" --install=all --rdoc-output=".ext/rdoc"

installing binary commands: /usr/local/src/ruby/bin

installing base libraries: /usr/local/src/ruby/lib

installing arch files: /usr/local/src/ruby/lib/ruby/2.4.0/x86_64-linux

installing pkgconfig data: /usr/local/src/ruby/lib/pkgconfig

installing command scripts: /usr/local/src/ruby/bin

installing library scripts: /usr/local/src/ruby/lib/ruby/2.4.0

installing common headers: /usr/local/src/ruby/include/ruby-2.4.0

installing manpages: /usr/local/src/ruby/share/man/man1

installing extension objects: /usr/local/src/ruby/lib/ruby/2.4.0/x86_64-linux

installing extension objects: /usr/local/src/ruby/lib/ruby/site_ruby/2.4.0/x86_64-linux

installing extension objects: /usr/local/src/ruby/lib/ruby/vendor_ruby/2.4.0/x86_64-linux

installing extension headers: /usr/local/src/ruby/include/ruby-2.4.0/x86_64-linux

installing extension scripts: /usr/local/src/ruby/lib/ruby/2.4.0

installing extension scripts: /usr/local/src/ruby/lib/ruby/site_ruby/2.4.0

installing extension scripts: /usr/local/src/ruby/lib/ruby/vendor_ruby/2.4.0

installing extension headers: /usr/local/src/ruby/include/ruby-2.4.0/ruby

installing default gems: /usr/local/src/ruby/lib/ruby/gems/2.4.0 (build_info, cache, doc, extensions, gems, specifications)

bigdecimal 1.3.0

io-console 0.4.6

json 2.0.2

psych 2.2.2

rdoc 5.0.0

installing bundle gems: /usr/local/src/ruby/lib/ruby/gems/2.4.0 (build_info, cache, doc, extensions, gems, specifications)

power_assert 0.4.1

test-unit 3.2.3

net-telnet 0.1.1

xmlrpc 0.2.1

minitest 5.10.1

did_you_mean 1.1.0

rake 12.0.0

installing rdoc: /usr/local/src/ruby/share/ri/2.4.0/system

installing capi-docs: /usr/local/src/ruby/share/doc/ruby

[root@rdb4 ruby-2.4.0]#

======================================================================================================

======================================================================================================

配置环境变量

需要在root用户和redis的rdb用户配置ruby的环境变量

[root@rdb4 ruby-2.4.0]# vi ~/.bash_profile

添加ruby路径:PATH=$PATH:$HOME/bin:/usr/local/src/ruby/bin

[root@rdb4 ruby-2.4.0]# source ~/.bash_profile

[root@rdb4 ruby-2.4.0]# which ruby

/usr/local/src/ruby/bin/ruby

[root@rdb4 ruby-2.4.0]# ruby --version

ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]

[root@rdb4 ruby-2.4.0]# which gem

/usr/local/src/ruby/bin/gem

[root@rdb4 ruby-2.4.0]# gem --version

2.6.8

[root@rdb4 ruby-2.4.0]#

root用户安装gem

unzip rubygems-2.6.10.zip

cd rubygems-2.6.10

[root@rdb4 rubygems-2.6.10]# ruby setup.rb

RubyGems 2.6.10 installed

Parsing documentation for rubygems-2.6.10

Installing ri documentation for rubygems-2.6.10

=== 2.6.10 / 2017-01-23

Bug fixes:

Fix require calling the wrong gem method when it is overridden.

Pull request #1822 by Samuel Giddins.

=== 2.6.9 / 2017-01-20

Bug fixes:

Allow initializing versions with empty strings. Pull request #1767 by

Luis Sagastume.

Fix TypeError on 2.4. Pull request #1788 by Nobuyoshi Nakada.

Don't output mkmf.log message if compilation didn't fail. Pull request

1808 by Jeremy Evans.

Fixed broken links and overzealous URL encoding in gem server. Pull

request #1809 by Nicole Orchard.

Update vendored Molinillo to 0.5.5. Pull request #1812 by Samuel

Giddins.

RakeBuilder: avoid frozen string issue. Pull request #1819 by Olle

Jonsson.

=== 2.6.8 / 2016-10-29

Bug fixes:

Improve SSL verification failure message. Pull request #1751

by Eric Hodel.

Ensure to_spec falls back on prerelease specs. Pull request

1755 by André Arko.

Update vendored Molinillo to 0.5.3. Pull request #1763 by

Samuel Giddins.

=== 2.6.7 / 2016-09-26

Bug fixes:

Install native extensions in the correct location when using the

--user-install flag. Pull request #1683 by Noah Kantrowitz.

When calling Gem.sources, load sources from configuration

if present, else use the default sources. Pull request #1699

by Luis Sagastume.

Fail gracefully when attempting to redirect without a Location.

Pull request #1711 by Samuel Giddins.

Update vendored Molinillo to 0.5.1. Pull request #1714 by

Samuel Giddins.

=== 2.6.6 / 2016-06-22

Bug fixes:

Sort installed versions to make sure we install the latest version when

running gem update --system. As a one-time fix, run

gem update --system=2.6.6. Pull request #1601 by David Radcliffe.

=== 2.6.5 / 2016-06-21

Minor enhancements:

Support for unified Integer in Ruby 2.4. Pull request #1618

by SHIBATA Hiroshi.

Update vendored Molinillo to 0.5.0 for performance improvements.

Pull request #1638 by Samuel Giddins.

Bug fixes:

Raise an explicit error if Signer#sign is called with no certs. Pull

request #1605 by Daniel Berger.

Update update_bundled_ca_certificates utility script for directory

nesting. Pull request #1583 by James Wen.

Fix broken symlink support in tar writer (+ fix broken test). Pull

request #1578 by Cezary Baginski.

Remove extension directory before (re-)installing. Pull request #1576

by Jeremy Hinegardner.

Regenerate test CA certificates with appropriate extensions. Pull

request #1611 by rhenium.

Rubygems does not terminate on failed file lock when not superuser. Pull

request #1582 by Ellen Marie Dash.

Fix tar headers with a 101 character name. Pull request #1612 by Paweł

Tomulik.

Add Gem.platform_defaults to allow implementations to override defaults.

Pull request #1644 by Charles Oliver Nutter.

Run Bundler tests on TravisCI. Pull request #1650 by Samuel Giddins.

=== 2.6.4 / 2016-04-26

Minor enhancements:

Use Gem::Util::NULL_DEVICE instead of hard coded strings. Pull request #1588

by Chris Charabaruk.

Use File.symlink on MS Windows if supported. Pull request #1418

by Nobuyoshi Nakada.

Bug fixes:

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

1565 by Brian Fletcher.

Suppress warnings. Pull request #1594 by Nobuyoshi Nakada.

Escape user-supplied content served on web pages by gem server to avoid

potential XSS vulnerabilities. Samuel Giddins.

=== 2.6.3 / 2016-04-05

Minor enhancements:

Lazily calculate Gem::LoadError exception messages. Pull request #1550

by Aaron Patterson.

New fastly cert. Pull request #1548 by David Radcliffe.

Organize and cleanup SSL certs. Pull request #1555 by James Wen.

[RubyGems] Make deprecation message for paths= more helpful. Pull

request #1562 by Samuel Giddins.

Show default gems when using "gem list". Pull request #1570 by Luis

Sagastume.

Bug fixes:

Stub ordering should be consistent regardless of how cache is populated.

Pull request #1552 by Aaron Patterson.

Handle cases when the @@stubs variable contains non-stubs. Pull request

1558 by Per Lundberg.

Fix test on Windows for inconsistent temp path. Pull request #1554 by

Hiroshi Shirosaki.

Fix Gem.find_spec_for_exe picks oldest gem. Pull request #1566 by

Shinichi Maeshima.

[Owner] Fallback to email and userid when owner email is missing. Pull

request #1569 by Samuel Giddins.

[Installer] Handle nil existing executable. Pull request #1561 by Samuel

Giddins.

Allow two digit version numbers in the tests. Pull request #1575 by unak.

=== 2.6.2 / 2016-03-12

Bug fixes:

Fix wrong version of gem activation for bin stub. Pull request #1527 by

Aaron Patterson.

Speed up gem activation failures. Pull request #1539 by Aaron Patterson.

Fix platform sorting in the resolver. Pull request #1542 by Samuel E.

Giddins.

Ensure we unlock the monitor even if try_activate throws. Pull request

1538 by Charles Oliver Nutter.

=== 2.6.1 / 2016-02-28

Bug fixes:

Ensure default_path and home are set for paths. Pull request #1513

by Aaron Patterson.

Restore but deprecate support for Array values on Gem.paths=. Pull

request #1514 by Aaron Patterson.

Fix invalid gem file preventing gem install from working. Pull request

1499 by Luis Sagastume.

=== 2.6.0 / 2016-02-26

Minor enhancements:

RubyGems now defaults the gem push to the gem's "allowed_push_host"

metadata setting. Pull request #1486 by Josh Lane.

Update bundled Molinillo to 0.4.3. Pull request #1493 by Samuel E. Giddins.

Add version option to gem open command. Pull request #1483 by Hrvoje

Šimić.

Feature/add silent flag. Pull request #1455 by Luis Sagastume.

Allow specifying gem requirements via env variables. Pull request #1472

by Samuel E. Giddins.

Bug fixes:

RubyGems now stores gem push credentials under the host you signed-in for.

Pull request #1485 by Josh Lane.

Move coding location to first line. Pull request #1471 by SHIBATA

Hiroshi.

[PathSupport] Handle a regexp path separator. Pull request #1469 by

Samuel E. Giddins.

Clean up the PathSupport object. Pull request #1094 by Aaron Patterson.

Join with File::PATH_SEPARATOR in Gem.use_paths. Pull request #1476 by

Samuel E. Giddins.

Handle when the gem home and gem path arent set in the config file. Pull

request #1478 by Samuel E. Giddins.

Terminate TimeoutHandler. Pull request #1479 by Nobuyoshi Nakada.

Remove redundant cache. Pull request #1482 by Eileen M. Uchitelle.

Freeze Gem::Version@segments instance variable. Pull request #1487 by

Ben Dean.

Gem cleanup is trying to uninstall gems outside GEM_HOME and reporting

an error after it tries. Pull request #1353 by Luis Sagastume.

Avoid duplicated sources. Pull request #1489 by Luis Sagastume.

Better description for quiet flag. Pull request #1491 by Luis Sagastume.

Raise error if find_by_name returns with nil. Pull request #1494 by

Zoltán Hegedüs.

Find_files only from loaded_gems when using gemdeps. Pull request #1277

by Michal Papis.

RubyGems installed the following executables:

/usr/local/src/ruby/bin/gem

Ruby Interactive (ri) documentation was installed. ri is kind of like man

pages for ruby libraries. You may access it like this:

ri Classname

ri Classname.class_method

ri Classname#instance_method

If you do not wish to install this documentation in the future, use the

--no-document flag, or set it as the default in your ~/.gemrc file. See

'gem help env' for details.

[root@rdb4 rubygems-2.6.10]#

======================================================================================================

[root@rdb4 rubygems-2.6.10]# which gem

/usr/local/src/ruby/bin/gem

[root@rdb4 rubygems-2.6.10]# gem --version

2.6.10

[root@rdb4 rubygems-2.6.10]#

root用户安装zlib

tar -zxf zlib-1.2.11.tar.gz

cd zlib-1.2.11

执行configure

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

[root@rdb4 zlib-1.2.11]# ./configure --prefix=/usr/local/src/zlib

Checking for gcc...

Checking for shared library support...

Building shared library libz.so.1.2.11 with gcc.

Checking for size_t... Yes.

Checking for off64_t... Yes.

Checking for fseeko... Yes.

Checking for strerror... Yes.

Checking for unistd.h... Yes.

Checking for stdarg.h... Yes.

Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().

Checking for vsnprintf() in stdio.h... Yes.

Checking for return value of vsnprintf()... Yes.

Checking for attribute(visibility) support... Yes.

[root@rdb4 zlib-1.2.11]#

执行make

[root@rdb4 zlib-1.2.11]# make

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o example.o test/example.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o adler32.o adler32.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o crc32.o crc32.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o deflate.o deflate.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o infback.o infback.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inffast.o inffast.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inflate.o inflate.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inftrees.o inftrees.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o trees.o trees.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o zutil.o zutil.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o compress.o compress.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o uncompr.o uncompr.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzclose.o gzclose.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzlib.o gzlib.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzread.o gzread.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzwrite.o gzwrite.c

ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example example.o -L. libz.a

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o minigzip.o test/minigzip.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip minigzip.o -L. libz.a

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/adler32.o adler32.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/crc32.o crc32.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/deflate.o deflate.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/infback.o infback.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inffast.o inffast.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inflate.o inflate.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inftrees.o inftrees.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/trees.o trees.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/zutil.o zutil.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/compress.o compress.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/uncompr.o uncompr.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzclose.o gzclose.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzlib.o gzlib.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzread.o gzread.c

gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzwrite.o gzwrite.c

gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o libz.so.1.2.11 adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo -lc

rm -f libz.so libz.so.1

ln -s libz.so.1.2.11 libz.so

ln -s libz.so.1.2.11 libz.so.1

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o examplesh example.o -L. libz.so.1.2.11

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzipsh minigzip.o -L. libz.so.1.2.11

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o example64.o test/example.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example64 example64.o -L. libz.a

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o minigzip64.o test/minigzip.c

gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip64 minigzip64.o -L. libz.a

[root@rdb4 zlib-1.2.11]#

======================================================================================================

======================================================================================================

执行make install

[root@rdb4 zlib-1.2.11]# make install

rm -f /usr/local/src/zlib/lib/libz.a

cp libz.a /usr/local/src/zlib/lib

chmod 644 /usr/local/src/zlib/lib/libz.a

cp libz.so.1.2.11 /usr/local/src/zlib/lib

chmod 755 /usr/local/src/zlib/lib/libz.so.1.2.11

rm -f /usr/local/src/zlib/share/man/man3/zlib.3

cp zlib.3 /usr/local/src/zlib/share/man/man3

chmod 644 /usr/local/src/zlib/share/man/man3/zlib.3

rm -f /usr/local/src/zlib/lib/pkgconfig/zlib.pc

cp zlib.pc /usr/local/src/zlib/lib/pkgconfig

chmod 644 /usr/local/src/zlib/lib/pkgconfig/zlib.pc

rm -f /usr/local/src/zlib/include/zlib.h /usr/local/src/zlib/include/zconf.h

cp zlib.h zconf.h /usr/local/src/zlib/include

chmod 644 /usr/local/src/zlib/include/zlib.h /usr/local/src/zlib/include/zconf.h

[root@rdb4 zlib-1.2.11]#

root用户在ruby扩展中安装zlib

进入ruby源码目录

cd /soft/ruby-2.4.0/ext/zlib/

ruby extconf.rb --with-zlib-include=/usr/local/src/zlib/include/ --with-zlib-lib=/usr/local/src/zlib/lib

[root@rdb4 zlib]# ruby extconf.rb --with-zlib-include=/usr/local/src/zlib/include/ --with-zlib-lib=/usr/local/src/zlib/lib

checking for deflateReset() in -lz... yes

checking for zlib.h... yes

checking for crc32_combine() in zlib.h... yes

checking for adler32_combine() in zlib.h... yes

checking for z_crc_t in zlib.h... yes

creating Makefile

[root@rdb4 zlib]#

此时直接执行make和make install均会报错,需要将源码的include文件软连接到/

错误信息:不能在/include中找到ruby.h文件,执行软连接后就可以了

make: *** No rule to make target /include/ruby.h', needed byzlib.o'. Stop.

[root@rdb4 zlib]# ln -s /soft/ruby-2.4.0/include /

[root@rdb4 zlib]# make

compiling zlib.c

linking shared-object zlib.so

[root@rdb4 zlib]# make install

/usr/bin/install -c -m 0755 zlib.so /usr/local/src/ruby/lib/ruby/site_ruby/2.4.0/x86_64-linux

[root@rdb4 zlib]#

root用户安装redis.gem

进入soft目录

gem install -l redis-3.3.3.gem

[root@rdb4 soft]# gem install -l redis-3.3.3.gem

Successfully installed redis-3.3.3

Parsing documentation for redis-3.3.3

Installing ri documentation for redis-3.3.3

Done installing documentation for redis after 1 seconds

1 gem installed

[root@rdb4 soft]#

[root@rdb4 soft]# gem list

*** LOCAL GEMS ***

bigdecimal (default: 1.3.0)

did_you_mean (1.1.0)

io-console (default: 0.4.6)

json (default: 2.0.2)

minitest (5.10.1)

net-telnet (0.1.1)

power_assert (0.4.1)

psych (default: 2.2.2)

rake (12.0.0)

rdoc (default: 5.0.0)

redis (3.3.3)

test-unit (3.2.3)

xmlrpc (0.2.1)

[root@rdb4 soft]#

rdb用户安装redis

tar -zxf redis-3.2.8.tar.gz

cd redis-3.2.8

执行make

[rdb@rdb4 redis-3.2.8]$ make

cd src && make all

make[1]: Entering directory /soft/redis-3.2.8/src' rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html (cd ../deps && make distclean) make[2]: Entering directory/soft/redis-3.2.8/deps'

(cd hiredis && make clean) > /dev/null || true

(cd linenoise && make clean) > /dev/null || true

(cd lua && make clean) > /dev/null || true

(cd geohash-int && make clean) > /dev/null || true

(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true

(rm -f .make-)

make[2]: Leaving directory /soft/redis-3.2.8/deps' (rm -f .make-*) echo STD=-std=c99 -pedantic -DREDIS_STATIC='' >> .make-settings echo WARN=-Wall -W >> .make-settings echo OPT=-O2 >> .make-settings echo MALLOC=jemalloc >> .make-settings echo CFLAGS= >> .make-settings echo LDFLAGS= >> .make-settings echo REDIS_CFLAGS= >> .make-settings echo REDIS_LDFLAGS= >> .make-settings echo PREV_FINAL_CFLAGS=-std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -O2 -g -ggdb -I../deps/geohash-int -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include >> .make-settings echo PREV_FINAL_LDFLAGS= -g -ggdb -rdynamic >> .make-settings (cd ../deps && make hiredis linenoise lua geohash-int jemalloc) make[2]: Entering directory/soft/redis-3.2.8/deps'

(cd hiredis && make clean) > /dev/null || true

(cd linenoise && make clean) > /dev/null || true

(cd lua && make clean) > /dev/null || true

(cd geohash-int && make clean) > /dev/null || true

(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true

(rm -f .make-)

(echo "" > .make-ldflags)

(echo "" > .make-cflags)

MAKE hiredis

cd hiredis && make static

make[3]: Entering directory /soft/redis-3.2.8/deps/hiredis' cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb hiredis.c cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb sds.c cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb async.c ar rcs libhiredis.a net.o hiredis.o sds.o async.o make[3]: Leaving directory/soft/redis-3.2.8/deps/hiredis'

MAKE linenoise

cd linenoise && make

make[3]: Entering directory /soft/redis-3.2.8/deps/linenoise' cc -Wall -Os -g -c linenoise.c make[3]: Leaving directory/soft/redis-3.2.8/deps/linenoise'

MAKE lua

cd lua/src && make all CFLAGS="-O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' " MYLDFLAGS="" AR="ar rcu"

make[3]: Entering directory /soft/redis-3.2.8/deps/lua/src' cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lapi.o lapi.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lcode.o lcode.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldebug.o ldebug.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldo.o ldo.c ldo.c: In function ‘f_parser’: ldo.c:496: warning: unused variable ‘c’ cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldump.o ldump.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lfunc.o lfunc.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lgc.o lgc.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o llex.o llex.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lmem.o lmem.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lobject.o lobject.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lopcodes.o lopcodes.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lparser.o lparser.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstate.o lstate.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstring.o lstring.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltable.o ltable.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltm.o ltm.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lundump.o lundump.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lvm.o lvm.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lzio.o lzio.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o strbuf.o strbuf.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o fpconv.o fpconv.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lauxlib.o lauxlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lbaselib.o lbaselib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ldblib.o ldblib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o liolib.o liolib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lmathlib.o lmathlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o loslib.o loslib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o ltablib.o ltablib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lstrlib.o lstrlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o loadlib.o loadlib.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o linit.o linit.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_cjson.o lua_cjson.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_struct.o lua_struct.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_cmsgpack.o lua_cmsgpack.c cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua_bit.o lua_bit.c ar rcu liblua.a lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o strbuf.o fpconv.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o loadlib.o linit.o lua_cjson.o lua_struct.o lua_cmsgpack.o lua_bit.o # DLL needs all object files ranlib liblua.a cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o lua.o lua.c cc -o lua lua.o liblua.a -lm liblua.a(loslib.o): In functionos_tmpname':

loslib.c:(.text+0x35): warning: the use of tmpnam' is dangerous, better usemkstemp'

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o luac.o luac.c

cc -O2 -Wall -DLUA_ANSI -DENABLE_CJSON_GLOBAL -DREDIS_STATIC='' -c -o print.o print.c

cc -o luac luac.o print.o liblua.a -lm

make[3]: Leaving directory /soft/redis-3.2.8/deps/lua/src' MAKE geohash-int cd geohash-int && make make[3]: Entering directory/soft/redis-3.2.8/deps/geohash-int'

cc -Wall -O2 -g -c geohash.c

cc -Wall -O2 -g -c geohash_helper.c

make[3]: Leaving directory `/soft/redis-3.2.8/deps/geohash-int'

MAKE jemalloc

cd jemalloc && ./configure --with-lg-quantum=3 --with-jemalloc-prefix=je_ --enable-cc-silence CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS=""

checking for xsltproc... /usr/bin/xsltproc

checking for gcc... gcc

checking whether the C compiler works... yes

checking for C compiler default output file name... a.out

checking for suffix of executables...

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking how to run the C preprocessor... gcc -E

checking for grep that handles long lines and -e... /bin/grep

checking for egrep... /bin/grep -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking whether byte ordering is bigendian... no

checking size of void ... 8

checking size of int... 4

checking size of long... 8

checking size of intmax_t... 8

checking build system type... x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking whether pause instruction is compilable... yes

checking for ar... ar

checking malloc.h usability... yes

checking malloc.h presence... yes

checking for malloc.h... yes

checking whether malloc_usable_size definition can use const argument... no

checking whether attribute syntax is compilable... yes

checking whether compiler supports -fvisibility=hidden... yes

checking whether compiler supports -Werror... yes

checking whether tls_model attribute is compilable... yes

checking whether compiler supports -Werror... yes

checking whether alloc_size attribute is compilable... yes

checking whether compiler supports -Werror... yes

checking whether format(gnu_printf, ...) attribute is compilable... yes

checking whether compiler supports -Werror... yes

checking whether format(printf, ...) attribute is compilable... yes

checking for a BSD-compatible install... /usr/bin/install -c

checking for ranlib... ranlib

checking for ld... /usr/bin/ld

checking for autoconf... false

checking for memalign... yes

checking for valloc... yes

checking configured backtracing method... N/A

checking for sbrk... yes

checking whether utrace(2) is compilable... no

checking whether valgrind is compilable... no

checking whether a program using __builtin_ffsl is compilable... yes

checking LG_PAGE... 12

checking pthread.h usability... yes

checking pthread.h presence... yes

checking for pthread.h... yes

checking for pthread_create in -lpthread... yes

checking for library containing clock_gettime... -lrt

checking for secure_getenv... no

checking for issetugid... no

checking for _malloc_thread_cleanup... no

checking for _pthread_mutex_init_calloc_cb... no

checking for TLS... yes

checking whether C11 atomics is compilable... no

checking whether atomic(9) is compilable... no

checking whether Darwin OSAtomic() is compilable... no

checking whether madvise(2) is compilable... yes

checking whether to force 32-bit _sync{add,sub}_and_fetch()... no

checking whether to force 64-bit _sync{add,sub}_and_fetch()... no

checking for __builtin_clz... yes

checking whether Darwin OSSpin*() is compilable... no

checking whether glibc malloc hook is compilable... yes

checking whether glibc memalign hook is compilable... yes

checking whether pthreads adaptive mutexes is compilable... yes

checking for stdbool.h that conforms to C99... yes

checking for _Bool... yes

configure: creating ./config.status

config.status: creating Makefile

config.status: creating jemalloc.pc

config.status: creating doc/html.xsl

config.status: creating doc/manpages.xsl

config.status: creating doc/jemalloc.xml

config.status: creating include/jemalloc/jemalloc_macros.h

config.status: creating include/jemalloc/jemalloc_protos.h

config.status: creating include/jemalloc/jemalloc_typedefs.h

config.status: creating include/jemalloc/internal/jemalloc_internal.h

config.status: creating test/test.sh

config.status: creating test/include/test/jemalloc_test.h

config.status: creating config.stamp

config.status: creating bin/jemalloc-config

config.status: creating bin/jemalloc.sh

config.status: creating bin/jeprof

config.status: creating include/jemalloc/jemalloc_defs.h

config.status: creating include/jemalloc/internal/jemalloc_internal_defs.h

config.status: creating test/include/test/jemalloc_test_defs.h

config.status: executing include/jemalloc/internal/private_namespace.h commands

config.status: executing include/jemalloc/internal/private_unnamespace.h commands

config.status: executing include/jemalloc/internal/public_symbols.txt commands

config.status: executing include/jemalloc/internal/public_namespace.h commands

config.status: executing include/jemalloc/internal/public_unnamespace.h commands

config.status: executing include/jemalloc/internal/size_classes.h commands

config.status: executing include/jemalloc/jemalloc_protos_jet.h commands

config.status: executing include/jemalloc/jemalloc_rename.h commands

config.status: executing include/jemalloc/jemalloc_mangle.h commands

config.status: executing include/jemalloc/jemalloc_mangle_jet.h commands

config.status: executing include/jemalloc/jemalloc.h commands

===============================================================================

jemalloc version : 4.0.3-0-ge9192eacf8935e29fc62fddc2701f7942b1cc02c

library revision : 2

CONFIG : --with-lg-quantum=3 --with-jemalloc-prefix=je_ --enable-cc-silence 'CFLAGS=-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops ' LDFLAGS=

CC : gcc

CFLAGS : -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -fvisibility=hidden

CPPFLAGS : -D_GNU_SOURCE -D_REENTRANT

LDFLAGS :

EXTRA_LDFLAGS :

LIBS : -lpthread

TESTLIBS : -lrt

RPATH_EXTRA :

XSLTPROC : /usr/bin/xsltproc

XSLROOT :

PREFIX : /usr/local

BINDIR : /usr/local/bin

DATADIR : /usr/local/share

INCLUDEDIR : /usr/local/include

LIBDIR : /usr/local/lib

MANDIR : /usr/local/share/man

srcroot :

abs_srcroot : /soft/redis-3.2.8/deps/jemalloc/

objroot :

abs_objroot : /soft/redis-3.2.8/deps/jemalloc/

JEMALLOC_PREFIX : je_

JEMALLOC_PRIVATE_NAMESPACE

: je_

install_suffix :

autogen : 0

cc-silence : 1

debug : 0

code-coverage : 0

stats : 1

prof : 0

prof-libunwind : 0

prof-libgcc : 0

prof-gcc : 0

tcache : 1

fill : 1

utrace : 0

valgrind : 0

xmalloc : 0

munmap : 0

lazy_lock : 0

tls : 1

cache-oblivious : 1

===============================================================================

cd jemalloc && make CFLAGS="-std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops " LDFLAGS="" lib/libjemalloc.a

make[3]: Entering directory /soft/redis-3.2.8/deps/jemalloc' gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/jemalloc.o src/jemalloc.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/arena.o src/arena.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/atomic.o src/atomic.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/base.o src/base.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/bitmap.o src/bitmap.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk.o src/chunk.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk_dss.o src/chunk_dss.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/chunk_mmap.o src/chunk_mmap.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/ckh.o src/ckh.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/ctl.o src/ctl.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/extent.o src/extent.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/hash.o src/hash.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/huge.o src/huge.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/mb.o src/mb.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/mutex.o src/mutex.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/pages.o src/pages.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/prof.o src/prof.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/quarantine.o src/quarantine.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/rtree.o src/rtree.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/stats.o src/stats.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/tcache.o src/tcache.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/util.o src/util.c gcc -std=gnu99 -Wall -pipe -g3 -O3 -funroll-loops -c -D_GNU_SOURCE -D_REENTRANT -Iinclude -Iinclude -o src/tsd.o src/tsd.c ar crus lib/libjemalloc.a src/jemalloc.o src/arena.o src/atomic.o src/base.o src/bitmap.o src/chunk.o src/chunk_dss.o src/chunk_mmap.o src/ckh.o src/ctl.o src/extent.o src/hash.o src/huge.o src/mb.o src/mutex.o src/pages.o src/prof.o src/quarantine.o src/rtree.o src/stats.o src/tcache.o src/util.o src/tsd.o make[3]: Leaving directory/soft/redis-3.2.8/deps/jemalloc'

make[2]: Leaving directory `/soft/redis-3.2.8/deps'

CC adlist.o

CC quicklist.o

CC ae.o

In file included from ae.c:53:

ae_epoll.c: In function ‘aeApiAddEvent’:

ae_epoll.c:75: warning: missing initializer

ae_epoll.c:75: warning: (near initialization for ‘ee.data’)

ae_epoll.c: In function ‘aeApiDelEvent’:

ae_epoll.c:92: warning: missing initializer

ae_epoll.c:92: warning: (near initialization for ‘ee.data’)

CC anet.o

anet.c: In function ‘anetSockName’:

anet.c:640: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:638: note: initialized from here

anet.c:644: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:642: note: initialized from here

anet.c: In function ‘anetPeerToString’:

anet.c:584: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:582: note: initialized from here

anet.c:588: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:586: note: initialized from here

anet.c: In function ‘anetTcpAccept’:

anet.c:555: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:553: note: initialized from here

anet.c:559: warning: dereferencing pointer ‘s’ does break strict-aliasing rules

anet.c:557: note: initialized from here

CC dict.o

CC server.o

CC sds.o

CC zmalloc.o

CC lzf_c.o

CC lzf_d.o

CC pqsort.o

CC zipmap.o

CC sha1.o

CC ziplist.o

CC release.o

CC networking.o

CC util.o

CC object.o

CC db.o

CC replication.o

CC rdb.o

CC t_string.o

CC t_list.o

CC t_set.o

CC t_zset.o

CC t_hash.o

CC config.o

CC aof.o

CC pubsub.o

CC multi.o

CC debug.o

CC sort.o

CC intset.o

CC syncio.o

CC cluster.o

CC crc16.o

CC endianconv.o

CC slowlog.o

CC scripting.o

CC bio.o

CC rio.o

CC rand.o

CC memtest.o

CC crc64.o

CC bitops.o

CC sentinel.o

CC notify.o

CC setproctitle.o

CC blocked.o

CC hyperloglog.o

CC latency.o

CC sparkline.o

CC redis-check-rdb.o

CC geo.o

LINK redis-server

INSTALL redis-sentinel

CC redis-cli.o

LINK redis-cli

CC redis-benchmark.o

LINK redis-benchmark

INSTALL redis-check-rdb

CC redis-check-aof.o

LINK redis-check-aof

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

make[1]: Leaving directory `/soft/redis-3.2.8/src'

[rdb@rdb4 redis-3.2.8]$

======================================================================================================

======================================================================================================

执行make install PREFIX=/u01/redis/3.2.8,3.2.8的目录可以不用创建,安装时会自动创建

[rdb@rdb4 redis-3.2.8]$ make install PREFIX=/u01/redis/3.2.8

cd src && make install

make[1]: Entering directory `/soft/redis-3.2.8/src'

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

INSTALL install

INSTALL install

INSTALL install

INSTALL install

INSTALL install

make[1]: Leaving directory `/soft/redis-3.2.8/src'

[rdb@rdb4 redis-3.2.8]$

在rdb用户上配置redis环境变量

RDB_HOME=/u01/redis/3.2.8

PATH=$PATH:$HOME/bin:/usr/local/src/ruby/bin:$RDB_HOME/bin

export PATH RDB_HOME

创建redis目录

mkdir -p /u01/redis/3.2.8/conf

mkdir -p /u01/redis/3.2.8/log

mkdir -p /u01/redis/3.2.8/data

mkdir -p /u01/redis/3.2.8/data/16963

mkdir -p /u01/redis/3.2.8/data/16964

创建redis配置文件

从网站https://raw.githubusercontent.com/antirez/redis/3.2.8/redis.conf下载来更改

更改的参数如下,参考http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=20682147&id=5557566

bind 192.168.102.241

port 6379

cluster-config-file nodes-6379.conf

pidfile /var/run/redis-6379.pid

dir /data/redis/data/6379

dbfilename dump-6379.rdb

appendfilename "appendonly-6379.aof"

logfile /data/redis/log/redis-6379.log

loglevel verbose

======================================

cluster-enabled yes

cluster-node-timeout 3000

cluster-slave-validity-factor 0

repl-ping-slave-period 1

repl-timeout 10

slave-read-only yes

slave-serve-stale-data yes

slave-priority 100

appendonly yes

daemonize yes

protected-mode no

tcp-backlog 32767

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

no-appendfsync-on-rewrite yes

cluster-require-full-coverage no

启动redis

redis-server redis-6379.conf

redis-server redis-6380.conf

通过ps查看redis启动后的进程,可以看到是cluster模式启动的

[rdb@rdb4 conf]$ ps -ef|grep redis|grep -v grep

rdb 1486 1 0 09:26 ? 00:00:00 redis-server 192.168.102.244:16963 [cluster]

rdb 1491 1 0 09:26 ? 00:00:00 redis-server 192.168.102.244:16964 [cluster]

创建redis集群

redis-trib.rb create --replicas 1 192.168.102.241:16963 192.168.102.242:16963 192.168.102.243:16963 192.168.102.241:16964 192.168.102.242:16964 192.168.102.243:16964

他默认会尽量选取不同的机器来作为master和slave,但是实验中证明其还不够智能,尝试过很多机器顺序组合,但是总有一个机器master和slave在同一个机器。

create表名是创建redis cluster集群

--replicas表示为集群中每一个主节点指定一个从节点;看有解析redis-trib.rb代码的网页说,如果有多余master节点的slave,一样会进行第二次分配,也就是第一次给每个master分配replicas数目的从节点,然后剩余的在进行第二次分配,直到分配完。有待实验证明

[rdb@rdb1 16964]$ redis-trib.rb create --replicas 1 192.168.102.241:16963 192.168.102.242:16963 192.168.102.243:16963 192.168.102.241:16964 192.168.102.242:16964 192.168.102.243:16964

Creating cluster

Performing hash slots allocation on 6 nodes...

Using 3 masters:

192.168.102.241:16963

192.168.102.242:16963

192.168.102.243:16963

Adding replica 192.168.102.242:16964 to 192.168.102.241:16963

Adding replica 192.168.102.241:16964 to 192.168.102.242:16963

Adding replica 192.168.102.243:16964 to 192.168.102.243:16963

M: 03ee8d295608c478d63a4c028e820a3a9829e377 192.168.102.241:16963

slots:0-5460 (5461 slots) master

M: 7a337a2d085c8db159ff56a416b1bf3ebed515fc 192.168.102.242:16963

slots:5461-10922 (5462 slots) master

M: fb373c45b704ceaf00e1455954089e243d397e23 192.168.102.243:16963

slots:10923-16383 (5461 slots) master

S: 33d3fbaffd70a88c7fedb52d1e98403448df6636 192.168.102.241:16964

replicates 7a337a2d085c8db159ff56a416b1bf3ebed515fc

S: 2289826fe42a40565f5116f856a0c684e26a0944 192.168.102.242:16964

replicates 03ee8d295608c478d63a4c028e820a3a9829e377

S: 3e6c163a8c86ab30a2173f1ae2e693f5a7853c16 192.168.102.243:16964

replicates fb373c45b704ceaf00e1455954089e243d397e23

Can I set the above configuration? (type 'yes' to accept): yes《《《《========此处输入是否接受以上的集群分配方式,yes为接受,no为不接受,会*** Aborting...

Nodes configuration updated

Assign a different config epoch to each node

Sending CLUSTER MEET messages to join the cluster

Waiting for the cluster to join.

Performing Cluster Check (using node 192.168.102.241:16963)

M: 03ee8d295608c478d63a4c028e820a3a9829e377 192.168.102.241:16963

slots:0-5460 (5461 slots) master

1 additional replica(s)

M: fb373c45b704ceaf00e1455954089e243d397e23 192.168.102.243:16963

slots:10923-16383 (5461 slots) master

1 additional replica(s)

M: 7a337a2d085c8db159ff56a416b1bf3ebed515fc 192.168.102.242:16963

slots:5461-10922 (5462 slots) master

1 additional replica(s)

S: 2289826fe42a40565f5116f856a0c684e26a0944 192.168.102.242:16964

slots: (0 slots) slave

replicates 03ee8d295608c478d63a4c028e820a3a9829e377

S: 33d3fbaffd70a88c7fedb52d1e98403448df6636 192.168.102.241:16964

slots: (0 slots) slave

replicates 7a337a2d085c8db159ff56a416b1bf3ebed515fc

S: 3e6c163a8c86ab30a2173f1ae2e693f5a7853c16 192.168.102.243:16964

slots: (0 slots) slave

replicates fb373c45b704ceaf00e1455954089e243d397e23

[OK] All nodes agree about slots configuration.

Check for open slots...

Check slots coverage...

[OK] All 16384 slots covered.

[rdb@rdb1 16964]$

检查集群

连接上集群中任意一个几点执行检查。

[rdb@rdb1 soft]$ redis-trib.rb check 192.168.102.241:16963

Performing Cluster Check (using node 192.168.102.241:16963)

M: 03ee8d295608c478d63a4c028e820a3a9829e377 192.168.102.241:16963

slots:0-5460 (5461 slots) master

1 additional replica(s)

M: fb373c45b704ceaf00e1455954089e243d397e23 192.168.102.243:16963

slots:10923-16383 (5461 slots) master

1 additional replica(s)

S: 33d3fbaffd70a88c7fedb52d1e98403448df6636 192.168.102.241:16964

slots: (0 slots) slave

replicates 7a337a2d085c8db159ff56a416b1bf3ebed515fc

S: 3e6c163a8c86ab30a2173f1ae2e693f5a7853c16 192.168.102.243:16964

slots: (0 slots) slave

replicates fb373c45b704ceaf00e1455954089e243d397e23

M: 7a337a2d085c8db159ff56a416b1bf3ebed515fc 192.168.102.242:16963

slots:5461-10922 (5462 slots) master

1 additional replica(s)

S: 2289826fe42a40565f5116f856a0c684e26a0944 192.168.102.242:16964

slots: (0 slots) slave

replicates 03ee8d295608c478d63a4c028e820a3a9829e377

[OK] All nodes agree about slots configuration.

Check for open slots...

Check slots coverage...

[OK] All 16384 slots covered.

[rdb@rdb1 soft]$

[rdb@rdb1 soft]$ redis-cli -c -p 16963 -h 192.168.102.241

192.168.102.241:16963> cluster nodes

fb373c45b704ceaf00e1455954089e243d397e23 192.168.102.243:16963 master - 0 1487814812689 3 connected 10923-16383

33d3fbaffd70a88c7fedb52d1e98403448df6636 192.168.102.241:16964 slave 7a337a2d085c8db159ff56a416b1bf3ebed515fc 0 1487814811685 4 connected

3e6c163a8c86ab30a2173f1ae2e693f5a7853c16 192.168.102.243:16964 slave fb373c45b704ceaf00e1455954089e243d397e23 0 1487814812689 6 connected

7a337a2d085c8db159ff56a416b1bf3ebed515fc 192.168.102.242:16963 master - 0 1487814812189 2 connected 5461-10922

2289826fe42a40565f5116f856a0c684e26a0944 192.168.102.242:16964 slave 03ee8d295608c478d63a4c028e820a3a9829e377 0 1487814812189 5 connected

03ee8d295608c478d63a4c028e820a3a9829e377 192.168.102.241:16963 myself,master - 0 0 1 connected 0-5460

192.168.102.241:16963>

192.168.102.241:16963> cluster info

cluster_state:ok

cluster_slots_assigned:16384

cluster_slots_ok:16384

cluster_slots_pfail:0

cluster_slots_fail:0

cluster_known_nodes:6

cluster_size:3

cluster_current_epoch:6

cluster_my_epoch:1

cluster_stats_messages_sent:10658

cluster_stats_messages_received:10534

192.168.102.241:16963>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/261887
推荐阅读
相关标签
  

闽ICP备14008679号