3rd Party Paket installieren

Rund um die LCL und andere Komponenten
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

3rd Party Paket installieren

Beitrag von mschnell »

Ich möchte ein 3rd Party Paket installieren. Genau gesagt das neue RemObjects Beta ("Vinci"), das nun auch für die Verwendung mit Free Pascal spezifiziert ist und zu dem ich auch vier lpk files zum Installieren der Pakete in Lazarus bekommen habe.

Drei Pakete basieren auf einem "Core" Paket. Das muss ich wohl zuerst installieren.

Ich kann dieses Core Paket öffnen und dann übersetzen. Dabei entstehen .o und .ppu Dateien in einem Directory, das neben dem Directory liegt, in dem die lpk Datei ist. Keine Ahnung, warum dieses Verzeichnis kreiert und gefüllt wird. Muss wohl irgendwie im Paket hinterlegt sein. Ich habe das nicht angegeben.

Wenn ich nun versuche, das Core Paket zu installieren ("Installieren" Knopf im Paket Fenster), versucht er, Lazarus neu zu kompilieren und kommt dann nach einiger Zeit mit der Fehlermeldung, dass er eine (die erste, die er sucht) der RemObjects-Units nicht findet. Die angemeckerte ppu-Datei ist im besagten Directory jedenfalls da.

Ich habe dann im Paket-Fenster unter Compiler-Optionen das besagte Directory mit den ppu-Dateien unter "zusätzliche Units" hinzugefügt. Das nutzt aber nichts.

Was mache ich da falsch ?

Gruß,
-Michael

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Hallo!

Vielleicht vermisst er den Quelltext? ppu sind doch Binärpakete, wenn ich nicht irre?

Gruß, Alexander

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 »

Du hast irgendwo in den pfaden alte .ppus liegen woher auch immer die kommen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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 »

Euklid hat geschrieben:Vielleicht vermisst er den Quelltext? ppu sind doch Binärpakete, wenn ich nicht irre?

Er sagt, er findet die Unit nicht. Bei "Compilieren" hat er den Quelltext gefunden und in .o und .ppu übersetzt. Wo kann ich denn noch einen Pfad zur "Unit" eintagen ?

-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 »

Christian hat geschrieben:Du hast irgendwo in den pfaden alte .ppus liegen woher auch immer die kommen.


dann wäre die Fehlermeldung aber missverständlich.

Wo sind denn solche Pfade angegeben ?

Ich durchsuche 'mal die Platte ob die angemeckerte Unit .ppu sonst noch irgendwo ist.

-Michael

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

mschnell hat geschrieben:Er sagt, er findet die Unit nicht. Bei "Compilieren" hat er den Quelltext gefunden und in .o und .ppu übersetzt. Wo kann ich denn noch einen Pfad zur "Unit" eintagen ?


Ich hätte ihn jetzt auch bei den Compiler-Optionen angegeben...
Hatte nur gedacht, vielleicht vermisst er die *.pas-Datei. Aber wenn er beim Compilieren keine Probleme gehabt hat, sollte ja eigentlich alles nötige gefunden worden sein.

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

Das Problem kenn ich. Du mußt in allen lpk's die Suchpfade für den Source-Code angeben. Zusätzlich sollte man das Zielverzeichnis für die Kompilate auf ein einziges Verzeichnis lenken, z.B. ../lib/$(TargetCPU)-$(TargetOS). Die relative Pfadangabe mußt du natürlich an deine Verhältnisse anpassen. Bei den Remobjects sind nämlich ein paar von diesen Parametern unvollständig, da solltest du denen mal klarmachen und dafür sorgen, das sie das ändern.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

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 »

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.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

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:Das Problem kenn ich. Du mußt in allen lpk's die Suchpfade für den Source-Code angeben. Zusätzlich sollte man das Zielverzeichnis für die Kompilate auf ein einziges Verzeichnis lenken, z.B. ../lib/$(TargetCPU)-$(TargetOS).

Das verstehe ich jetzt "trocken" nicht, aber ich versuche das am Mittwoch, wenn ich wieder im Büro bin am lebenden Objekt.

Wo gebe ich den Suchpfad für den Source-code an ? Das das Paket problemlos kompiliert wurde ist der Sourcecode anscheinend bereits gefunden worden. Er liegt (momentan) im selben Verzeichnis wie das lpk. Vielleicht ist das nicht gut.

Wo gebe ich das Zielverzeichnis im "Paket"-Fenster an ?

Was meinst Du mit "auf ein einziges Verzeichnis" ?
Ich habe im moment ja nur ein Paket (die anderen kommen, wenn das funktioniert). Oder meinst Du das muss zur Lazarus-Grundkoinfiguration passen ? Meinst Du die ppus dürfen nicht in einem Paket-spezifischen Verzeichnis liegen, sondern müssen mit den lcl-tpus zusammen abgespeichert werden ? Das wäre aber nicht schön.


schnullerbacke hat geschrieben:Bei den Remobjects sind nämlich ein paar von diesen Parametern unvollständig, da solltest du denen mal klarmachen und dafür sorgen, das sie das ändern.


Das werde ich machen, falls ich jemals verstehe, was da vor sich geht.... Dafür ist so ein Beta ja da.

Welche Parameter meinst Du ? Wo gibt man die an ? sind die in der lpk-Datei abgespeichert ? Hast Du das RO Beta auch ? Wie weit bist Du damit gekommen ?

-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 »

