lazarus - linux - kde

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Antworten
Benutzeravatar
didi
Beiträge: 46
Registriert: Mo 10. Mai 2010, 20:43
OS, Lazarus, FPC: Linux / Windows
CPU-Target: AMD 64-Bit
Wohnort: Plauen im Vogtland
Kontaktdaten:

lazarus - linux - kde

Beitrag von didi »

Moin,

ich programmiere mit lazarus 0.9.30 unter Pardus-Linux 2011. Die Kernelversion ist 2.6.37.6 und KDE läuft unter 4.6.5.
Nun habe ich unter dieser Konstallation folgendes Problem:
Wenn ein Lazarus-Programm gestartet ist und ich will den Rechner über Starter/Verlassen/Neustart oder Herunterfahren ausschalten,
bzw. neu starten kommt im Sysemabschnitt der Kontrolleiste die KDE-Information:
"KDE Arbeitsfläche
Abmeldung abgebrochen durch Pfadangabe/ProgrammName".

Das Programm selbst wird dann beendet aber der Rechner fährt nicht runter bzw. startet nicht neu.
Ein erneutes Ausschalten fährt den Rechner dann ordnungsgemäß runter.
Das passiert nicht nur mit Lazarusprogrammen sondern auch mit der Lazarus-IDE selbst (für jedes Fenster eine KDE-Meldung).
Es muss irgendwie mit KDE zusammenhängen, denn wenn ich den Rechner über Konsole mit dem Befehl "shutdown -h now" herunterfahre
tut er es klaglos.
Danke im Vorraus für die Hinweise!

Gruß didi ><>

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: lazarus - linux - kde

Beitrag von Bora4d »

Sowas ähnliches hab ich auch mal gehabt. Ich glaube das Problem liegt nicht an KDE sondern QT-Schnittstelle. Genauer gesagt libQt4pas.so. Es gibt da öfters Probleme. Wenn man QT/KDE Biblotheken aktualisiert passiert öfters dass die Lazarus Programme mit QT-Gui wegen diese Biblothek nicht funktionieren.
Versuch mal GTK-Gui zu compilieren. Dann sollte keine Probleme mehr auftauchen.
Es Ist linux typisches Problem, wenn ein Biblothek mit andere GCC-Version compiliert oder irgengwelche neue Einstellung compiliert wird, kann öfters passieren dass viele Programme auf einmal nicht funktionert. Mit dem libQT4pas.so passiert das öfters weil libQT4pas nicht von Distro selbst sondern von 3.person erstellt wird.
Deshalb gibt's Packetmanager und alle Programme werden neu kompiliert und mit neuen Biblotheken zusammen aktualisiert. Deshalb funktionieren gleiche Programme meistens mit andreden Distros nicht :lol:

Benutzeravatar
didi
Beiträge: 46
Registriert: Mo 10. Mai 2010, 20:43
OS, Lazarus, FPC: Linux / Windows
CPU-Target: AMD 64-Bit
Wohnort: Plauen im Vogtland
Kontaktdaten:

Re: lazarus - linux - kde

Beitrag von didi »

