Closed skyformat99 closed 1 week ago
具体你执行了什么命令,遇到了什么错误呢?
直接编译应该 clone 以后运行 make
就结束了,不需要其他步骤。
环境安装了前面2个,PyO3没有成功; 然后 make 出现如下错误:
info: installing component 'rustfmt'
Updating git repository https://github.com/GreptimeTeam/greptime-proto.git
error: failed to get greptime-proto
as a dependency of package api v0.8.2 (/home/greptimedb/src/api)
Caused by:
failed to load source for dependency greptime-proto
Caused by: Unable to update https://github.com/GreptimeTeam/greptime-proto.git?rev=a70a6af9c69e40f9a918936a48717343402b4393#a70a6af9
Caused by: failed to clone into: /root/.cargo/git/db/greptime-proto-0d706cb4f2875a52
Caused by:
network failure seems to have happened
if a proxy or similar is necessary net.git-fetch-with-cli
may help here
https://doc.rust-lang.org/cargo/reference/config.html#netgit-fetch-with-cli
Caused by: SSL error: unknown error; class=Ssl (16) make: *** [Makefile:73: build] Error 101
这个是众所周知的网络问题导致的,编译过程中包括 Git 类型的依赖。
可以尝试 CARGO_NET_GIT_FETCH_WITH_CLI=true make
试试,或者终端设置 proxy ..
谢谢;还是出现编译错误了:
rustc-LLVM ERROR: IO failure on output stream: No space left on device
error: could not compile datafusion-optimizer
(lib)
warning: build failed, waiting for other jobs to finish...
rustc-LLVM ERROR: IO failure on output stream: No space left on device
rustc-LLVM ERROR: IO failure on output stream: No space left on device
error: could not compile statrs
(lib)
error: could not compile datafusion-physical-plan
(lib)
rustc-LLVM ERROR: IO failure on output stream: No space left on device
error: could not compile sqlparser
(lib)
error: couldn't create a temp dir: No space left on device (os error 28) at path "/home/greptimedb/target/debug/deps/rmetafqIYEa"
error: could not compile datafusion
(lib) due to 1 previous error
error: couldn't create a temp dir: No space left on device (os error 28) at path "/home/greptimedb/target/debug/deps/rmetaM5W1xq"
error: could not compile datafusion
(lib) due to 1 previous error
这个字面意思就是磁盘空间用完了,清理一下磁盘或者换个容量大的机器?
增加了空间,编译,还是有错误啊:
cargo build --locked --bin greptime
Compiling cmd v0.8.2 (/home/greptimedb/src/cmd)
error: linking with cc
failed: exit status: 1
|
= note: collect2: fatal error: ld terminated with signal 9 [Killed] compilation terminated.
error: could not compile cmd
(bin "greptime") due to 1 previous error
make: *** [Makefile:73: build] Error 101
= note: collect2: fatal error: ld terminated with signal 9 [Killed]
表示链接器进程被 kill -9 终止了? 猜测可能是因为进程超出了可用的内存或 CPU 资源。
确保你有足够的内存。或者尝试使用 mold
,它在链接阶段需要更少的内存。
用的virtualbox的虚拟机, cpu 6核, 内存8G, 这编译要求有点太高了
对编译一个数据库来说这个要求还算好吧,8G 编 MySQL 也够呛。我们也提供预编译的二进制可以直接使用 https://greptime.com/download 。实在是要编译的话多加点 swap 慢慢等也可以。
如果没其他的问题就先关闭这个 issue 了。
目前编译成功了,O(∩_∩)O 就是过程有点麻烦
好,恭喜 🚀
目前又2个时序数据库感觉可以。一个是 tdengine,一个是这个 greptime 那个td编译起来相对简单点,用c开发的; 这个是rust开发的,编译比较磕磕绊绊的,建议改进改进,要不分割多个小模块也行啊
Move to discussion as it's not an issue anyway.
What type of enhancement is this?
User experience
What does the enhancement do?
编译过程有点复杂啊,搞了半天也不成功; 能不能详细一点啊, 从安装环境开始,编译说明过于简单了点啊,最好补充每个步骤的,特别是环境准备这块
Implementation challenges
No response