Rust ist Krebs

Rust ist Krebs#

tldr: Rust ist nur auf einer Teilmenge der Geräte auf denen Python läuft einfach installierbar. Rust dependencies in Python Libs verkleinern die Menge der Geräte auf denen Python Programme funktional sind. Dadurch kontaminiert eine Rust Dependency irgendwo in den Abhängigkeiten das ganze Tool und macht es auf einem Teil der Geräte unbrauchbar, auf denen Python sonst einwandfrei läuft.

Analogie für nicht ITler: Stell dir vor du gehst ins Autokino, aber der Ton kommt über DAB Radio. Leider hat nicht jedes Auto ein DAB Radio und du bist nun zwar im Autokino und hast gezahlt - kannst aber den Ton zum Film nicht hören.

Bis vor kurzem war Termux auf dem Handy eine tolle mobile Linux Umgebung.

Viele C Programme haben kompiliert, Ruby lief, Python lief - super. Python C Extensions liefen. Alles gut.

Aber irgendwann ging es los:

$ pip install irgendwas
[...]
running build_rust                                                               error: rustup could not choose a version of rustc to run, because one wasn't specified explicitly, and no default is configured.
            help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.
            error: can't find Rust compiler

Und

$ pkg install rust
$ rustup default stable
info: syncing channel updates for 'stable-aarch64-linux-android'
info: latest update on 2024-11-28, rust version 1.83.0 (90b35a623 2024-11-26)
error: target 'aarch64-linux-android' not found in channel.  Perhaps check https://doc.rust-lang.org/nightly/rustc/platform-support.html for available targets
$

Ja, und das ist es nun. Ohne fettes Gefrickel scheine ich nun immer mehr Python libs nicht mehr benutzen zu können. Und als Dependency einer Dependency kommt das inzwischen viel zu häufig vor.

Völlig unabhängig von der Sprache ist es halt dumm, für etwas mehr Performance Gruppen von Usern den Stinkefinger zu zeigen.