龙芯电脑编译redis (loongarch)
1、获取源码
源码地址:https://redis.io/download/#redis-downloads
最新版本是7.2,这里用redis5测试,最后一个版本是5.0.14
wget https://download.redis.io/releases/redis-5.0.14.tar.gz
tar -zxvf redis-5.0.14.tar.gz
cd redis-5.0.14/
2、修改源码
redis 用到了jemalloc库,如果不更新redis 7源码自带的config.guess和config.sub文件,会在编译redis 源码的过程中提示include jemalloc的头文件失败(zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory)
这里需要修改以下源码才可以编译:
cd /redis-5.0.14/deps/jemalloc/build-aux vi config.sub
然后在以下地方新增以下内容:
145行修改为:
-mips* | -loongarch*
275行修改为:
| mips64 | mips64el | loongarch64 \
402行修改为:
| mips64-* | mips64el-* | loongarch64-* \
1632行新增:
loongarch*-*) os=-elf ;;
vi config.guess
1006行新增以下内容:
loongarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;;
以上内容均为编译中增加对loongarch架构的支持
3、编译
直接在源码下make
cd /opt/redis-5.0.14/ make
编译完成后,可执行文件在源码的/src目录下
4、镜像制作
制作方法有很多钟,我这里编译完成后直接将科执行文件导入现有容器中进行了制作,参考Dockerfile文件如下:
FROM lshxb/redis:5.0.14 WORKDIR /opt/redis EXPOSE 6379 CMD ["./redis-server","./redis.conf"]