跳转至

常见问题 (FAQ)

Env Issues

ERROR: python3 is missing modules: elftools

运行 init_env_inside_docker.sh 时出错:

buildtools/meson.build:14:31: ERROR: python3 is missing modules: elftools

虚拟环境没有退出,编译 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.gzexport 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:

git clone git@github.com:DavidAnson/markdownlint.git /usr/src/markdownlint

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.shstep_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 设置过小,导致无法分配足够的共享内存,可以尝试调大该值。