Zunächst mal würde ich dringend dazu raten die *.dpk und *lpk in ein gesondertes Verzeichnis (z.B. ../packages/lazarus; ../packages/delphi7) zu legen und die Quellcodes grundsätzlich getrennt zu halten (z.B. ../source). Das dient nicht nur der Übersichtlichkeit. Alsdann wäre ein Verzeichnis ../lib mit den entsprechenden Unterverzeichnissen für die Kompilate gut, also etwa ../lib/delphi7 oder ../lib/i386-linux. Das hätte den Vorteil, das man mehrer Umgebungen gleichzeitig benutzen darf (bei Windoofs natürlich).

#Edit

Wenn man unter Linux ntfs-3g benutzt, kann man sich die doppelte Installation des Paketes ersparen und Windoofs und Linux nebeneinander betreiben. Dafür reicht dann einfaches Installieren des Paketes unter dem gewünschten BS und den jeweiligen Umgebungen.

Der Erfolg liegt, wie bei beidseitig verwendbarem Klopapier, auf der Hand... :lol:

Die Compiler-Einstellungen für das Paket sehen dann etwa so aus:
Dateianhänge
lpk-inst.JPG
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

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

Beitrag von pluto »

Aber was mich noch stört bei diesem Thema das ich Lazarus zweimal Installiert haben muss, gibt es dafür keine Lösung ?
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 »

Die würde es wohl dann geben, wenn die Kompilate der Umgebung so wie oben gezeigt in Abhängigkeit vom BS gespeichert werden. Allerdings wäre dann folgendes zu beachten:

1) Windows muß installiert sein
2) ntfs-3g muß installiert sein
3) Lazarus wird auf der NTFS-Platte von Windoofs installiert
4) alle!!! Unit-Kompilate landen in BS-abhängigen Pfaden
5) Symlinks auf den Lazarus- und FPC-Pfad (Source) auf der NTFS-Platte
werden in geeigneter Weise in das Linux-Dateisystem gelegt
6) die Ausführbaren Programme (Lazarus selbst) landet in einem Pfad ../bin
7) die Umgebungseinstellungen werden in einem BS-abhängigen Pfad abgelegt
8) in /etc/fstab muß die NTFS-Platte mit:

/dev/hdxY /mnt/hdxY ntfs-3g 0 0

gemountet werden (Parameter müssen eventuell anders aussehen).
9) alle Pfad-Angaben werden relativ angegeben
10) der Verweis auf gdb muß BS-abhängig sein
11) FPC-bin muß für Linux extra installiert sein, die FPC-Version für Win und Linux muß gleich sein

Das sollte grob die minimale Konfig sein. Da bei Linux für den User der auf Lazarus zugreift im eigenen Home-Verzeichnis ein Pfad .lazarus (versteckt) angelegt wird, können alle Packages ebenfalls auf der NTFS-Platte landen. Es wird ja jeweils ein Abbild in /home/user/display/.lazarus/... erzeugt.

Bezüglich FPC wäre aber eine ähnliche Vorgehensweise möglich. Da fragt sich nur, wer sich die Arbeit machen will das alles so einzurichten. Machbar wäre es aber.

Indes halte ich es für klüger, für ein heterogenes Netz die Packages auf einem File-Server abzulegen und von dort aus zu installieren. Änderungen wären dann immer für alle auf dem aktuellen Stand. Nach meinen Erfahrungen mit Delphi/Kylix ist dafür aber mindestens ein GB-Lan fällig, sonst dauert das Laden zu lange.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

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

Beitrag von pluto »

ich weiß noch nicht genau. evlt. mache ich mir mal die Arbeit. Weil so ungefähr habe ich mir das auch Vorgestellt.

Es geht ja darum nur noch ein Lazarus Verzeichnis zu haben.
Um z.b. Speicher Platzt zu sparen weil ich nur 30 GB habe und die sind so gut wie voll.

Denn Qullecode von Lazarus müsste man ja nur noch einmal Kompilieren für Linux und dann einmal für Windows.

Und dabei muss dann die jeweiligen exe Dateien evlt. umbenannt werden.
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 »

Nee, exe-Dateien jibbet nur bei Windoofs. Das ist das kleinere Problem. Die Kompilate für die Pakete müssen getrennt sein, das ist entscheidend, denn die werden hinterher in neue Projekte einkompiliert und die Kompilate sind BS-abhängig.

Die ausführbare Datei kann man ja nach dem gleichen Muster mit ../bin/$(TargetCPU)-$(TargetOS) erzeugen lassen. Dann ist die auch nach BS in unterschiedlichen Zielverzeichnissen.

# Edit Der entscheidende Vorteil wäre, das auf beiden BS exakt das gleiche läuft. Eigene Projekte müßten auch nur noch einmal gespeichert werden. Allerdings eben alles auf der NFTS-Platte. Der umgekehrte weg könnte auch gehen, wenn man von Windoofs aus auf die Linux-Platte zugreifen kann. Das ist aber nicht für alle Datei-Systeme von Linux möglich. Für Ext1-3 gibt es aber glaube ich Treiber.

Hier der Link zum Ext2IFS-Windows-Tool:

http://www.fs-driver.org/download.html

arbeitet unter XP und frißt auch Ext3. Die Einstellungen müssen in der System-Steuerung von Windoofs vorgenommen werden.
Humor ist der Knopf, der verhindert, daß uns der Kragen platzt.

(Ringelnatz)

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

Beitrag von pluto »

bei den Projekten gibt es nur ein Problem mit den Verzeichnis angeben. Dann gehen ja nur "Halbe" Verzeichnis angaben z.b.
Lazarus/.....

oder so...
wobei der Trenner auch anders ist. ich brauche immer bis jetzt zwei Version von der LPI Datei

edit:
ich habe leider ext3 für meine Linux Pation unterscheiden sich 3 von 2 sehr stark ?
MFG
Michael Springwald

Antworten