生产环境采用 tikv-client 的 rust 版本问题

客户端版本:
tikv-client 0.1.0

场景:

  1. 我们生产环境采用rust作为主研发语言
  2. 目前只使用raw模式的kv

问题:

  1. 目前的rust客户端是否能用在生产环境
  2. 还存在哪些问题

目前情况下客户端库编译出错

[版本信息]
rustc: 1.54.0
tikv-client: 0.1.0

[错误信息]
— stderr
CMake Warning at cmake/protobuf.cmake:51 (message):
gRPC_PROTOBUF_PROVIDER is “module” but PROTOBUF_ROOT_DIR is wrong
Call Stack (most recent call first):
CMakeLists.txt:254 (include)

请问使用的是什么系统?编译命令是什么?是否编译 master 分支?

目前没有进行生成环境测试,功能是足够生产使用的。可以参考一下 rust client roadmap https://github.com/tikv/client-rust/blob/master/doc/1.0-roadmap.md

目前是x86 centos
直接在项目中指定了tikv-client = “0.1.0”

我应该如何正确编译包

测试下这样引用 tikv-client = { git=“https://github.com/tikv/client-rust.git” }

同样的错误

应该是c++的库出了问题, 我自己尝试解一下

gmake[3]: *** [CMakeFiles/gpr.dir/src/core/lib/gpr/log_linux.cc.o] Error 1
gmake[3]: *** Waiting for unfinished jobs…
gmake[2]: *** [CMakeFiles/gpr.dir/all] Error 2
gmake[1]: *** [CMakeFiles/grpc.dir/rule] Error 2
gmake: *** [grpc] Error 2
thread ‘main’ panicked at ’
command did not execute successfully, got: exit status: 2

build script failed, must exit now’, /root/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/cmake-0.1.45/src/lib.rs:894:5
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

系统环境:
centos: 7.6 x86_64
gcc版本: 4.8.5

解决方案:
升级gcc版本到7.5

建议:
建议在readme中加上gcc要求的最低版本

2 个赞

ReadMe 终于添加了 cmake、gcc、rust 最低版本要求:https://github.com/tikv/client-rust#prerequisites

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。