iris-rea-recherche: Installation scheitert auf Macs ohne Python ab 3.10 im Suchpfad #370
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/iris-plugins#370
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Befund
iris-rea-recherchelässt sich auf dem MacBook nicht installieren (Meldung dazu liegt noch nicht vor; das MacBook war per SSH nicht erreichbar). Belegt ist ein realistischer Fehlerfall im Hookpost_install: Er nahm das erstepython3aus dem Suchpfad und brach mit „unblob braucht Python 3.10 oder neuer“ ab, wenn dort nur das Systempython des Mac (3.9.6) liegt. Er suchte nirgends nach einem anderen Python und installierte auch keins. Nachgestellt mit dem echten Hook und einem Suchpfad/usr/bin:/bin.Unbestätigt: dass dies die Ursache auf dem MacBook ist. Weitere denkbare Ursachen:
iris-ghidra(Abhängigkeit) schlägt dort noch fehl (0.2.2 behebt den Loader-Fehler mit Ghidra 12.2, auf dem MacBook ungeprüft), ein Homebrew-Schritt scheitert, ein Zeitlimit des Installers.Ziel
Der Hook findet ein Python ab 3.10 (Homebrew-Ordner, dann Suchpfad), installiert sonst
python@3.13per Homebrew und ersetzt ein altes venv mit zu altem Python.Warum
Eine frisch eingerichtete Maschine hat oft nur das Systempython.
PR #371 gemergt: fix(iris-rea-recherche): Hook sucht ein Python ab 3.10 oder installiert eins (0.1.1) (#370)
http://docker:3000/iris/iris-plugins/pulls/371
Commits:
iris-rea-recherche0.1.1 ist veröffentlicht: Der Hook findet ein passendes Python oder installiert eins.Befund: Die Installation auf dem MacBook scheiterte; die Fehlermeldung dort liegt mir nicht vor (MacBook per SSH nicht erreichbar), die Ursache ist unbestätigt. Belegt ist ein realistischer Fehlerfall: Der Hook nahm das erste
python3aus dem Suchpfad und brach mit „unblob braucht Python 3.10 oder neuer“ ab, wenn dort nur das Systempython des Mac (3.9.6) liegt. Nachgestellt mit dem echten Hook und einem Suchpfad/usr/bin:/bin. Weitere denkbare Ursachen:iris-ghidra(Abhängigkeit) schlägt auf dem MacBook noch fehl (0.2.2 behebt den Loader-Fehler mit Ghidra 12.2, dort ungeprüft), ein Homebrew-Schritt scheitert, ein Zeitlimit des Installers.Geändert:
python@3.13per Homebrew. Ein vorhandenes venv mit zu altem Python wird ersetzt.sourceladen (kein Lauf beim Laden),REA_BREWüberschreibt das brew-Programm für Tests.PLAN.mdmit Lessons Learned.Geprüft: 221 Tests grün (10 neu, einer übersprungen: der Fall ohne Homebrew). Drei Regeln ausgebaut (Homebrew-Ordner wird nicht durchsucht, zu altes Python gilt als ok, altes venv bleibt): die Tests wurden rot. Der Zweig „kein Python vorhanden“ ist mit einem vorgetäuschten
brewgetestet (Installation, Fehlschlag, Python fehlt danach). Der echte Hook aus dem gebauten Paket in einer frischen Umgebung (Suchpfad nur/usr/bin:/bin, Systempython 3.9, leeresREA_HOME): Er findet das Python 3.13 von Homebrew, legt das venv an, installiertunblob26.6.4, Exit-Code 0,doctoraus dem Paket sieht alles. Dry-Run bestanden, Registry nach dem Pull geprüft (0.1.0, 0.1.1;requires: iris-ghidra, dort 0.2.2).Nicht geprüft: Der Zweig, in dem Homebrew
python@3.13wirklich installiert (nur mit vorgetäuschtembrew; auf diesem Mac ist ein Python vorhanden). Die Installation auf dem MacBook selbst.Offen: Die genaue Fehlermeldung vom MacBook (Text oder Screenshot der Plugin-Karte). Falls 0.1.1 dort nicht installiert, ist es eine andere Ursache.
PR #372 gemergt: fix(iris-rea-recherche): nur Python 3.10 bis 3.14, Fehlergrund in der ersten Zeile (0.1.2) (#370)
http://docker:3000/iris/iris-plugins/pulls/372
Commits:
iris-rea-recherche0.1.2 ist veröffentlicht: nur Python 3.10 bis 3.14, und der Grund eines Fehlers steht vorn.Neuer Befund (Screenshot der Plugin-Karte vom MacBook):
iris-ghidra0.2.2 ist dort installiert (#367 damit dort behoben). Beiiris-rea-recherche0.1.1 kommt der Hook bis nach den Homebrew-Formeln (alle vorhanden) und bricht dann bei einer Zeile ab, die mit „→ p“ beginnt. Die Karte zeigt nur die ersten rund 200 Zeichen der Ausgabe. Bei einem schon vorhandenen venv ist die nächste Ausgabezeile→ pip install unblob==…:pipscheitert auf dem MacBook, und das venv stammt vom ersten Versuch mit 0.1.0.Vermutete Ursache (unbestätigt): Das venv wurde mit dem damaligen
python3angelegt. Ist das inzwischen Python 3.15, gibt es fürunblobkeine fertigen Pakete (pip download --only-binaryfürunblob==26.6.4: Python 3.10 bis 3.14 vollständig, 3.15 nicht,lz4undlieffehlen), und 0.1.1 ersetzte ein venv nur bei einem zu alten Python, nicht bei einem zu neuen. Geprüft ist auch: macOS 11 bis 15 sowie Intel haben fertige Pakete, daran liegt es nicht.Geändert:
brew install python@3.13.~/.hermes/iris-rea-recherche/install.log). Bei einem Fehler steht der Grund in der ersten Zeile (danach Log-Pfad und die letzten Zeilen), beipipmit Python-Version, macOS-Version und der pip-Meldung. Grund: Die Plugin-Karte zeigt nur den Anfang.PLAN.mdmit Lessons Learned.Geprüft: 229 Tests grün (8 neu, zwei übersprungen). Sechs Regeln ausgebaut (Obergrenze des Python-Bereichs, Grund hinten statt vorn, pip-Meldung fehlt, sowie die drei aus 0.1.1): die Tests wurden rot; eine Gegenprobe war zuerst wirkungslos (Anführungszeichen) und wurde wiederholt. Neu getestet als ganzes Skript: Fehler in der ersten Zeile und im Log, Erfolg,
pip-Fehler mit allen Angaben, venv mit Python 3.15 oder 3.9 wird ersetzt. Der echte Hook aus dem gebauten Paket mit einem vorhandenen venv mit Python 3.9.6: wird ersetzt,unblob26.6.4 installiert, Exit-Code 0. Dry-Run bestanden, Registry nach dem Pull geprüft (0.1.0, 0.1.1, 0.1.2).Nicht geprüft: Die Python-Version des MacBook (ob es wirklich 3.15 ist) und die Installation dort. Ein echtes Python 3.15 habe ich nicht (hier ist 3.14 das neueste); die Fälle „3.15“ sind mit einem vorgetäuschten Python getestet. Der Zweig, in dem Homebrew
python@3.13wirklich installiert.Offen: Erneut auf dem MacBook installieren. Scheitert es weiter, steht der Grund jetzt in der ersten Zeile der Meldung;
~/.hermes/iris-rea-recherche/venv/bin/python3 --versionundinstall.logklären den Rest.PR #373 gemergt: fix(iris-rea-recherche): libmagic installieren, abgestürzten unblob benennen (0.1.3) (#370)
http://docker:3000/iris/iris-plugins/pulls/373
Commits:
iris-rea-recherche0.1.3 ist veröffentlicht:libmagicwird mit installiert.Befund (Screenshot der Plugin-Karte vom MacBook, jetzt mit dem Grund in der ersten Zeile):
post_install … ✗ unblob startet nicht, mit Log-Pfad und dem Anfang eines Python-Tracebacks aus…/venv/lib/python3.14/site-packages/….pipwar also erfolgreich (Python 3.14 liegt im erlaubten Bereich),unblobstürzte aber beim Start ab. Ursache belegt:unblobhängt anpython-magic, das die Systembibliotheklibmagicperctypesunter/opt/homebrew/libsucht und sonstImportError: failed to find libmagicwirft. Die Bibliothek steckt in keinem Wheel. Auf dem Entwicklungs-Mac lag sie nur, weilrizinsie mitbringt; die Formelliste des Hooks enthielt sie nicht. Nachgestellt mit dem echtenunblobuntersandbox-exec, das den Zugriff auflibmagicverbietet: derselbe Traceback wie im Screenshot. Systematisch geprüft (otool -Lüber alle nativen Dateien im venv, Suche nachCDLL/find_library):libmagicist die einzige Systembibliothek, dieunblobzur Laufzeit braucht.Geändert:
libmagicsteht in der Formelliste des Hooks (und in der Anleitung).unblobam Ende wirklich und nennt bei einem Fehler die letzte Zeile (✗ unblob startet nicht: ImportError: failed to find libmagic. …) in der ersten Zeile der Ausgabe.rea_firmware.py doctorprüft den Exit-Code vonunblob --version: Ein abgestürzterunblobist jetzt✗ unblob startet nicht (…): <Ursache>mit dem Hinweis aufbrew install libmagic; vorher meldetedoctorihn mit leerer Version als vorhanden.PLAN.mdmit Lessons Learned.Geprüft: 233 Tests grün (4 neu, zwei übersprungen; darunter ein Test, der das echte
unblobunter der Sandbox ohnelibmagicstartet und die Meldung vondoctorprüft). Drei Regeln ausgebaut (libmagicnicht in der Liste,doctorohne Exit-Code-Prüfung, Startfehler ohne Ursache): die Tests wurden rot. Echter Hook aus dem gebauten Paket: normal Exit-Code 0 unddoctorgrün; in der Sandbox, in der Homebrewlibmagicnicht sehen kann, versucht er die Formel zu installieren und nennt den Fehler in der ersten Zeile. Dry-Run bestanden, Registry nach dem Pull geprüft (0.1.0 bis 0.1.3).Nicht geprüft: Die Installation auf dem MacBook selbst.
brew install libmagicist dort nicht gelaufen (hier ist die Formel vorhanden; in der Sandbox scheitert die Installation absichtlich).Offen: Erneut installieren auf dem MacBook und das Ergebnis zurückmelden. Scheitert es weiter, steht der Grund in der ersten Zeile der Meldung.
Bestätigt vom Nutzer (2026-11-06):
iris-rea-rechercheist auf dem MacBook installiert (mit 0.1.3; die Ursache der Abbrüche war zuletzt die fehlendelibmagic). Weiter nicht geprüft: ein echter Durchlauf an echter Firmware (Aufnahme, Entpacken, Befunde, Nachbau, Kontextpaket), die Auto-Auswahl des Systemprompts „Recherche“ gegen „Ghidra“ im Gespräch, und ob eine neue Session aus dem Kontextpaket wirklich nicht bei Null anfängt.