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

说明

本次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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHPStat网站流量统计免费版是专为小型网站及站长站提供的免费统计工具软件PHPStat网站流量统计分析软件、网站优化服务及网站营销解决方案供应商,PHPStat网站统计软件解决方案多年来已服务于包括赛迪网、天极网、联想集团、中国国旅等多家国内知名客户,客户群体涵盖互联网门户、媒体网站、电子商务网站、营销推广类网站等 功能介绍: (1)PHPSTAT基本统计功能包括:最近50位访问者, 当前在线列表 ,今日访问者列表 ,最近24小时统计 ,今日来路统计 ,今日搜索引擎 ,今日搜索关键字 ,昨日时段统计 ,网站统计摘要 ,小时统计报表 ,日统计表 ,Alexa工具条统计 ,周统计报表 ,月统计报表 ,年统计报表 ,客户端情况统计 ,用户操作系统统计 ,用户浏览器统计 ,屏幕分辨率统计 ,访问者地区统计 ,访问统计分析 ,访问者来路统计 ,搜索引擎统计 ,搜索关键字统计 ,访问者访次统计 ,C段IP地址统计 ,页面受欢迎度统计等! (2)PHPSTAT系统提供非常精确的IP地理位置统计(精确到城市),您可以查看到访问您网站的每一个用户来自什么位置。同时我们将所有访问您网站的用户地区汇总,分析出各个地区的访问比例。 (3)PHPSTAT系统除统计每位访问者的IP地址以外,还统计您网站的页面浏览(PageView ,即PV),也就是说,PHPSTAT系统会记录您网站每位访问者的每一次点击。 (4)PHPSTAT系统记录访问您网站每一个时段的情况。我们将每天的数据汇总,生成24小时访问报表,您可以知道一天中各个时段总访问情况。 (5)PHPSTAT系统记录访问您网站每一个IP的来路情况,即访问者是通过哪个网页进入您的网站的。经汇总您可以访问者主要是通过哪个网站进入您的网站的。 (6)PHPSTAT系统还统计出从各大搜索引擎(如百度,Google等)上搜索进入您网站情况,您可以查看到访问者是搜索哪些关键字查找到您的网站的! (7)PHPSTAT系统对每个访问者的访问次数进行分析排序,您可以知道哪些用户最常访问您的网站. (8)PHPSTAT系统将列出当天的全部访问用户,当前在线用户,最近的50-100位访问用户等。 (9)PHPSTAT系统还将统计出每位访问者使用的操作系统,浏览器以及屏幕分辨率等,并对这些数据进行统计,列出用户总体使用情况! (10)PHPSTAT系统还将统计出您网站访问者中Alexa工具条安装情况,Maxthon 等浏览器插件情况!
PHPStat是一款专业的网站流量统计,网站营销监控,网站用户行为,网站数据分析,互联网广告分析系统,为客户提供深入挖掘的网站流量交叉数据报告.在访客行为分析,网络营销分析和网站决策支持方面有独特的分析体系,为客户找到数据背后的真实有价值的东西,拿出可执行性建议. PHPStat网站流量统计系统 3.2 更新日志: [改变]软件界面,更稳重、直观 [增加]统计站点LOGO [增加]统计图表,分为柱状图、曲线图,自由切换 [改变]左边树性菜单显示方式 [改变]统计概况 [增加]热门标题 [增加]来路域名 [改变]关闭窗口,注销窗口的位置 [修正]省份,城市无法显示详情的错误 [修正]删掉用户后,无法删除其统计信息的错误 [修正]无法在Firefox浏览器登录的问题 [修正]menu.php无法传递参数问题 [修正]ALEAX排名问题 [修正]无法清空以及删除站点问题 [修正]IP数据表文件过大,无法自动安装的问题 [修正]当用户退出后,无法再次登录的问题 [修正]公开统计信息时,游客身份无法查看的问题 [改变]安装文件,把较大的数据文件分割成几个小文件,统计增加了检测安装环境的探针 [增加]限制游客身份不能修改系统信息的检查 [增加]版权信息的加密文件,测试版以及免费版本都无法修改 [增加]多日访问数据自动清理,转变为历史数据,以备查询 [增加]各个访问项目csv,xml,txt文件格式的数据导出 [增加]RSS信息订阅,简要描述访问情况 [增加]国家,省份,城市,地区/接入方式等历史数据明细"

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值