借鉴:https://www.cnblogs.com/liu2-/p/6914159.html

通用方法:迅速查看缺少的包的路径,并安装

  yum provides ***

  如 yum provides rx

已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.cn99.com
* extras: mirror.bit.edu.cn
* updates: mirrors.aliyun.com
base/7/x86_64/filelists_db | 6.9 MB 00:00:00
extras/7/x86_64/filelists_db | 603 kB 00:00:02
updates/7/x86_64/filelists_db | 3.3 MB 00:00:00
lrzsz-0.12.20-36.el7.x86_64 : The lrz and lsz modem communications programs
源 :base
匹配来源:
文件名 :/usr/bin/rx
  yum install -y lrzsz-0.12.20-36.el7.x86_64
  • 编译过程中出现报错

第一种:

[webapp@MyLinux redis-4.0.9]$ make
cd src && make all
make[1]: Entering directory `/home/webapp/redis-4.0.9/src'
CC Makefile.dep
make[1]: Leaving directory `/home/webapp/redis-4.0.9/src'
make[1]: Entering directory `/home/webapp/redis-4.0.9/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 Makefile.dep dict-benchmark
(cd ../deps && make distclean)
make[2]: Entering directory `/home/webapp/redis-4.0.9/deps'
(cd hiredis &amp;&amp; make clean) &gt; <a style="color:#3465A4" href="/dev/null">/dev/null</a> || true
(cd linenoise &amp;&amp; make clean) &gt; <a style="color:#3465A4" href="/dev/null">/dev/null</a> || true
(cd lua &amp;&amp; make clean) &gt; <a style="color:#3465A4" href="/dev/null">/dev/null</a> || true
(cd jemalloc &amp;&amp; [ -f Makefile ] &amp;&amp; make distclean) &gt; <a style="color:#3465A4" href="/dev/null">/dev/null</a> || true
(rm -f .make-*)
make[2]: Leaving directory `/home/webapp/redis-4.0.9/deps'
(rm -f .make-*)
echo STD=-std=c99 -pedantic -DREDIS_STATIC='' &gt;&gt; .make-settings
echo WARN=-Wall -W -Wno-missing-field-initializers &gt;&gt; .make-settings
echo OPT=-O2 &gt;&gt; .make-settings
echo MALLOC=jemalloc &gt;&gt; .make-settings
echo CFLAGS= &gt;&gt; .make-settings
echo LDFLAGS= &gt;&gt; .make-settings
echo REDIS_CFLAGS= &gt;&gt; .make-settings
echo REDIS_LDFLAGS= &gt;&gt; .make-settings
echo PREV_FINAL_CFLAGS=-std=c99 -pedantic -DREDIS_STATIC='' -Wall -W -Wno-missing-field-initializers -O2 -g -ggdb -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include &gt;&gt; .make-settings
echo PREV_FINAL_LDFLAGS= -g -ggdb -rdynamic &gt;&gt; .make-settings
(cd ../deps &amp;&amp; make hiredis linenoise lua jemalloc)
make[2]: Entering directory `/home/webapp/redis-4.0.9/deps'
(cd hiredis &amp;&amp; make clean) &gt; <a style="color:#3465A4" href="/dev/null">/dev/null</a> || true
(cd linenoise &amp;&amp; make clean) &gt; <a style="color:#3465A4" href="/dev/null">/dev/null</a> || true
(cd lua &amp;&amp; make clean) &gt; <a style="color:#3465A4" href="/dev/null">/dev/null</a> || true
(cd jemalloc &amp;&amp; [ -f Makefile ] &amp;&amp; make distclean) &gt; <a style="color:#3465A4" href="/dev/null">/dev/null</a> || true
(rm -f .make-*)
(echo "" &gt; .make-ldflags)
(echo "" &gt; .make-cflags)
MAKE hiredis
cd hiredis &amp;&amp; make static
make[3]: Entering directory `/home/webapp/redis-4.0.9/deps/hiredis'
gcc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c
make[3]: gcc: Command not found
make[3]: *** [net.o] Error 127
make[3]: Leaving directory `/home/webapp/redis-4.0.9/deps/hiredis'
make[2]: *** [hiredis] Error 2
make[2]: Leaving directory `/home/webapp/redis-4.0.9/deps'
make[1]: [persist-settings] Error 2 (ignored)
CC adlist.o
<a style="color:#3465A4" href="/bin/sh">/bin/sh</a>: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/home/webapp/redis-4.0.9/src'
make: *** [all] Error 2

提示gcc命令未找到,这是因为redis没有安装gcc编译器没安装
这时候只要安装编译器即可

[webapp@MyLinux redis-4.0.9]# yum install -y gcc g++ gcc-c++ make

安装完成提示

nstalled:
gcc.x86_64 0:4.4.7-18.el6_9.2 gcc-c++.x86_64 0:4.4.7-18.el6_9.2 Dependency Installed:
cloog-ppl.x86_64 0:0.15.7-1.2.el6 cpp.x86_64 0:4.4.7-18.el6_9.2
libstdc++-devel.x86_64 0:4.4.7-18.el6_9.2 mpfr.x86_64 0:2.4.1-6.el6
ppl.x86_64 0:0.10.2-11.el6 Dependency Updated:
libgcc.x86_64 0:4.4.7-18.el6_9.2 libgomp.x86_64 0:4.4.7-18.el6_9.2
libstdc++.x86_64 0:4.4.7-18.el6_9.2 Complete!

第二种:

[root@bogon redis-3.2.8]# make
cd src && make all
make[1]: 进入目录“/usr/local/redis-3.2.8/src”
CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
#include <jemalloc/jemalloc.h>
^
编译中断。
make[1]: *** [adlist.o] 错误 1
make[1]: 离开目录“/usr/local/redis-3.2.8/src”
make: *** [all] 错误 2

原因分析:

在README 有这个一段话

Allocator
--------- Selecting a non-default memory allocator when building Redis is done by setting
the `MALLOC` environment variable. Redis is compiled and linked against libc
malloc by default, with the exception of jemalloc being the default on Linux
systems. This default was picked because jemalloc has proven to have fewer
fragmentation problems than libc malloc. To force compiling against libc malloc, use: % make MALLOC=libc To compile against jemalloc on Mac OS X systems, use: % make MALLOC=jemalloc 说关于分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。 而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。 但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数。

我应该就是这个问题

没有jemalloc 而只有 libc 当然 make 出错。

这时候在编译过程时增加一个参数

[root@bogon redis-3.2.8]# make MALLOC=libc 

编译成功:

其中出现了两个警告

ldo.c: 在函数‘f_parser’中:
ldo.c:496:7:<span style="color:#ff0000;background-color: rgb(204, 204, 204);"> <strong>警告</strong></span>:未使用的变量‘c’ [-Wunused-variable]
int c = luaZ_lookahead(p->z); liblua.a(loslib.o):在函数‘os_tmpname’中:
loslib.c:(.text+0x28c): 警告:the use of `tmpnam' is dangerous, better use `mkstemp'

