Vous êtes ici

Ajouter WebAssembly aux paquets Rust sur CentOS/RHEL 8.1-8.3

Objectifs : ajouter WebAssembly aux versions pré-empaquetées de Rust (sur Linux CentOS/RHEL 8.1 - 8.3).

La solution recommandée pour utiliser Rust sur systèmes UNIX est l'outil rustup, qui permet de facilement télécharger les versions supportées du compilateur et de ses toolchains.

Cependant, Linux CentOS/RHEL 8 fournit ses propres versions de Rust sous la forme de paquets AppStream.
Ces versions n'ont malheureusement pas la capacité de produire du WebAssembly; la cible wasm32-unknown-unknown ne fonctionne pas avec eux.

Ci-dessous les mêmes versions des paquets, similaires en tous points, à l'exception qu'ils supportent WebAssembly :

Cent0S/RHEL 8.1

* Rust 1.39.0 : rust1.39.0-WebAssembly_CENTOS81.zip (150 Mo)

CentOS/RHEL 8.2

* Rust 1.41.1 : rust1.41.1-WebAssembly_CENTOS82.zip (158 Mo)

CentOS/RHEL 8.3

* Rust 1.45.2 : rust1.45.2-WebAssembly_CENT0S83.zip (219 Mo)

* Rust 1.47.0 : rust1.47.0-WebAssembly_CENT0S83.zip (236 Mb)

Installation (en tant que root) :

1) Installer Rust normalement, à partir du dépôt officiel :
yum -y install rust rls
2) Télécharger la bonne archive ci-dessus, l'extraire et se déplacer dans son répertoire :
unzip rust*-WebAssembly*.zip
cd rust*-WebAssembly*

3) Taper ces commandes :
rpm -Uvh llvm/llvm-libs* llvm/llvm-[0-9]* llvm/llvm-devel* llvm/lld-libs* llvm/lld-[0-9]* --force
rpm -Uvh rust/rust-std-static* rust/rust-[0-9]* rust/rust-analysis* rust/rls* --force
tar xfvj rust/rust*-wasm32-unknown-unknown.tar.bz2 -C /usr/lib/rustlib/


Utilisation :

Vérifier :
llvm-config --targets-built | grep WebAssembly
Compiler :
rustc -C linker=lld --target wasm32-unknown-unknown test.rs -o test

Et voilà !