常见问题 (FAQ)¶
Env Issues¶
ERROR: python3 is missing modules: elftools
运行 init_env_inside_docker.sh 时出错:
虚拟环境没有退出,编译 spdk 的时候找到了虚拟环境的 elftools,退出 docker 重进就好了。
Network Issues¶
installing go v1.21.1 to /opt/go/1.21.1/bin gzip: stdin: unexpected end of file
运行 init_env_inside_docker.sh 时出错:
<RecStore Path>/third_party/spdk/scripts/pkgdep/common.sh: line 210: go: command not found
installing go v1.21.1 to /opt/go/1.21.1/bin
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now
下不下来 go 安装包,手动下载然后 sudo tar -C /opt/go -xzf go1.21.1.linux-amd64.tar.gz 再 export PATH=$PATH:/opt/go/go/bin 就好了。
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
运行 init_env_inside_docker.sh 时出错:
Cloning into '/usr/src/markdownlint'...
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
error: 1176 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
可以手动 clone:
CMake Errors¶
By not providing 'Findcpptrace.cmake' in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by 'cpptrace'
cmake 编译时出错:
CMake Error at src/base/CMakeLists.txt:4 (find_package):
By not providing "Findcpptrace.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "cpptrace",
but CMake did not find one.
Could not find a package configuration file provided by "cpptrace" with any
of the following names:
cpptraceConfig.cmake
cpptrace-config.cmake
...
-- Configuring incomplete, errors occurred!
没有运行 init_env_inside_docker.sh 中 step_cpptrace 部分。
以及其他相关错误,大部分情况都是因为没有运行 init_env_inside_docker.sh 中的安装部分。
error: there are no arguments to ‘malloc_usable_size’ that depend on a template parameter, so a declaration of ‘malloc_usable_size’ must be available [-fpermissive]
运行 init_env_inside_docker.sh 时出错:
In file included from <RecStore Path>/third_party/folly/folly/IPAddress.cpp:28:
<RecStore Path>/third_party/folly/folly/small_vector.h: In member function ‘auto folly::small_vector<T, M, P>::AllocationSize::operator()(void*) const’:
<RecStore Path>/third_party/folly/folly/small_vector.h:1346:14: error: there are no arguments to ‘malloc_usable_size’ that depend on a template parameter, so a declaration of ‘malloc_usable_size’ must be available [-fpermissive]
1346 | return malloc_usable_size(ptr);
| ^~~~~~~~~~~~~~~~~~
这个在新的版本已经修复了,如果仍然出现可以参考:
Runtime Errors¶
E20260117 01:49:19.761556 970021 engine_extendible_hash.h:88] shm malloc failed (OOM?), key: 93068 size: 512
配置文件中 cache_ps.base_kv_config.capacity 设置过小,导致无法分配足够的共享内存,可以尝试调大该值。