Programm läuft mit neuer Linux Version nicht

Für Fragen von Einsteigern und Programmieranfängern...
Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Programm läuft mit neuer Linux Version nicht

Beitrag von Aliobaba »

Hallo,
vor Jahren habe ich das Programm "MyMemoryDB" programmiert und seit Jahren arbeite ich eigentlich täglich mit diesem Programm, allerdings auf einer recht alten Linux Version:
Linux Mint 19 Tara

Allmählich wird es aber Zeit, auf eine neuere Linux-Version umzusteigen, weil u.a. der installierte Firefox nicht mehr alle moderneren Web-Seiten korrekt anzeigt.

Ich habe nun auf einem Laptop das Programm:
Ubuntu 22.04.3 LTS (jammi)
installiert. (u.a. per Download über den unten gezeigten Link, bzw. auch per Kopie aus dem alten System: Linux Mint 19 Tara)

Seltsamerweise läuft mein Programm MyMemoryDB nun nicht mehr, es startet nicht, obwohl alle Berechtigungen frei gegeben sind und das Programm "Ausführbar" lt. angewähltem Kästchen sein sollte.

Woran kann das liegen?

Aliobaba


MyMemoryDB ist hier abrufbar:
https://www.heise.de/download/product/mymemorydb-89626
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 994
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Linux Mint 20 , FPC 3.3.1 , Lazarus 2.1.0 -Win10 & XE7Pro
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von kralle »

Moin,

Nur so eine Idee:
Von Mint 19 zu Mint 20 sind Systempfade geändert worden. Konnte mein Lazarus-Install-Script plötzlich auch nicht mehr benuzten. Hast Du absolute Pfade im Code? Vielleicht Lazarus auf dem neuen Linux installieren und das Projekt neu kompilieren.

Gruß Heiko
OS: Manjaro Linux, Debian und Windows 10
FPC-Version: 3.2.2 , Lazarus 3.0
+ Delphi XE7SP1

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6217
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von af0815 »

Es gibt im englischen Forum eine laaaaange Diskussion, das sich die libc in der Version geändert hat und deswegen es Probleme mit neu kompilierten Programmen unter älteren Linuxen gibt.
Kurz gefasst: Wir das Programm unter einer ältreren Linux Version erstellt, so läuft es überall, umgekehrt nicht.
---------
Wenn ein Linux Programm auf einer anderen Maschine nicht startet, so sollte man einemal prüfen ob die richtigen Bibliotheken wirklich vorhanden sind (mit allen Abhängigkeiten). Leider werden die Pakete von verschiedenen Distributionen unterschiedlich gepackt und auch mit verschiedenen Abhängigkeiten versehen. Auch bei Zeos sollte man aktualisieren, weil durch die neuen Versionen in den Distributionen ein Update nötig war (Soweit ich das mitverfolgt habe).
----------
Spuckt die Kommandozeile informationen aus, wenn du das Programm von dort aus startest ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 6210
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von Mathias »

Von Mint 19 zu Mint 20 sind Systempfade geändert worden.
Vieles wurde von "/" ind "/usr" verschoben.
Dies sieht man hier gut:

Code: Alles auswählen

$ ls -l
insgesamt 2097232
lrwxrwxrwx   1 root root          7 Jul  4 14:29 bin -> usr/bin
drwxr-xr-x   4 root root       4096 Aug  5 13:32 boot
drwxr-xr-x   2 root root       4096 Jul  4 14:31 cdrom
drwxr-xr-x  22 root root       5060 Aug  7 08:26 dev
drwxr-xr-x 153 root root      12288 Aug  6 14:18 etc
drwxr-xr-x   3 root root       4096 Jul  4 14:31 home
lrwxrwxrwx   1 root root          7 Jul  4 14:29 lib -> usr/lib
lrwxrwxrwx   1 root root          9 Jul  4 14:29 lib32 -> usr/lib32
lrwxrwxrwx   1 root root          9 Jul  4 14:29 lib64 -> usr/lib64
lrwxrwxrwx   1 root root         10 Jul  4 14:29 libx32 -> usr/libx32
drwx------   2 root root      16384 Jul  4 14:29 lost+found
drwxr-xr-x   3 root root       4096 Jul  4 14:33 media
drwxr-xr-x   2 root root       4096 Jun 14 11:49 mnt
drwxr-xr-x   5 root root       4096 Aug  4 14:58 opt
dr-xr-xr-x 474 root root          0 Aug  7 08:26 proc
drwx------   9 root root       4096 Jul 25 08:58 root
drwxr-xr-x  39 root root       1100 Aug  7 08:26 run
lrwxrwxrwx   1 root root          8 Jul  4 14:29 sbin -> usr/sbin
drwxr-xr-x   2 root root       4096 Jun 14 11:49 srv
-rw-------   1 root root 2147483648 Jul  4 14:29 swapfile
dr-xr-xr-x  13 root root          0 Aug  7 08:26 sys
drwxrwxrwt  18 root root       4096 Aug  7 09:07 tmp
drwxr-xr-x  14 root root       4096 Jun 14 11:49 usr
drwxr-xr-x  11 root root       4096 Jun 14 12:29 var
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von Aliobaba »

