3rd Party Paket installieren

Rund um die LCL und andere Komponenten
schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

Ext3 wird von Ext2IFS ebenfalls unterstützt.

Halbe Verzeichnisse, was ist das?
Da geht auch mehr, du kannst auch eine ganze Reihe von Verzeichnissen getrennt durch Semikolon angeben (Such-Pfade). Beim Ziel-Pfad muß allerdings in ../bin z.B. i386-linux von Hand erstellt werden. Halt dich an die Struktur, die ich schon für Packages vorgeschlagen habe, dann gibt es damit auch keine Probleme. Das funzt für Packages genau so gut wie für Programme. Statt der Verweise auf Quell-Pfade sollte man die Abhängigkeit von einem Package angeben, dann werden die richtigen Pfade automatisch gesetzt. Das funzt auch BS-unabhängig.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

ich kann dir leider nicht so ganz Folgen wie du das meinst.
MFG
Michael Springwald

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Beitrag von mschnell »

Christian hat geschrieben:NEIN was soll denn der mist. Wie sollen sich denn die Sourcem des Pakets ändern ohne das Lazarus das mitbekommt ?? Quatsch da mss was anderes sein. Z.b. eine andere Quelldatei in den sourcen die gleich heisst wie eine im peket so das fpc die falsche ppu erwischt oder ähnliches.


Ich habe nachgeschaut. Ich finde keine alten ppus.

Der Unit-Ausgabpfad, der mich gewundert hat, steht so in der Paket-Datei, die ich bekommen habe als "..\Dcu\Lazarus" drin. der passende Pfad habe ich ist unter "Andere Unit-Dateien dazugefügt. Der Pfad zu den Sourcen ist der aktuelle. Den explizit hinzufügen nützt auch nichts.

Was kann das denn noch sein ?

-Michael

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

mir hat es geholfen wenn ich es in das Komponenten Verzeichnis von Lazarus verschoben habe und von dort aus installiert habe.
MFG
Michael Springwald

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Beitrag von mschnell »

pluto hat geschrieben:mir hat es geholfen wenn ich es in das Komponenten Verzeichnis von Lazarus verschoben habe und von dort aus installiert habe.


Was ist "es" ? Die .pas - dateien oder die ppu - Dateien ? (Übrigens: meint die Hehlermeldung mit "unit" wirklich die ppu ?)

Was ist das Komponenten Verzeichnis von Lazarus ?

Ist das ein Workaround um einen Bug ? Eigentlich müsste sich doch ein Paket von und in einem beliebigen Verzeichnis installierbar sein, wenn man die Pfade in der lpk-Datei richtig angibt, oder ? Gibt's da keine Doku zu ?

-Michael

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

hier ist das Komponenten Verzeichnis: /usr/lib/lazarus_neu/components
und mit es meinte ich den gesamten Quellcode.

Die PPU und die O Dateien werden leider sowieso da, erstellt wo sich das Ausführbare Programm befindet.
MFG
Michael Springwald

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

@pluto

Unter Projekteinstellungen kannst du für die Ausführbare (also Lazarus) auch ein anderes Verzeichnis angeben. Dann kann man *.o und *.ppu vom eigentlichen Programm trennen, was ich grundsätzlich auch für richtig halte. Das hat nichts im gleichen Verzeichnis zu suchen. Schließlich gibt man ja die *.o und *.ppu auch nicht mit der fertigen Anwendung weiter, schon deshalb verbietet sich das eigentlich, das im gleichen Pfad zu haben.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Beitrag von mschnell »

pluto hat geschrieben: Die PPU und die O Dateien werden leider sowieso da, erstellt wo sich das Ausführbare Programm befindet.


Die lpk-Datei, die von RO kam, erstellt die *.ppu und *.o Deteien in einem speziell dafür angelegten Verzeichnis. In der lpk-Datei ist unit-Ausgabe-Verzeichneis = ..\Dcu\Lazarus angegeben. Das funktioniert auch: die lpk-Datei ist in ro\source und die ppus werden in ro\Dcu\Lazarus abgelegt.

Meinst Du ich soll sie irgendwo anders ablegen ?

Ich habe gerade die Bestätigung von Evgeny von RemObjects bekommen, dass das Installieren des Pakets mit den unveränderten Einstellungen in der lpk-Datei bei ihm funktioniert.

-Michael

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Beitrag von mschnell »

schnullerbacke hat geschrieben:@pluto

Unter Projekteinstellungen kannst du für die Ausführbare (also Lazarus) auch ein anderes Verzeichnis angeben.


