Tikv编译报错,怎么解决,6.10版本的

【 TiDB 使用环境】生产环境
【 TiDB 版本】TIKV 6.10
【复现路径】编译cargo build
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

[root@localhost tikv-6.1.0]# cargo build
Compiling raft-proto v0.7.0 (GitHub - tikv/raft-rs: Raft distributed consensus algorithm implemented in Rust.)
Compiling kvproto v0.0.2 (GitHub - pingcap/kvproto: Protocol buffer files for TiKV)
Compiling tipb v0.0.1 (GitHub - pingcap/tipb: TiDB protobuf)
Compiling tempfile v3.2.0
error: failed to run custom build command for kvproto v0.0.2 (https://github.com/pingcap/kvproto.git#0e2f26c0)

Caused by:
process didn’t exit successfully: /home/yjf/tikv-6.1.0/target/debug/build/kvproto-6e702559b5f5433a/build-script-build (exit status: 101)
— stderr
thread ‘main’ panicked at ‘called Option::unwrap() on a None value’, /root/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/protobuf-build-0.13.0/src/protobuf_impl.rs:48:71
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish…
error: build failed

感觉像是有的依赖被删了?这种情况怎么避免?

thread ‘main’ panicked at ‘called Option::unwrap() on a None value’, /root/.cargo/registry/src/rsproxy.cn-8f6827c7555bfaf8/protobuf-build-0.13.0/src/protobuf_impl.rs:48:71

是不是版本不对

我后来开vpn编译成功了,感觉是网的问题

cargo offline 好像还不是太成熟,我现在的做法是用 cargo vendor 把依赖下载到工程的vendor目录下,然后再编译的时候

export CARGO_HOME=./vendor
就是参考

第二种方案

1 个赞

我就是用的第二种方案,把vendor拷贝进内网机器以后,cargo build还是会尝试访问github

然后,将·cargo vendor 命令打印至【标准输出】的配置代码(如下)·复制到.cargo/config.toml 配置文件内。

[source.crates-io]
replace-with = "vendored-sources"
[source."https://github.com/shadowsocks/crypto"]
git = "https://github.com/shadowsocks/crypto"
branch = "master"
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"

还有这种操作,都处理了吗?
如果都处理了,还访问github,那我也不知道怎么搞了,我至少目前能编译过。我的环境也不是绝对不能上网,就是编译机有些外网的包无法读取到。

不行,弄了很久还是不行,最后是把整个root目录下面的.cargo都拷贝到内网去,才编译成功的;感觉这个方式走的是cargo的缓存才编译成功,并没有识别vendor目录,如果删掉.cargo缓存,就不能编了,又得访问github

1 个赞

这个是重点,其实相当于把 cargo 的缓存目录指定到了 vendor下面。

这个我也改了,一样的,还是会去github下

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