运维开发网

make redis出现错误可能原因

运维开发网 https://www.qedev.com 2020-04-09 17:29 出处:网络 作者:运维开发网整理
make: * No rule to make target 错误原因、分析和解决办法 上面博客其中红字部分: 最后发现,上述问题的产生的根本原因是工程更改路径或者更改了其中的文件夹名称之后,之前生成的.o.d文件在再次编译时并不会重新编译,因而导致该问题。根源解决办法是 删除编译后生成的obj文件夹。然后重新编译就行了。 所谓的删除obj文件夹只需要用 make clean 清理一下make时生

make: * No rule to make target 错误原因、分析和解决办法

上面博客其中红字部分:

最后发现,上述问题的产生的根本原因是工程更改路径或者更改了其中的文件夹名称之后,之前生成的.o.d文件在再次编译时并不会重新编译,因而导致该问题。根源解决办法是 删除编译后生成的obj文件夹。然后重新编译就行了。

所谓的删除obj文件夹只需要用

make clean

清理一下make时生成的中间文件就行了(比如.o文件),并不是要删除什么具体的文件夹。

结合centos7安装redis时的情况,因为我们要搭建Redis Cluster时肯定要安装多个redis。

1.使用tar -zxvf redis-stable.tar.gz对它进行解压。

2.cd进入 redis-stable文件夹。

3.执行make PREFIX=/usr/local/redis1 install这句。

我们就安装好一个redis了,但是如果要再安装一个redis在/usr/local/redis2文件夹下,再执行make PREFIX=/usr/local/redis2 install就不行了,会报错。

有一个笨办法就是删除解压后的文件夹在重新解压一次,向上面1、2、3步一样重新make。

正确的做法是先使用make clean清理上次编译安装时生成的中间文件,再执行make PREFIX=/usr/local/redis2 install。

还有要注意的一点是记得安装gcc和gcc-c++,还要注意gcc的版本,用gcc -v来查看当前安装的gcc版本,版本过低(一般需要4.0以上)的话编译redis3.0以上的是会出错的。

yum install gcc
 yum install gcc-c++

有可能还要安装tcl(如果make test出现You need tcl 8.5 or newer in order to run the Redis test的话)

yum install tcl
0

精彩评论

暂无评论...
验证码 换一张
取 消