Hier kommt ein Punkt, den ich bei Lazarus noch überhaupt nicht verstanden habe. Das Übersetzen und Installieren des Paketes hat doch eigentlich mit einem Projekt nix zu tun. Also sollten die "Projekteinstellungen" (des Projektes, das zufällig gerade noch geladen ist - ich habe keine Ahnung, wie ich das Projekt "entladen" soll) irrelevant sein. Die Compiler-Einstellungen (z.B. "Unit-Ausgabeverzeichnis") sollten aus dem Projekt-Fenster (bzw der lpk-Datei) genommen werden. Das klappt bei "Unit-Ausgabeverzeichnis" auch . Nur anscheinend bei der Suche der Units (=ppu's ??) zum installieren nicht.

Muss man vielleicht irgendwo zentral in Lazarus noch einen Unit-Suchpfad angeben der verwendet wird, wenn Lazarus zum installieren der Komponenten neu kompiliert wird ?

-Michael

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

@mschnell

Die müssen bei RemObjects wohl etwas umdenken. Lazarus läuft schließlich auch auf Linux und MacOS. Schon deshalb sollte man sowas wie ../Dcu/lazarus vermeiden. Erstens "jibbet" keine *.dcu, zweitens kann mit ntfs-3g auch die Source von der NTFS-Platte geholt und auch die Kompilate dort abgelegt werden.

Deshalb meine Empfehlung angelehnt an Linux lieber einen Pfad:

../lib

anzulegen und für die Packages die Angabe in:

../lib/$(TargetCPU)-$(TargetOS)

zu ändern. Diese Angabe bewirkt, das sich Lazarus das entsprechende Verzeichnis über die Makros selbst anlegt. Der Vorteil liegt, wie bei beidseitig verwendbaren Klopapier, auf der Hand.
Nur eine Quelle und richtige Pfade für die Kompilate abhängig vom Zielsystem.

Das man dann aber die *.lpk nicht in den Source-Pfad legt hat einfach was mit mehr Übersichtlichkeit und besserer Pflege zu tun. Ich hab PascalScript von denen, da haben die denselben Müll produziert. Man sehe sich mal Projekte unter Linux an, die haben immer die gleiche übersichtliche Struktur und so sollte es auch sein.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

@schnullerbacke
das ist mir neu.
als ich den Pfad für das Ausführbare Programm geändert habe, Wurden die PPU und O Dateien im Selben Verzeichnis gespeichert.
Schön dass sie das endlich geändert haben.
MFG
Michael Springwald

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Beitrag von mschnell »

-> schnullerbacke

Du hast sicher recht, dass es bessre Möglichkeiten gibt die Directories zu benennen. Aber erstmal sollte es sich überhaupt installieren lassen.

Hast Du Antworten auf meine konkreten Fragen ?

-Michael

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:

Beitrag von Christian »

hast dus denn unter linux und windows versucht zu installiern?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

schnullerbacke
Beiträge: 1187
Registriert: Mi 13. Dez 2006, 10:58
OS, Lazarus, FPC: Winux (L 1.2.xy FPC 2.6.z)
CPU-Target: AMD A4-6400 APU
Wohnort: Hamburg

Beitrag von schnullerbacke »

@mschnell

1) Das geladene Projekt wirkt sich nicht auf die Installation eines Paketes aus. Die Einstellungen des Projektes werden bei der Installation eines Paketes ignoriert.

2) Die Suchpfade für das Paket müssen im Paket gesetzt werden. Dabei sollte man möglichst mit Paketvorgaben arbeiten. Die Abhängigkeiten lassen sich unter "Einstellungen" des Paketes bearbeiten (also hinzufügen oder wieder entfernen). Nur die Suchpfade unter "Compilereinstellungen" des Paketes werden berücksichtigt. Das Gleiche gilt für Includes. Für beides stehen aber auch Makros zur Verfügung, die leider nirgendwo richtig gelistet sind. Da muß man leider etwas suchen. Wäre ganz gut, wenn man die mal als Liste komplett hätte.

3) Du kannst das Projekt nicht entladen, das hat wohl was mit der Art zu tun, wie Lazarus gestartet wird. Das wird offenbar als Prozess gestartet und fordert wohl als Grundlage ein beliebiges Projekt. Mir wäre es auch lieber, man könnte a la Delphi alles komplett entladen und Packages werden als normales Projekt behandelt. Das würde für etwas mehr Klarheit sorgen. Aber man kann sich auch an die jetzige Methode gewöhnen. Ich hab mir bei Paketen völlig abgewöhnt auf die Projekt-Einstellungen zu achten, das geht ganz gut.

@Christian

Ich hab gerade auf der Maschine Knoppix neu eingerichtet. Genau das werde ich jetzt mal probieren. Bei Knoppix wird ntfs-3g gleich mit eingerichtet, insofern bietet sich das an. Da Knoppix Lazarus 0.9.20 gleich mitliefert ist auch der FPC gleich richtig mitinstalliert, da drängt sich der Test geradezu auf. Pakete hab ich allerdings schon probiert und das klappt ganz "wunnebar" wenn man wie oben beschrieben die Paket-Einstellungen entsprechend macht. Das steht und fällt wohl mit den Einstellungen von Lazarus. Wenn sie da dem eigenen Muster treu geblieben sind, dann sollte das machbar sein.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Beitrag von mschnell »

Danke !

Das hilft mir zu verstehen, wie ich mit Lazarus umgehen soll. :)

Allerdings bringt es mich bei der Installation des RO - Paketes nicht weiter. mir scheint, ich habe alles richtig gemacht, und es klappt trotzdem nicht.

Gibt es vielleicht noch irgendwo eine Einstellung außerhalb der lpk-Datei wo die Units beim Rekompilieren von Lazarus gesucht werden ?

-Michael

Antworten