Kurzfassung für Eilige: Ich habe meine FP-Compiler zerschossen und bekomme ihn nun nicht wieder neu installiert. Meine Frage: Könnte es sein, dass das FPC-Installationspaket für Ubuntu 20.04 unvollständig ist?
Langfassung: Ich benutze unter Kubuntu 20.04 auf Kommandozeilen-Ebene den FreePascalCompiler Version 3.0.4. Mein Problem begann damit, dass ich erstmals die String-Konvertierungsfunktion CP1252ToUTF8 benutzen wollte und dafür das Unit LConvEncoding einbinden musste. Der Compiler warf die fatale Fehlermeldung aus: Unit nicht gefunden. Längere Forensuche brachte mir zwei Erkenntnisse:
1) FPC 3.0.4 enthält normalerweise diese Unit.
2) Es könnte ein Problem mit den symbolischen Links zu FPC geben.
which fpc ergibt die Ausgabe /usr/bin/fpc. Dies ist ein symbolischer Link auf /etc/alternatives/fpc, wiederum ein symbolischer Link auf /usr/bin/x86_64-linux-gnu-fpc-3.0.4. Das ist ein ausführbares Programm, das versucht /usr/lib/x86_64-linux-gnu/fpc/3.0.4/ppcx64 zu starten, den eigentlichen Compiler für mein Mac-64bit-System. Auf derselben Ebene lag auch ein Verzeichnis mit allen Units, die der Compiler kennt. Unit LConvEncoding war leider nicht dabei.
Das brachte mich auf die Vermutung, dass meine FPC-Installation unvollständig ist. Deshalb habe ich es mit sudo apt-get purge fpc deinstalliert. Und anschließend neu installiert. Dadurch hat sich buchstäblich gar nichts verändert. Um nun sicherzugehen, dass das Verzeichnis /usr/lib/x86_64-linux-gnu/fpc/3.0.4/ wirklich neu geschrieben wird, habe ich /usr/lib/x86_64-linux-gnu/fpc händisch gelöscht. Okay, das war sicherlich eine meiner schächeren Ideen. Jedenfalls schreibt der Installationsvorgang - der ohne Fehlermeldungen durchläuft - das Verzeichnis nicht neu. Und nun habe ich keinen Pascal-Compiler mehr. Jedenfalls erzeugt jeder Aufruf des Compilers diese Fehlermeldung:
Error: ppcx64 can't be executed, error message: Failed to execute "ppcx64", error code: 127
Meine Vermutung ist, dass das Installationspaket für FPC 3.0.4 für Ubuntu 20.04 möglicherweise keinen Deinstaller enthält, sodass der Befehl apt-get purge fpc letztlich nur den Eintrag in der Datenbank für die installierte Software löscht. Das würde zumindest erklären, warum der Installer ohne Fehlermeldung mit der Installation abbricht, weil er überall auf schon vorhandene Dateien der gewünschten Programmversion trifft und deshalb annimmt, dass das Ziel der Vorgangs schon erreicht ist.
Klingt das irgendwie plausibel? Oder gibt es eine bessere Erklärung für das beschriebene Verhalten?
Wenn meine Annahme irgendeinen Sinn macht, dann müsste ich wissen, welche Dateien ich alle händisch löschen muss, damit die Installation nicht vorzeitig abbricht. Anders gefragt: Woran merkt ein Installer, dass die gewünschte Programmversion schon installiert ist?
Hardware: Mac Mini (6.2 von 2012 mit 4 × Intel Core i5-2415M CPU@2.30GHz)
System: ausschließlich Kubuntu 20.04.2 LTS. Kein anderes Betriebssystem installiert.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »docgmb« (27.10.2021, 21:14)