@Bora4d
ich danke Dir wirklich sehr für Deine Erklärung! Muss aber gestehen, dass ich in der Bibliotheksverwaltung nicht so tief drin stecke. :-(
Ich wäre Dir sehr dankbar wenn Du kurz, stichpunktartig die Schritte zur Abarbeitung mitteilen könntest.
Ich danke Dir - Gruß didi ><>

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: lazarus - linux - kde

Beitrag von Bora4d »

Als erstes würde ich ein Beispielprogramm mit GTK2-Gui erstellen, um sicher zusein dass das Problem an libQt4Pas liegt. Widgetset kann mann bei Projekoptionen ändern. Eventuell mußt du mit Paketmanager GTK2-Dev-Libs installieren.
Danach würde ich dieses Beispielprogramm ausführen, wenn keine Probleme auftauchen dann liegt das Problem bei libqt4pas.
Dann würde ich libqt4pas austauschen.
Letzte Version von http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html herunterladen, entpacken dann manuell mit installierten austauschen.
Eine von den entpacken Dateien ist echte Datei die anderen sind symbolische Links.
Im Paketmanager kannst du sehen wo libqt4pas in deinem System entpackt ist.
Nehmen wir an die qt4pas.so"s sind in \Lib installiert und du hast die heruntergeladenen Dateien in \meinordner entpackt.
1. Starte mit [alt]+[f2] Ausführen Dialog tippe "kdesu dolphin" dann wechsele ins \Lib verzeichnis und lösche alle libqt4pas.so Dateien. Es müssen ungefähr 4 sein. Vorher merke die Namen.
2. Finde wie die Biblotheksdatei heißt. Es muß libQT4pas.so.5.2.1 sein. Die anderen sind links.
3. Kopiere die Datei in den Biblotheksordner:
sudo cp \meinordner\libQt4Pas.so.5.2.1 \lib\libQt4Pas.so.5.2.1
Dann erstellst du links
sudo ln -s \lib\libQT4pas.so.5.2.1 \lib\libQt4Pas.so
sudo ln -s \lib\libQT4pas.so.5.2.1 \lib\libQt4Pas.so.5
sudo ln -s \lib\libQT4pas.so.5.2.1 \lib\libQt4Pas.so.5.2

Achte auf richtige Dateinamen und Pfade. Was ich angegeben habe ist ungefähr.

Dann bete dass es funktioniert. :lol: Wenn nicht dann mußt du vielleicht ganze libQT4Pas selber compilieren.

Ich glaube solche Probleme wirst du öfters stoßen, weil Lazarus offiziell GTK2 unterstützt. QT-Widgetset wird nur von diesem einen Person unterstützt. Ich habe noch nie Peazip mit QT-Widgetset starten können. Der Programmier hat auch von seine Webseite Peazip-Portable für QT-Widgetset entfernt. Ob deine erstellten Programme nach ein Systemupdate laufen werden steht in den Sternen :lol:

Ich habe Linux wegen solche Sachen deinstalliert. Nach mein Archlinux Update lief auf einmal Lazarus und alle damit erstellten Programme nicht weil in LibC eine Funktion fehlen soll. Dann Lubuntu installiert, da lief es. Danach alle Linux Partionen vom Computer entfernt.

Benutzeravatar
didi
Beiträge: 46
Registriert: Mo 10. Mai 2010, 20:43
OS, Lazarus, FPC: Linux / Windows
CPU-Target: AMD 64-Bit
Wohnort: Plauen im Vogtland
Kontaktdaten:

Re: lazarus - linux - kde

Beitrag von didi »

Moin Bora4d,
Deine Anleitung war wirklich sehr ausführlich und vielen Dank dafür. :lol:
Den Test konnte ich leider nicht durchführen. Das mag auch mit daran liegen, dass die Bibliotheken unter Pardus anders heißen, Pardus-Linux ist ein völlig eigenständig entwickeltes System.
Im Paketmanager hatte ich gtk2 und gtk2-devel gefunden und die waren auch schon installiert. Wenn ich dann ein Programm unter geänderten Einstellungen in
Projekt/Projekteinstellungen.../Compilereinstellungen/LCL-Schnittstelle eine andere Einstellung außer qt wähle kommt beim Compilieren der Fehler:
Can't find unit Interfaces used by ProgrammName

Danach habe ich den unteren Teil probiert, also die Dateien runtergeladen und genau die Schritte durchgeführt: kopiert, Links erstellt, alles als root
Das Ergebnis war: Die IDE ist nicht mehr gestartet! :oops:
Glücklicherweise hatte ich vorher die Dateien gesichert und nun geht es erst mal wieder.
Wenn Du mir noch eine kleine CompilationsAnleitung schickst, würde ich auch das mal probieren. Die PAS-Datei war ja mit dabei.
Ich danke Dir noch mal sehr - Gruß didi ><>

creed steiger
Beiträge: 957
Registriert: Mo 11. Sep 2006, 22:56

Re: lazarus - linux - kde

Beitrag von creed steiger »

LCL für das neue Widgetset kompilieren

Benutzeravatar
didi
Beiträge: 46
Registriert: Mo 10. Mai 2010, 20:43
OS, Lazarus, FPC: Linux / Windows
CPU-Target: AMD 64-Bit
Wohnort: Plauen im Vogtland
Kontaktdaten:

Re: lazarus - linux - kde

Beitrag von didi »

LCL für das neue Widgetset kompilieren
- danke creed steiger.
Hat etwas gedauert bis ich das alles gefunden hatte, habe das noch nie gemacht. Es ging dann auch nur mit root-Anmeldung.
Das Ergebnis ist:
Wenn ich das Programm mit gtk 2 übersetze tritt der KDE-Effekt nicht auf!
Das heißt es liegt an qt!
Danke für die Hilfe, die auch zu mehr Verständnis beigetragen hat.
Gruß didi ><>

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: lazarus - linux - kde

Beitrag von Bora4d »

Hast du auch libQt4Pas für richtige Platform (32/64 Bit?) benutzt? Die .pas Datei ist nicht für's compilieren der Biblothek sondern Pascal-"Header" für diese Bibliothek. Die hast du schon vorher mit Lazarus zusammen installiert gehabt. LCL Verwendet diese Datei auch.
Wie man Biblothek erstellt steht auf der Seite wo du es heruntergeladen hast. Dafür muß man aber QT-Entwicklungstools installieren. libQt4Pas Bibliothek wird aus C++-Dateien erstellt.
Ich würde in deine Stelle erstmal bei Pardus-Forum oder vielleicht bei englisch Forum nachschauen ob da jemand auch ähnliche Probleme gehabt hat. Da gibts bestimmt mehr Leute die Lazarus mit QT Oberfläche verwenden und ähnliche Probleme gehabt haben.
Leider kann ich weiter nicht helfen.
Viel Glück.

Benutzeravatar
didi
Beiträge: 46
Registriert: Mo 10. Mai 2010, 20:43
OS, Lazarus, FPC: Linux / Windows
CPU-Target: AMD 64-Bit
Wohnort: Plauen im Vogtland
Kontaktdaten:

Re: lazarus - linux - kde

Beitrag von didi »

@Bora4d - ich prüfe alles nochmals - Du hast mir sehr geholfen! :mrgreen:

Antworten