Wie schon gesagt, ich habe schon lange nichts mehr mit "Lazarus" gemacht.

Ich habe jetzt die Programmumgebung erstmal auf dem neuen Rechner installiert. Und da habe ich schon mal regelmäßig Probleme, diese unter Linux zum Laufen zu bekommen, was mir aktuell bis jetzt auch noch nicht gelungen ist. Aber das ist ein anderes Thema und hängt sicher mit meinem mangelnden Wissen zusammen: Irgendwelche Abhängigkeiten sind nicht gelöst ... :( .
Daraufhin habe ich es auf Windows 10 installiert (ohne Probleme).

Aber ich war entsetzt, wie mein Programm in kompilierter Form nun aussieht. Die Größen der einzelnen Objekte (Buttons, Textfelder) haben sich im Verhältnis der Größen zueinander verändert und so sieht die Programmoberfläche furchtbar aus! Seltsamerweise sind diese Objektgrößen auf der Programmieroberfläche noch völlig in Ordnung, im kompilierten Programm aber passen die Größen von einzelnen Objekten nicht mehr zueinander.

Na, ja. Ich muss mich wohl damit abfinden, dass Lazarus nur etwas für wirkliche Spezialisten ist.
Man muss (und kann) im Leben eben nicht alles verstehen. Sorry, dass ich so negativ bin; halt einfach frustriert :(

Viele Grüße!
Alfons
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

charlytango
Beiträge: 845
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von charlytango »

Aliobaba hat geschrieben:
Mo 7. Aug 2023, 09:56
Na, ja. Ich muss mich wohl damit abfinden, dass Lazarus nur etwas für wirkliche Spezialisten ist.
Man muss (und kann) im Leben eben nicht alles verstehen. Sorry, dass ich so negativ bin; halt einfach frustriert :(
Ich verstehe dass du frustriert bist -- Lazarus hat damit wohl wenig zu tun, könnte aber die Lösung sein.

Du sagst, du hast "schon lange" nichts mehr mit Lazarus gemacht.
Dazwischen vielleicht einen neuen Monitor bekommen? Neuen Rechner?
Mit welcher Version von Lazarus hast du denn noch "etwas getan"?

Du steckst gerade in der Falle von RAD (Rapid Application Development). Unabhängig von Lazarus. Grafische Entwicklungsumgebungen abstrahieren die Komplexität der eigentlichen Programmierung und nehmen dem Entwickler eine Menge Arbeit ab. Das heißt aber nicht dass die Komplexität der Umgebung immer mit berücksichtigt werden kann.
Ändert sich die Umgebung (OS, Monitor, Auflösung etc) und das Programm ist nicht darauf vorbereitet (konnte es vielleicht auch mangels Glaskugel nicht sein), kommt es zu solchen Ergebnissen/Auswirkungen.

Aber das ist lösbar.

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von Aliobaba »

Danke, Charlytango für Deine tröstenden Worte.

Klar, das wird schon wieder; und klar, das ist lösbar, vor allen Dingen, weil so viele engagierte Leute in diesem Forum so geduldig und hilfsbereit sind.
(Deshalb will ich ja ganz gerne mal bei einem Treffen vorbei schauen; aber ich denke, ich würde wenig von Euren Gesprächen verstehen und mich blamieren - aber sicher sehr nette Leute kennen lernen. Und wegen des tollen Engagements vieler Leute hier für das Forum bin ich ja auch Forum-Mitglied [und nicht weil ich so ein genialer Programmierer bin!])

Aber das Finden der Lösungen kostet eben unglaublich viel Zeit, wenn einem das notwendige Wissens-Fundament fehlt. Aber man lernt dabei natürlich, wenn auch oft mit sehr welliger und flacher Lernkurve.

Ja, es ist ein neuer Rechner, nun ein Laptop mit rel. hoher Auflösung - - - und genau jetzt, wo ich das schreibe, habe ich - glaube ich - die Lösung :idea:

-> Ich hatte auf dem PC die Auflösung 1920 * 1200; beim Laptop habe ich die "empfohlene" Auflösung von 2560 * 1440 eingestellt, ABER dann - wegen der sehr kleinen Darstellung - auf 150% skaliert.

Bei einer Skalierung von 100% stimmen die Größenverhältnisse wieder :)
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von Aliobaba »

... und nun muss ich Lazarus nur noch dazu bringen, auch unter Linux (Kubuntu) zu laufen...
Aber das wird auch :)
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

wp_xyz
Beiträge: 4895
Registriert: Fr 8. Apr 2011, 09:01

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von wp_xyz »

Aliobaba hat geschrieben:
Mo 7. Aug 2023, 11:07
Ja, es ist ein neuer Rechner, nun ein Laptop mit rel. hoher Auflösung - - - und genau jetzt, wo ich das schreibe, habe ich - glaube ich - die Lösung :idea:

-> Ich hatte auf dem PC die Auflösung 1920 * 1200; beim Laptop habe ich die "empfohlene" Auflösung von 2560 * 1440 eingestellt, ABER dann - wegen der sehr kleinen Darstellung - auf 150% skaliert.

Bei einer Skalierung von 100% stimmen die Größenverhältnisse wieder :)
Nachdem das ein Projekt ist, das mit einer "alten" Lazarus-Version erstellt wurde, ist wahrscheinlich das Häkchen in den Projekt-Optionen bei "LCL-Skalierung verwenden" nicht gesetzt. Setze das, und falls du auf Windows wärst, solltest du auch "Manifest-Ressource verwenden" markieren und unter "DPI-Anpassung" eine der "an"-Einstellungen wählen. Damit sollte die Darstellung mit der Auflösung sklaieren.