第三种

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/

cd /usr/local/tcl8.6.1/unix/

sudo ./configure

sudo make

sudo make install

Redis实战——安装问题汇总的更多相关文章

  1. Redis实战——安装

    借鉴来源:https://www.cnblogs.com/codersay/p/4301677.html redis官网地址:http://www.redis.io/ 最新版本: redis-4.0. ...

  2. GO学习-(25) Go操作Redis实战

    Go操作Redis实战   安装Redis客户端 Go语言中使用第三方库https://github.com/go-redis/redis连接Redis数据库并进行操作.使用以下命令下载并安装: go ...

  3. redis实战(01)_redis安装

    早就想对redis进行实战操作了,最近看了一些视频和参考书籍,总结总结一下,redis实战内容: 实战前先对redis做一个大概的认识: 现在开始安装redis了... redis的安装下载地址 ht ...

  4. Redis实战(一)Redis简介及环境安装(Windows)

    提到Redis,大家肯定都听过,并且应该都在项目中或多或少的使用过,也许你觉得Redis用起来挺简单的呀,但如果有人问你下面的几个问题(比如同事或者面试官),你能回答的上来吗? 什么是Redis? R ...

  5. Centos7下安装redis实战(单机版以及集群)

    一.背景 因项目需要,要引入redis做缓存,就在centos7下亲自安装了一遍redis,刚好趁着这个机会就来把redis的概念以及单机版和集群版redis安装步骤记录下来,在此和大家一起分享. 二 ...

  6. C# Redis实战(二) [转]

    二.Redis服务  在C# Redis实战(一)中我将所有文件拷贝到了D盘redis文件夹下,其中redis-server.exe即为其服务端程序,双击即开始运行,如图               ...

  7. C# Redis实战

    转自  :http://blog.csdn.net/qiujialongjjj/article/details/16945569 一.初步准备 Redis 是一个开源的使用ANSI C 语言编写.支持 ...

  8. Redis实战

    大约一年多前,公司同事开始使用Redis,不清楚是配置,还是版本的问题,当时的Redis经常在使用一段时间后,连接爆满且不释放.印象中,Redis 2.4.8以下的版本由于设计上的主从库同步问题,就会 ...

  9. C# Redis实战(三)

    三.程序配置 在C# Redis实战(二)中我们安装好了Redis的系统服务,此时Redis服务已经运行. 现在我们需要让我们的程序能正确读取到Redis服务地址等一系列的配置信息,首先,需要在Web ...

