Änderung bei libqt4intf

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Änderung bei libqt4intf

Beitrag von Targion »

Hi!
Ich wollte nur mal alle Qt4-benutzer auf eine Änderung des Qt4-Interface für Pascal hinweisen: Die Bibliothek heißt ab sofort nicht mehr libqt4intf.so sondern libQt4Pas.so
Das bedeutet, dass es eventuell Probleme mit älteren Qt4-Programmen gibt, wenn die Bibliothek nicht gefunden wird.
Für die, die meine Paketquelle für Lazarus-Qt verwenden: Ich werde in ca. einer Woche auf die neue Version umstellen, wenn alle Tests erfolgreich sind. Es wird aber einen "sanften" übergang geben, d.H. eigentlich sollte man kaum merken, wenn dass plötzlich die alte libqt4intf ausgetauscht wurde.

Grud für die Umbenennung war, dass viele die Bibliothek als allgemeines Interface für Qt benutzt haben und versucht haben, andere Sprachen daran anzubinden. Durch die Namensänderung soll jetzt deutlicher werden, dass die Lib für Pascal optimiert ist.

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Änderung bei libqt4intf

Beitrag von corpsman »

Um nochmal Klarheit zu bekommen.

Ich nutze Ja deine Paketquelle, habe auch das LibQT4 drauf, in Lazarus steht aber das der auf GTK2 Kompilieren soll, und auch sonst habe ich noch nie ein QT Programm erzeugen lassen, d.h. ich mus mir also gar keine Gedanken machen, oder ?
--
Just try it

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Änderung bei libqt4intf

Beitrag von Targion »

Stimmt genau! Vielleicht bittet dich der Update-Manager bald, libqt4intf5 zu entfernen und dafür ein anderes Paket zu installieren... Ob du das machst oder nicht ist aber egal, wenn du keine Qt4-Anwendungen mit Lazarus kompilierst.

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Änderung bei libqt4intf

Beitrag von Targion »

Ich habe mich mal entschlossen, die neue Version nicht automatisch installieren zu lassen, da sie auch im Moment noch im RC1-Stadium ist.
Wer umsteigen möchste, kann das schmerzlos mittels

Code: Alles auswählen

sudo apt-get install libqt4pas5 libqt4pas-dev
tun, wenn mein PPA eingebunden ist.

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Änderung bei libqt4intf

Beitrag von knight »

Targion hat geschrieben:Ich habe mich mal entschlossen, die neue Version nicht automatisch installieren zu lassen, da sie auch im Moment noch im RC1-Stadium ist.
Wer umsteigen möchste, kann das schmerzlos mittels

Code: Alles auswählen

sudo apt-get install libqt4pas5 libqt4pas-dev
tun, wenn mein PPA eingebunden ist.
Ganz schmerzlos ist es bei mir dann doch nicht: ./lazarus: error while loading shared libraries: libqt4intf.so.5: cannot open shared object file: No such file or directory
Muß außer den geänderten Pakten noch etwas geändert werden?

knight

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Änderung bei libqt4intf

Beitrag von Targion »

Lazarus rekompilieren und eventuell die datei /usr/lib/lazarus/0.9.28.2/lcl/interfaces/qt/qt45.pas mit der Datei /usr/share/pascal/qt4/qt4.pas ersetzen, wenn das rekompilieren fehlschlägt.
Wichtig: Ihr verwendet dann einen Releasekandidaten der Lib!

Code: Alles auswählen

cd /usr/lib/lazarus/0.9.28.2/
sudo make PREFIX=/usr clean all LCL_PLATFORM=qt OPT="-dUSE_QT_45"
Ich habe da meine Testreihe noch nicht beendet, wenn es also Probleme gibt, könnt ihr immer noch mit

Code: Alles auswählen

sudo -s;sudo apt-get remove libqt4pas5;apt-get install libqt4intf5 libqt4intf-dev;exit
zur alten Version zurück wechseln.

EDIT: Das API hat sich wohl doch sehr geändert. Die neue Version sollte nur von denen benutzt werden, die Lazarus aus dem trunk selber bauen und somit die aktuellste Version haben.

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Änderung bei libqt4intf

Beitrag von knight »

Da Lazarus jetzt Version 2.1 der qt Anbindung voraussetzt wollte ich fragen, wo ich die aktuelle Version von libqt4pas5 finden kann. Im Repository von Targion kann ich sie nicht finden.

knight

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Änderung bei libqt4intf

Beitrag von Targion »