Benutzeravatar
theo
Beiträge: 10500
Registriert: Mo 11. Sep 2006, 19:01

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von theo »

Aliobaba hat geschrieben:
Mo 7. Aug 2023, 11:08
... und nun muss ich Lazarus nur noch dazu bringen, auch unter Linux (Kubuntu) zu laufen...
Aber das wird auch :)
Warum machst du das nicht einfach über z.B. Discover?
Da sollten erst einmal alle Abhängigkeiten mitkommen, auch wenn du nachher z.B. mit FPCUPdeluxe installieren möchtest.
Dateianhänge
laz_kubuntu2.png
laz_kubuntu2.png (122.31 KiB) 1134 mal betrachtet

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von Aliobaba »

theo hat geschrieben:
Mo 7. Aug 2023, 11:36
Warum machst du das nicht einfach über z.B. Discover?
Da sollten erst einmal alle Abhängigkeiten mitkommen, auch wenn du nachher z.B. mit FPCUPdeluxe installieren möchtest.
Weil bei meinem "Glück" selbst das nicht funktioniert :(

Da kommt bei mir: Can't find the lazarus executable /usr/lib/lazarus/2.2.0/lazarus
:(
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Benutzeravatar
theo
Beiträge: 10500
Registriert: Mo 11. Sep 2006, 19:01

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von theo »

Aliobaba hat geschrieben:
Mo 7. Aug 2023, 11:53
Weil bei meinem "Glück" selbst das nicht funktioniert :(

Da kommt bei mir: Can't find the lazarus executable /usr/lib/lazarus/2.2.0/lazarus
:(
Du musst schon etwas präziser werden.
Wann "kommt" das?
Gibt es "/usr/lib/lazarus/" überhaupt?
Sind wenigstens die Abhängigkeiten jetzt installiert? (Z.B. "Show Dependencies" bei Discover -> Lazarus).

Ein bisschen "Bock" auf's Tüfteln gehört zum programmieren schon auch dazu. :wink:

charlytango
Beiträge: 845
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von charlytango »

Aliobaba hat geschrieben:
Mo 7. Aug 2023, 11:08
... und nun muss ich Lazarus nur noch dazu bringen, auch unter Linux (Kubuntu) zu laufen...
Meine Empfehlung:
Verwende keine Installationspakete jeglicher Herkunft. Wenn du wissen willst warum schau in die Foren, da gibt es immer wieder Probleme damit besonders unter Linux (unterschiedliche -- und seien es nur alte Versionen)

Benutzer fpcupdeluxe zur Installation, damit bekomme ich als Nicht-Linuxer auch eine funktionierende Lazarus installation ohne große Probleme hin.

Vorteile: aktuelle und auch alte Versionen zur Auswahl. (Du kannst den alten Zustand deiner Entwicklungsumgebung wieder herstellen) Und parallel dazu eine neue Installation machen (das geht mit fpcupdeluxe leicht, weil alles unabhängig vom OS in einem Ordner ist)

Bei Youtube gibt es dazu auch Anleitungen, dann geht es noch einfacher.
https://www.youtube.com/watch?v=Snf0xgdREOQ&t=283s

Benutzeravatar
theo
Beiträge: 10500
Registriert: Mo 11. Sep 2006, 19:01

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von theo »

charlytango hat geschrieben:
Mo 7. Aug 2023, 12:18
Meine Empfehlung:
Verwende keine Installationspakete jeglicher Herkunft. Wenn du wissen willst warum schau in die Foren, da gibt es immer wieder Probleme damit besonders unter Linux (unterschiedliche -- und seien es nur alte Versionen)

Benutzer fpcupdeluxe zur Installation, damit bekomme ich als Nicht-Linuxer auch eine funktionierende Lazarus installation ohne große Probleme hin.
Normalerweise schon, aber er beklagt ja die Abhängigkeiten:
Aliobaba hat geschrieben:
Mo 7. Aug 2023, 09:56
Irgendwelche Abhängigkeiten sind nicht gelöst ... :( .
Und da hilft dir fpcupdeluxe nicht wirklich.

sstvmaster
Beiträge: 576
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: Programm läuft mit neuer Linux Version nicht

Beitrag von sstvmaster »

Hast du schon mal im Terminal ein:
sudo apt-get -f install
gemacht?
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Antworten