Effektive Abhängigkeiten eines Lazarus-Programmes feststelle
Effektive Abhängigkeiten eines Lazarus-Programmes feststelle
Hallo,
ich erstelle zwar schon einige Jahre Programme, bin aber erst vor rund einem Monat auf Lazarus gestoßen. Ich komme aus der VB/Gambas Ecke.
Zu meiner großen Verwunderung musste ich feststellen, dass die Unterschiede zu Basic nicht wirklich gravierend sind, ein einfaches Testprogramm war schnell erstellt.
Leider existiert unter Lazarus scheinbar keine Paketfunktion (DEB-Pakete), also dachte ich mir "Selbst ist der Mann".
Die Abhändigkeiten lasse ich via ldd ermitteln, wenn ich diese ermittelten Werte jedoch in die control-Datei eintrage, ist das Paket nicht zu installieren, wegen fehlender Abhändigkeiten.
Das Programm an sich läuft aber, auch fluppt die DEB Datei, wenn ich die Abhändigkeiten herausnehmen.
Ergo vermute ich, ldd tut zuviel des Guten, die Frage ist also, wie kann ich die effektiven Abhängigkeiten eines Lazarus-Programmes ermitteln?
Dank an alle Wissenden.
Lazarus 1.2.4
Linux - Kubuntu 14.04 - 64 BIT
ich erstelle zwar schon einige Jahre Programme, bin aber erst vor rund einem Monat auf Lazarus gestoßen. Ich komme aus der VB/Gambas Ecke.
Zu meiner großen Verwunderung musste ich feststellen, dass die Unterschiede zu Basic nicht wirklich gravierend sind, ein einfaches Testprogramm war schnell erstellt.
Leider existiert unter Lazarus scheinbar keine Paketfunktion (DEB-Pakete), also dachte ich mir "Selbst ist der Mann".
Die Abhändigkeiten lasse ich via ldd ermitteln, wenn ich diese ermittelten Werte jedoch in die control-Datei eintrage, ist das Paket nicht zu installieren, wegen fehlender Abhändigkeiten.
Das Programm an sich läuft aber, auch fluppt die DEB Datei, wenn ich die Abhändigkeiten herausnehmen.
Ergo vermute ich, ldd tut zuviel des Guten, die Frage ist also, wie kann ich die effektiven Abhängigkeiten eines Lazarus-Programmes ermitteln?
Dank an alle Wissenden.
Lazarus 1.2.4
Linux - Kubuntu 14.04 - 64 BIT
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Effektive Abhängigkeiten eines Lazarus-Programmes festst
An sich ist das ein zweistufiger Prozess:
- Bibliotheken mit ldd ermitteln
- Pakete der Bibliotheken ermitteln
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Effektive Abhängigkeiten eines Lazarus-Programmes festst
Hallo,
Dank für die Mühen, wenn ich das Ganze richtig verstehe, dann liefert ldd die Abhängigkeiten auf Dateiebene, in der Control-Datei müssen jedoch die Abhängigkeiten auf Paktetebene vermerkt werden.
Ergo muss ich die Ausgabe von dpkg-shlibdeps <.....> verwenden, Richtig ?
Dank für die Mühen, wenn ich das Ganze richtig verstehe, dann liefert ldd die Abhängigkeiten auf Dateiebene, in der Control-Datei müssen jedoch die Abhängigkeiten auf Paktetebene vermerkt werden.
Ergo muss ich die Ausgabe von dpkg-shlibdeps <.....> verwenden, Richtig ?
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Effektive Abhängigkeiten eines Lazarus-Programmes festst
exakt
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: Effektive Abhängigkeiten eines Lazarus-Programmes festst
Ungefähr so, einmal einfach alle Units überprüfen ob nicht unnötige units im uses Bereich stehen.
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
-
- Beiträge: 565
- Registriert: So 26. Aug 2012, 09:03
- OS, Lazarus, FPC: Windows(10), Linux(Arch)
- CPU-Target: 64Bit
Re: Effektive Abhängigkeiten eines Lazarus-Programmes festst
Cool, das nenn ich mal ein nützliches Tool! Kannte ich bisher noch nicht.
Diese Grafik kannte ich bisher nur aus "Package -> Package-Graph".
MFG
Komoluna
Diese Grafik kannte ich bisher nur aus "Package -> Package-Graph".
MFG
Komoluna
Programmer: A device to convert coffee into software.
Rekursion: siehe Rekursion.
Rekursion: siehe Rekursion.
Re: Effektive Abhängigkeiten eines Lazarus-Programmes festst
@gocher
Vielen Dank für Deine Mithilfe, einzig verstehe ich nicht, in wie weit mir die Grafik direkt bei der obigen Problemstellung hilft und wie ich diese über mein Programm auswerten soll.
Die Rückgabe von dpkg-shlibdeps <.....> kann ich auseinanderpflücken, in einer Listbox speichern und bei der Erstellung im benötigten Format an der richtigen Stelle ausgeben.
Ob ein Programm evtl. unnötige Ressourcen einbindet, müsste doch bei dessen Erstellung abgeklopft werden und nicht bei der Erstellung eines Installationsträgers (MSI/DEB/RPM usw.), oder ist da bei Lazarus etwas besonderes zu beachten ?
Vielen Dank für Deine Mithilfe, einzig verstehe ich nicht, in wie weit mir die Grafik direkt bei der obigen Problemstellung hilft und wie ich diese über mein Programm auswerten soll.
Die Rückgabe von dpkg-shlibdeps <.....> kann ich auseinanderpflücken, in einer Listbox speichern und bei der Erstellung im benötigten Format an der richtigen Stelle ausgeben.
Ob ein Programm evtl. unnötige Ressourcen einbindet, müsste doch bei dessen Erstellung abgeklopft werden und nicht bei der Erstellung eines Installationsträgers (MSI/DEB/RPM usw.), oder ist da bei Lazarus etwas besonderes zu beachten ?
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: Effektive Abhängigkeiten eines Lazarus-Programmes festst
Also die Übersicht habe ich nur mal so angebracht, damit kannst Du dir die Abhängigkeiten deines Programms schon mal mit allen Package- und Unit-Abhängigkeiten ansehen, das heißt nun nicht das alle Abhängigkeiten unbedingt richtig/erforderlich sind!
Mit dieser Hilfe könntest Du Deine ermittelten Abhängigkeiten überprüfen, egal ob sie auf Unit- oder Package-Basis sind!
Ach so da fällt mir noch ein, da nicht jedes Packages und jede Units immer wieder neu compiliert werden, werden vom Linker die benötigten Bestandteile komplett zusammengefügt. Unter Umständen werden aber nicht alle benötigt durch Compiler-Einstellungen lässt sich das alles noch beeinflussen und reduzieren lässt sich alles noch über Strip. Auf jeden Fall enthält das fertige Programm nicht unbedingt alle Abhängigkeiten wie die Sourcen!
Mit dieser Hilfe könntest Du Deine ermittelten Abhängigkeiten überprüfen, egal ob sie auf Unit- oder Package-Basis sind!
Ach so da fällt mir noch ein, da nicht jedes Packages und jede Units immer wieder neu compiliert werden, werden vom Linker die benötigten Bestandteile komplett zusammengefügt. Unter Umständen werden aber nicht alle benötigt durch Compiler-Einstellungen lässt sich das alles noch beeinflussen und reduzieren lässt sich alles noch über Strip. Auf jeden Fall enthält das fertige Programm nicht unbedingt alle Abhängigkeiten wie die Sourcen!
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Effektive Abhängigkeiten eines Lazarus-Programmes festst
Es ging aber nicht um Package ode rUnit abhängigkeiten sondern Bibliotheksabhängigkeiten.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/