Rustc-1.16.0

Introduction à Rust

Le langage de programmation Rust est conçu pour être un langage sûr, concurrent et pratique.

Comme avec tous les langages de programmation, rustc (le compilateur rust) requiert un binaire à partir duquel bootstraper. Il téléchargera un binaire stage0, et plusieurs fichier cargo (ce sont en fait des archives de source en .tar.gz) au début de la construction, donc vous ne pouvez pas le compiler sans connexion internet.

Le système de construction rustbuild actuel utilisera tous les processeurs disponible, bien qu'il ne passe pas bien à l'échelle et n'utilisera souvent qu'un cœur en attendant qu'une bibliothèque se compile.

Pour l'instant Rust ne fournit aucune garanti sur la stabilité de l'ABI et il est probable que les prochaines versions de firefox requerront la dernière version de Rust.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-8.0.

Informations sur le paquet

  • Téléchargement (HTTP) : https://static.rust-lang.org/dist/rustc-1.16.0-src.tar.gz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : c11d94d9e62f71838b20058f0797357a

  • Taille du téléchargement : 28 Mo

  • Estimation de l'espace disque requis : 1.5 Go (208 Mo installés) plus 118 Mo pour les fichiers cargo

  • Estimation du temps de construction : 14 SBU (avec 4 processeurs)

Dépendances de Rust

Requises

cURL-7.55.1, CMake-3.9.1 (si vous n'utilisez pas LLVM-3.9.1 recommandé), Python-2.7.13

Recommandées

Facultatives

GDB-8.0 (souvent requis pour la suite de tests, mais mais certains tests gdb peuvent encore échouer), Ninja-1.7.2

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/rust

Installation de Rust

Installez Rust en lançant les commandes suivantes :

./configure --prefix=/usr             \
            --llvm-root=/opt/llvm3    \
            --enable-llvm-link-shared \
            --docdir=/usr/share/doc/rustc-1.16.0 &&
./x.py build

La suite de tests dans ce paquet sélectionne un sous-ensemble aléatoire des tests possibles. Il n'y a pas de corrélation entre la longueur d'une exécution particulière de la suite de tests et le nombre de tests lancés. Parfois les tests choisis tourneront en bien moins que 1.0 SBU, et parfois en bien plus que 20 SBU. Bien qu'il soit normal de lancer la suite de tests pour un compilateur, dans ce cas elle est difficile à recommander.

Cependant, si vous insistez pour lancer les tests, lancez ./x.py test : comme pour la construction, cela utilisera tous les CPU disponibles.

Maintenant, en tant qu'utilisateur root :

test -f /usr/lib/libLLVM-3.9.so ||
  ln -sv /opt/llvm3/lib/libLLVM-3.9.so /usr/lib &&

./x.py dist --install

Explication des commandes

--llvm-root=/opt/llvm3 --enable-llvm-link-shared : Ceci dit à rust d'utiliser la version du système de llvm3 installée dans /opt/llvm3 pour se lier aux bibliothèques dynamiques.

--enable-dist-host-only : Si vous n'avez pas installé la version du système de LLVM-3.9.1, utilisez cette commande alternative pour construire la version statique de llvm incluse. Cela compilera les compilateurs croisés pour toutes les architectures Linux (Aarch64, MIPS, PowerPC, SystemZ, etc) mais avec ce paramètre, cela n'installera que pour l'architecture de l'hôte.

RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi" : utilisez ceci si vous avez besoin de lier une version de LLVM-3 qui a été compilée avec libffi-3.2.1.

ln -sv /opt/llvm3/lib/libLLVM-3.9.so /usr/lib : Bien que la construction de Rust trouve les bibliothèques partagées dans /opt/llvm3/lib, plusieurs étapes lancées par l'installeur rustbuild ne trouvent pas libLLVM-3.9.so. Ce lien symbolique conditionnel corrige cela et fonctionne même si libLLVM-3.9.{0,1} a déjà été installé dans /usr. Passez cette commande si vous n'avez pas installé une version du système de LLVM-3.9.1

Contents

Programmes installés: rust-gdb, rust-lldb, rustc, rustdoc.
Bibliothèques installées: Plusieurs bibliothèques (libarena, libflate, libfmt_macros, libgetopts, libgraphviz, liblog, libproc_macro, librustc*, libserialize, libstd, libsyntax, libterm, libtest), contenant toutes un hash dans leur nom.
Répertoires installés: ~/.cargo, /usr/lib/rustlib et /usr/share/doc/rustc-1.16.0.

Descriptions courtes

rust-gdb

est un script Python enveloppe pour gdb

rust-lldb

est un script Python enveloppe pour LLDB (le débogueur de LLVM)

rustc

est le compilateur rust.

rustdoc

génère de la documentation à partir de code source rust.

libstd-<16-byte-hash>.so

est la Bibliothèque Standard de Rust, le fondement des logiciels Rust portables.

Last updated on 2017-05-14 08:08:05 +0200