Effektive Abhängigkeiten eines Lazarus-Programmes feststelle

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
EUP
Beiträge: 11
Registriert: Fr 18. Jul 2014, 23:07

Effektive Abhängigkeiten eines Lazarus-Programmes feststelle

Beitrag von EUP »

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

Socke
Lazarusforum e. V.
Beiträge: 3158
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

Beitrag von Socke »

An sich ist das ein zweistufiger Prozess:
  1. Bibliotheken mit ldd ermitteln
  2. Pakete der Bibliotheken ermitteln
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

EUP
Beiträge: 11
Registriert: Fr 18. Jul 2014, 23:07

Re: Effektive Abhängigkeiten eines Lazarus-Programmes festst

Beitrag von EUP »

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 ?

Christian
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

Beitrag von Christian »

exakt
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

gocher
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

Beitrag von gocher »

Ansicht -&gt; Unit-Abhängigkeiten anzeigen
Ansicht -> Unit-Abhängigkeiten anzeigen

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

Komoluna
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

Beitrag von Komoluna »

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
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

EUP
Beiträge: 11
Registriert: Fr 18. Jul 2014, 23:07

Re: Effektive Abhängigkeiten eines Lazarus-Programmes festst

Beitrag von EUP »

@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 ?

gocher
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

Beitrag von gocher »

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!
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me

Christian
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

Beitrag von Christian »

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/

Antworten