Symptome und Geltungsbereich
- Eine vorhandene Programmdatei meldet fehlenden Interpreter oder den NixOS-Stub-Loader.
- Bibliotheken in systemPackages erfüllen nicht automatisch seinen allgemeinen Suchpfad.
Betroffene Umgebung
NixOS mit extern verteilten dynamisch gelinkten ELF-Programmen; Architektur und ABI müssen ebenfalls passen.
Erkennbare Meldungen (synthetische Beispiele)
Could not start dynamically linked executable: /home/example/vendor/bin/toolDies verweist auf Umgebungsannahmen; prüfe den ELF-Interpreter vor der Annahme eines Anwendungsabsturzes.
Mögliche Ursachen
Das sind mögliche Erklärungen, keine bestätigte Diagnose. Mehrere unabhängige Fehler können gleichzeitig vorliegen.
- Das Programm kann einen üblichen /lib-Loader anfordern, der unter NixOS fehlt oder durch einen Stub ersetzt ist.
- Seine Bibliothekssuchpfade können den Nix-Store nicht enthalten; eine falsche Architektur ist ein eigener möglicher Fehler.
Sicher prüfen
Führe jeweils einen Befehl in der passenden Sitzung aus. Lies zuerst die Erklärung. Großgeschriebene Platzhalter brauchen deine Werte; Werkzeuge und Rechte unterscheiden sich je nach Distribution. Die Website zeigt Befehle an und führt sie niemals aus.
Prüfschritt 1
Ersetze den Pfad durch das Programm; readelf aus binutils liest es ohne Ausführung.
readelf -l /path/to/programErgebnis einordnen: Das INTERP-Segment nennt den angeforderten Loader. Ohne Segment kann die Datei statisch oder ein anderer Dateityp sein; prüfe den ELF-Header.
Prüfschritt 2
Nutze dieselbe Datei auch bei ungeklärter Herkunft; die Metadatenprüfung startet weder Loader noch Programm.
readelf -d /path/to/programErgebnis einordnen: NEEDED und RPATH/RUNPATH nennen Abhängigkeiten und Suchannahmen. Globale Paketinstallation schreibt diese Felder nicht um.
Nächste Schritte nach Befund
Ein Nix-kompatibles Paket nutzen oder erstellen
Nutze nach Möglichkeit das vorgesehene Nixpkgs-Paket. Verpacke sonst das geprüfte Upstream-Programm mit passenden Abhängigkeiten und autoPatchelfHook oder baue aus Quellen für korrekte Laufzeitverweise.
Vorsicht: Bewahre das Originalprogramm zum Vergleich unverändert auf und prüfe Lizenz und Quellidentität. Erstelle keine beliebigen globalen Loader-Symlinks.
Wiederherstellung / Rücknahme: Entferne den eigenen Paketverweis und stelle frühere Konfiguration oder Paketversion zurück; behalte Originalartefakte.
Hat dir dieser Hinweis geholfen?
Eine gezielte Kompatibilitätsumgebung verwenden
Wenn das Programm weitere Binärdateien lädt oder schwer paketierbar ist, nutze einen dokumentierten buildFHSEnv-Wrapper oder bewusst nix-ld mit benötigten Bibliotheken. Begrenze dies auf vorgesehene Architektur und Ablauf.
Vorsicht: nix-ld emuliert keine Architektur und garantiert keine ABI-Kompatibilität. Seine Bibliotheken gehören in die dokumentierte Vorgabe, nicht nur environment.systemPackages.
Wiederherstellung / Rücknahme: Entferne den Wrapper oder stelle nix-ld-Werte zurück und melde dich neu an für die früheren Umgebungsvariablen.
Hat dir dieser Hinweis geholfen?
Quellen und Prüfung
Diese Anleitung basiert auf Originalquellen von Projekten oder Distributionen und wurde am genannten Datum redaktionell geprüft. Das ist eine Quellenprüfung, kein Nachweis einer auf deiner Hardware reproduzierten Lösung. Log-Beispiele sind synthetische Testdaten. Versionsabhängige Details müssen zur installierten Ausgabe passen.
- nix.dev FAQ — running non-Nix executables (Projekt- oder Distributionsdokumentation)
- Official NixOS Wiki — nix-ld (Projekt- oder Distributionsdokumentation)