随机推荐

  1. 使用jdbc对数据库增删改查(Mysql为例)

    一.statement对象介绍 Statement对象的executeUpdate方法,用于向数据库发送增.删.改的sql语句,executeUpdate执行完后,将会返回一个整数. Statemen ...

  2. BZOJ4557 JLoi2016 侦察守卫 【树形DP】*

    BZOJ4557 JLoi2016 侦察守卫 Description 小R和B神正在玩一款游戏.这款游戏的地图由N个点和N-1条无向边组成,每条无向边连接两个点,且地图是连通的.换句话说,游戏的地图是 ...

  3. pat甲级 1154 Vertex Coloring (25 分)

    A proper vertex coloring is a labeling of the graph's vertices with colors such that no two vertices ...

  4. 【DUBBO】dubbo的Cluster接口

    Directory中的多个Invoker伪装成一个Invoker, 对上层透明,包含集群的容错机制 Cluster可以看做是工厂类, 将目录directory下的invoker合并成一个统一的Invo ...

  5. 异常Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from http://maven.aliyun.com/nexus/content/groups/public was ...

    错误异常:Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.12.4 from http://maven ...

  6. iOS7 自己定义动画跳转

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/Liar0606/article/details/26399125 简单介绍 在iOS7系统中,假设你 ...

  7. [LeetCode系列]有序链表转换为平衡BST的递归解法

    给定有序链表(元素由小到大), 试问如何将其转换为一个平衡BST? 平衡BST: 任意节点的左右子树的深度差值不大于1. 主要思想是用递归. Trick是使用快慢指针来获取中间节点. 获得中间节点后, ...

  8. WebApi和Andriod对接上传和下载文件

    我在实现webapi和Andriod客户端上传下载文件的时候默认的是以流的形式返回的,下面我就贴出最近在研究的对接文件的上传和下载代码以供各位大侠们参考: 上传文件接口: [HttpPost] pub ...

  9. php 常用方法

    //返回json数据给js function json_output($err_code = 0 , $error_message = '' , $data = [] , $redirect = '' ...

  10. linux(7)

    第十七单元 Samba服务 [本节内容]1. 掌握samba的功能: samba是一个网络服务器,用于Linux和Windows之间共享文件.2. 掌握samba服务的启动.停止.重启service ...