-
Notifications
You must be signed in to change notification settings - Fork 330
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
鲲鹏ARM下编译错误 #75
Comments
我也出现了一样的错误 我尝试着找了一些方案,看到其中一个解释是这么说的 The C and C++ standards allows the character type char to be signed or unsigned, depending on the platform and compiler. Most systems, including x86 GNU/Linux and Microsoft Windows, use signed char, but those based on PowerPC and ARM processors typically use unsigned char.(29) This can lead to unexpected results when porting programs between platforms which have different defaults for the type of char. |
The compile problem has been fixed. Please checkout the latest version. |
新版本未解决,需手动将src/tendisplus/utils/base64.cpp中的DecodeTable与ch变量的定义新增signed |
我也在鲲鹏arm上编译,基于centos8.3.2011(docker),由于gcc版本较高,遇到较多问题,整理了一下,有遇到类似问题的可以参照一下。Centos8编译Tendis1 编译Tendis1 安装基础环境yum install -y python38-devel gcc-c++ flex bison tbb-devel numactl-devel autoconf diffutils 2 下载tendis源码
3安装doxygen库
4编译tendis
5 编译错误处理1 Werror报错
在build.make同目录下的flags.make中增加忽略选项,形如-Wno-error=class-memaccess。主要有
2 代码报错(1)
修改/opt/Tendis/src/tendisplus/utils/test_util.cpp,将RocksKVStore传参中nullptr前加block_cache 3 链接报错(1)
由于缺少libstdc++.a文件,故将build.make同目录中的link.txt中的-static-libstdc++ 改成 -lstdc++。主要有以下文件: src/tendisplus/server/CMakeFiles/tendisplus.dir/link.txt src/tendisplus/replication/CMakeFiles/binlog_tool.dir/link.txt src/tendisplus/cluster/CMakeFiles/cluster_test.dir/link.txt 2 编译redis-cli1 获取redis稳定版并解压
2 编译
3 报错处理如果报错:jemalloc/jemalloc.h:没有那个文件或目录,可以尝试如下编译: make MALLOC=libc 报错原因: 3 提取程序1 提取tendis
2 提取redis-cli
3 导出程序文件夹使用docker cp命令拷出/opt/tendis-v2.4.2-rocksdb-v5.13.4 4 编译docker镜像1.从官方镜像提取脚本文件,从tencentdbforkv/tendisplus:v2.4.0镜像中提取/data1/tendis/scripts文件夹,放在tendis-v2.4.2-rocksdb-v5.13.4目录 2.还原官方Dockerfile文件,并按需修改
3.编译docker镜像。也可以直接拉这个arm版本镜像,用法和官方一致。 |
参考这个issue: |
鲲鹏ARM下编译错误
代码是最新的dev-2.2分支代码,


gcc版本为7.3.0
The text was updated successfully, but these errors were encountered: