从源码构建Rust工具链

系统环境:Ubuntu 18.04 (x86_64)

1. 下载loongarch64-linux-gnu交叉编译工具链

wget http://ftp.loongnix.cn/toolchain/gcc/release/loongarch/gcc8/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.6.tar.xz
tar xf loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.6.tar.xz
mv loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.6 /opt/loongarch64-linux-gnu
wget https://ftp.loongnix.cn/toolchain/rust/rust-1.86/2025-04-09/abi1.0/loongarch64-linux-musl.tar.xz
tar xf loongarch64-linux-musl.tar.xz
mv loongarch64-linux-musl /opt/loongarch64-linux-musl

2. 下载cmake 3.20.0

wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0-linux-x86_64.tar.gz
tar xf cmake-3.20.0-linux-x86_64.tar.gz

3. 下载Rust源代码

以Rust 1.86.0为例

wget https://ftp.loongnix.cn/toolchain/rust/rust-1.86/2025-04-09/abi1.0/rustc-1.86.0-src.tar.xz
tar xf rustc-1.86.0-src.tar.xz

4. 配置环境变量

export PATH=/path/to/cmake-3.20.0-linux-x86_64/bin:/opt/loongarch64-linux-gnu/bin:/opt/loongarch64-linux-musl/bin:${PATH}
export CC_loongarch64_unknown_linux_gnu=loongarch64-linux-gnu-gcc
export AR_loongarch64_unknown_linux_gnu=loongarch64-linux-gnu-ar
export CXX_loongarch64_unknown_linux_gnu=loongarch64-linux-gnu-g++
export CC_loongarch64_unknown_linux_musl=loongarch64-linux-musl-gcc
export AR_loongarch64_unknown_linux_musl=loongarch64-linux-musl-ar
export CXX_loongarch64_unknown_linux_musl=loongarch64-linux-musl-g++

5. 安装编译依赖

cd rustc-1.86.0-src
sudo bash src/ci/docker/scripts/cross-apt-packages.sh

6. 写入Cargo配置文件

写入 ~/.cargo/config

[source.crates-io]
replace-with = 'loongnix'

[source.loongnix]
registry = "https://crates.loongnix.cn/crates.io-index"

7. 开始编译

cd rustc-1.86.0-src
./configure --release-channel=nightly --enable-lld --enable-cargo-native-static --enable-llvm-static-stdcpp --dist-compression-formats=xz
./x.py dist --build=x86_64-unknown-linux-gnu,loongarch64-unknown-linux-gnu,loongarch64-unknown-linux-musl --target=x86_64-unknown-linux-gnu,loongarch64-unknown-linux-gnu,loongarch64-unknown-linux-musl,loongarch64-unknown-none

8. 构建结果

构建文件位于build/dist目录内

©龙芯开源社区 all right reserved,powered by Gitbook文档更新时间: 2025-04-15 10:45:19

results matching ""

    No results matching ""

    results matching ""

      No results matching ""