Die Version wurde inzwischen für Debian akzeptiert, ein paar Tests müssen aber noch durchgeführt werden. (es muss nur noch das FTP-Team sein okay geben)
Wenn das erledigt ist, wird die neue libqt4pas in Debian und allen davon abgeleiteten Distributionen (Ubuntu, Sidux, Maemo etc.) in den offiziellen Quellen vorhanden sein.
Bis dahin gibt's das Paket aber noch in meinem PPA. Ich dachte eigentlich, dass das letzte Review nicht so lange dauern würde, daher habe ich die aktuellste version noch nicht veröffentlicht. Aber diesmal scheint es doch mehr Zeit zu brauchen.
Warte also noch ein wenig, dann kannst du die aktuelle Version in meinem PPA finden.

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Änderung bei libqt4intf

Beitrag von knight »

Das sind doch gute Nachrichten. Vielen Dank für dein Engagement.

knight

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Änderung bei libqt4intf

Beitrag von knight »

Die Pakete sind da, allerdings mit einer Abhängigkeit auf Qt 4.6.1. Da ich mit Kubuntu 9.10 nur über Version 4.5.3 verfüge, klappt die Installation nicht. Muß ich jetzt auf Kubuntu 10.04 warten oder kann man da vorher noch etwas machen?

knight

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

Re: Änderung bei libqt4intf

Beitrag von theo »

knight hat geschrieben:Muß ich jetzt auf Kubuntu 10.04 warten oder kann man da vorher noch etwas machen?knight
Also ich hab Qt selber gebaut. Das dauert ewig: http://www.lazarusforum.de/viewtopic.ph ... 50&p=34645" onclick="window.open(this.href);return false;
"make install" habe ich nicht gemacht, dafür starte ich Lazarus mit diesem Script:

Code: Alles auswählen

#!/bin/sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/install/qt-everywhere-opensource-src-4.6.0/lib/
$HOME/lazarus/svn/lazarus/lazarus
Der Rest des Systems bleibt somit unangetastet von dem Qt Upgrade.

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Änderung bei libqt4intf

Beitrag von Targion »

knight hat geschrieben:Die Pakete sind da, allerdings mit einer Abhängigkeit auf Qt 4.6.1. Da ich mit Kubuntu 9.10 nur über Version 4.5.3 verfüge, klappt die Installation nicht. Muß ich jetzt auf Kubuntu 10.04 warten oder kann man da vorher noch etwas machen?
knight
Es gibt auf dieser Seite auch gegen Qt4.5 gelinkte Pakete.

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Änderung bei libqt4intf

Beitrag von knight »

Da kann ich mich nur erneut bedanken.

Vielleicht noch eine Randbemerkung: Es wurde schon an verschiedenen Stellen kritisiert, daß beim Deinstallieren von Lazarus die Einstellungen im Benutzerverzeichnis erhalten bleiben und nicht gelöscht werden. Heute habe ich von diesem Verhalten profitieren können. Nach dem Wechsel der libqt Pakete mußte ich Lazarus mittels 'make clean all' neu erstellen, da sich die IDE wegen des Fehlens der alten Pakete nicht mehr starten ließ. Anschließend habe ich Lazarus aus der IDE heraus neu erstellt (u.a. um auf das qt-Interface zu wechseln). Da die Einstellungen im Benutzerverzeichnis noch vorhanden waren hat diese Neuerstellung ausgereicht, um alle meine 'Anpassungen' an der IDE sowie sämtliche installierte Packages wiederherzustellen. Einfacher geht es wirklich nicht.

knight

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Änderung bei libqt4intf

Beitrag von Targion »

So, die QA ist jetzt abgeschlossen, das Paket ist ab sofort in Debian Sid enthalten. Viel Spaß! :mrgreen:

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Änderung bei libqt4intf

Beitrag von Targion »

Noch eine tolle Neuigkeit für Qt4-Entwickler: Das Lazarus-Paket in Debian ist ab sofort aufgesplittet in verschiedene Module. So kann man jetzt z.B. eine GTK2-IDE installieren und dann die Qt4-LCL einfach nachinstallieren, ohne sie selbst kompilieren zu müssen. Zudem wird es auch eine fertig kompilierte Qt4-Version der Lazarus-IDE zur installation geben.
Die Umstellung hat noch einige weitere Vorteile, so kann Debian bald Qt4-Versionen der Lazarus-Anwendungen im Archiv bauen (wenn diese das unterstützen) und benutzer alternativer Pascal-Compiler können die LCL nutzen ohne gleich Lazarus komplett zu installieren.

Einen Haken aber hat die Sache: Alle Änderungen, die Qt4 betreffen, werden erst mit Lazarus 0.9.30 verfügbar sein, da erst diese Version die API-Änderungen der libqt4pas unterstützt.

Antworten