Ubuntu 16.04编译Redis 4.0.9时遇hiredis依赖编译错误求助
解决Redis 4.0.9在Ubuntu 16.04上的编译错误
我之前在Ubuntu 16.04上编译Redis旧版本时也碰到过类似的hiredis依赖编译问题,这个错误cc: error: x86_64: No such file or directory一般是编译环境不完整、残留的编译缓存干扰,或者编译器参数配置有误导致的。可以按以下步骤逐一排查解决:
1. 补全基础编译工具链
Ubuntu默认可能没有安装全部编译依赖,先安装核心编译组件:
sudo apt-get update && sudo apt-get install build-essential
这个包会包含gcc、make、libc6-dev等编译Redis必需的工具。
2. 彻底清理编译残留后重新编译
之前的编译缓存可能已经损坏,先完全清理所有生成文件:
# 回到Redis主目录 cd /user/HS104/m09170/redis/redis-4.0.9 # 清理所有编译产物和依赖缓存 make distclean # 重新执行编译 make
3. 检查并重置编译器环境变量
有时候环境变量CC可能被错误配置成了带多余参数的命令,比如不小心添加了x86_64作为无效参数。先检查当前配置:
echo $CC
如果输出不是纯gcc(比如显示gcc x86_64),就重置环境变量:
export CC=gcc
之后回到Redis目录重新执行make即可。
4. 手动编译hiredis依赖
如果上面的方法都无效,可以单独编译hiredis依赖,再继续编译Redis:
# 进入hiredis依赖目录 cd deps/hiredis # 清理残留编译文件 make clean # 手动编译并安装依赖 make && make install # 回到Redis主目录继续编译 cd ../.. make
如果还是有问题,可以执行uname -m确认系统架构是否为x86_64——Ubuntu16.04大部分发行版都是该架构,若为其他架构则需要修改Redis Makefile中的对应参数,但这种情况概率极低。
内容的提问来源于stack exchange,提问作者mxbi
相关产品推荐
相关产品推荐

