OpenEuler 操作系统
配置rust字节镜像链接
export RUSTUP_DIST_SERVER="https://rsproxy.cn"
export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup"
官方脚本
curl https://sh.rustup.rs -sSf | sh
配置环境变量到当前终端
source $HOME/.cargo/env
在~/.cargo/config文件写入,加速Crate.io
[source.crates-io]
replace-with = 'rsproxy'
[source.rsproxy]
registry = "https://rsproxy.cn/crates.io-index"
根据官方指南
git clone https://gitee.com/openeuler/stratovirt.git
cd stratovirt
cargo build --release
error: linking with `cc` failed: exit status: 1
|
= note: "cc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-Wl,--as-needed" "-L" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.0.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.1.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.10.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.11.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.12.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.13.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.14.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.15.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.2.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.3.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.4.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.5.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.6.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.7.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.8.rcgu.o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.build_script_build.b3mrljdp-cgu.9.rcgu.o" "-o" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28" "/root/myStratoVirt/stratovirt/target/debug/build/bitflags-02fc4693344dac28/build_script_build-02fc4693344dac28.4o8qt7ort0bv98a8.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/root/myStratoVirt/stratovirt/target/debug/deps" "-L" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-Wl,--start-group" "-Wl,-Bstatic" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd-2f0b59bce8e4409b.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libpanic_unwind-79937357861ed704.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libminiz_oxide-1534dc117f75a428.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libadler-7a75071fd09f14c5.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libobject-e36f746ab228ea43.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libaddr2line-522a452dde874831.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libgimli-5fbaa4cb5078dffd.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libstd_detect-8a8b11a44f07d7ca.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_demangle-2a8e33a44a1885a6.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libhashbrown-665eb61d232954e5.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-e813bddc627043b1.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libunwind-aa67144a76f9a282.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcfg_if-32be12cbfea7597c.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liblibc-472199e25bfa1e47.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/liballoc-af1b67343e3b6064.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/librustc_std_workspace_core-d7f65e11001c161b.rlib" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcore-d7926f131590f689.rlib" "-Wl,--end-group" "/root/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcompiler_builtins-8e0dea81c2814a1a.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-lgcc" "-lfdt"
= note: /usr/bin/ld: cannot find -lfdt
collect2: error: ld returned 1 exit status
报错原因应该是缺少libfdt
经过网上查询,类似这种错误cannot find -lxxx
,都是缺少libxxx
库,尝试执行
yum install libfdt
发现下载了dtc这个包,但是依旧编译不成功,这里还需安装dtc-devel包,
yum install dtc-devel
也就是说解决note: /usr/bin/ld: cannot find -lfdt
问题需要安装dtc
和dtc-devel
两个包
yum install dtc
yum install dtc-devel
随后编译成功
为了提高yum速度,我更换了yum源。上述yum下载是在换源之后,可参考链接