Hallo,
ich bin gerade dabei ein eigenes Package zu testen.
Es enthält einen Verweis auf die ZEOS-Komponente TZAbstractRODataSet in der Unit ZAbstractRODataSet.
In der Package-Definition ist ZCore als benötigtes Package eingetragen.
Unter Windows reicht das aus, damit die Unit ZAbstractRODataSet gefunden und mein Package kompiliert wird.
Versuche ich nun das Package unter Kubuntu zu komplieren erhalte ich eine Fehlermeldung, dass die Unit nicht gefunden wurde.
Ich habe mittlerweile herausgefunden, dass ZAbstractRODataSet in keinem der ZEOS-Packages aufgeführt ist, also anscheinend nur implizit durch uses-Verweise eingebunden wird.
Wie es scheint arbeitet die Suche nach den benötigten units in Windows anders als in Linux - aber wie.
Wie kann ich Lazarus unter Linux beibringen, dass die fehlende Unit zum ZEOS Package gehört und in dessen Verzeichnis liegt (ohne dabei die ZEOS Packages zu verändern natürlich).
Irgend welche Ideen?
Danke
Suchpfad Linux (Kubuntu) vs. Windows
-
- Beiträge: 16
- Registriert: Di 15. Sep 2009, 09:02
-
- 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: Suchpfad Linux (Kubuntu) vs. Windows
Die Suche läuft auf allen Plattformen gleich ab -- natürlich nur, wenn die gleiche Konfiguration vorliegt (ob die Verzeichnisse dabei C:\abc oder /was/weiß/ich heißen, ist nebensächlich.lt.col.blair hat geschrieben:Wie es scheint arbeitet die Suche nach den benötigten units in Windows anders als in Linux - aber wie.
Ist das unter beiden Plattformen der Fall?lt.col.blair hat geschrieben:Ich habe mittlerweile herausgefunden, dass ZAbstractRODataSet in keinem der ZEOS-Packages aufgeführt ist, also anscheinend nur implizit durch uses-Verweise eingebunden wird.
Meine Glaskugel hat gerade keine Lust für mich zu arbeiten, deshalb musst du uns noch weiter Angaben zu den konfigurierten und tatsächlichen Pfaden geben:
- Wo liegen die Units, Wo liegen die .ppu und .o-Dateien?
- Sind die .ppu und .o-Dateien aktuell?
- Welche Pfade sind in den Paketen und in der fpc.cfg als Suchpfade angegeben?
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
-
- Beiträge: 16
- Registriert: Di 15. Sep 2009, 09:02
Re: Suchpfad Linux (Kubuntu) vs. Windows
Hallo,
musste erst mal ne Weile forschen und ausprobieren.
Also: ich hatte Lazarus unter Kubuntu bisher nur über das KPackageKit installiert (0.9.28) Als Linux-Neuling ging ich davon aus, dass das ausreicht - Denkfehler.
Eine Datei fpc.cfg ist anscheinend nicht auf meinem System vorhanden (wo müsste die stehen? - in /usr (und allen Unterverzeichnissen) habe ich nichts finden können).
(Ich habe ein Verzeichnis "/home/common" mit rwx-Rechten für alle User angelegt).
Die ZEOS-Packages stehen in /home/common/lazarus/comp/ZEOSDBO-6.6.6-stable
Die .ppu und .o-Dateien von ZEOS stehen in /home/common/lazarus/comp/ZEOSDBO-6.6.6-stable/packages/lazarus/build/.
Als Suchverzeichnis in den ZEOS-Packages ist ../../src/component;build angegeben.
Mein Package steht in /home/common/lazarus/comp/tslib.
Suchpfade habe ich nicht extra angegeben, da Package und units im selben Verzeichnis stehen.
Die Suchpfade zu den Dateien anderer Pakete (sprich ZAbstractRODataSet) kann ich ja nicht fest angeben - wer weiß wo die auf anderen Systemen stehen.
Inzwischen habe ich von Source Forge die .deb-Pakete für Lazarus 0.9.30 und fpc 2.4.2 geladen und für fpc die Pakete fpc_2.4.2-0_all.deb, fpc-source, fp-utils und fp-docs installiert.
Bei der Installation des Paketes lazarus-0.9.30_0.9.30-0_all.deb bekomme ich einen Abhängigkeitsfehler:
Error: Abhängigkeit nicht erfüllbar: lazarus-ide-0.9.30 (>=0,9,30).
- Ich sehe gerade. ich habe das "amd64"-Paket heruntergeladen, in dem das IDE-Paket als "lazarus-ide-0.9.30_0.9.30-0_amd64.deb" benann ist. - werde nochmal mit dem i386 versuchen.
Ich mag Linux wirklich und bin froh, mit Lazarus endlich eine Entwicklungsumgebung nach meinem Geschmack zu haben, aber es wird wohl noch eine Weile dauern, bis ich mich hier so selbstverständlich "bewegen" kann, wie das unter Windows war und ist.
...Aller Anfang ist schwer...
musste erst mal ne Weile forschen und ausprobieren.
Also: ich hatte Lazarus unter Kubuntu bisher nur über das KPackageKit installiert (0.9.28) Als Linux-Neuling ging ich davon aus, dass das ausreicht - Denkfehler.
Eine Datei fpc.cfg ist anscheinend nicht auf meinem System vorhanden (wo müsste die stehen? - in /usr (und allen Unterverzeichnissen) habe ich nichts finden können).

(Ich habe ein Verzeichnis "/home/common" mit rwx-Rechten für alle User angelegt).
Die ZEOS-Packages stehen in /home/common/lazarus/comp/ZEOSDBO-6.6.6-stable
Die .ppu und .o-Dateien von ZEOS stehen in /home/common/lazarus/comp/ZEOSDBO-6.6.6-stable/packages/lazarus/build/.
Als Suchverzeichnis in den ZEOS-Packages ist ../../src/component;build angegeben.
Mein Package steht in /home/common/lazarus/comp/tslib.
Suchpfade habe ich nicht extra angegeben, da Package und units im selben Verzeichnis stehen.
Die Suchpfade zu den Dateien anderer Pakete (sprich ZAbstractRODataSet) kann ich ja nicht fest angeben - wer weiß wo die auf anderen Systemen stehen.
Inzwischen habe ich von Source Forge die .deb-Pakete für Lazarus 0.9.30 und fpc 2.4.2 geladen und für fpc die Pakete fpc_2.4.2-0_all.deb, fpc-source, fp-utils und fp-docs installiert.
Bei der Installation des Paketes lazarus-0.9.30_0.9.30-0_all.deb bekomme ich einen Abhängigkeitsfehler:
Error: Abhängigkeit nicht erfüllbar: lazarus-ide-0.9.30 (>=0,9,30).

- Ich sehe gerade. ich habe das "amd64"-Paket heruntergeladen, in dem das IDE-Paket als "lazarus-ide-0.9.30_0.9.30-0_amd64.deb" benann ist. - werde nochmal mit dem i386 versuchen.
Ich mag Linux wirklich und bin froh, mit Lazarus endlich eine Entwicklungsumgebung nach meinem Geschmack zu haben, aber es wird wohl noch eine Weile dauern, bis ich mich hier so selbstverständlich "bewegen" kann, wie das unter Windows war und ist.
...Aller Anfang ist schwer...
- af0815
- Lazarusforum e. V.
- Beiträge: 6764
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Suchpfad Linux (Kubuntu) vs. Windows
... ist DER ARTIKEL: Lazarus unter Ubuntu bekannt ?lt.col.blair hat geschrieben:...Aller Anfang ist schwer...
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 16
- Registriert: Di 15. Sep 2009, 09:02
Re: Suchpfad Linux (Kubuntu) vs. Windows
@af08af: danke für den Tipp, habe mittlerweile laz 0.9.30 mit fpc 2.4.2 wieder zum Laufen bekommen.
Auch ZEOS 6.6.6 konnte ich installieren.
Bin jetzt wieder bei dem Versuch mein Package zu installieren.
Nochmal zu dem Pfaden:
ZEOS units (.o + .ppu) stehen in /home/common/lazarus/ZEOSDBO-6.6.6-stable/packages/lazarus/build
mein Package (source) ist in /home/common/lazarus/TSLib
In meinem Package ist unter "Benötigte Packages" "zcomponent" aufgeführt.
In den Compilereinstellungen meines Packages steht folgerichtig auch in der Rubrik "Vererbt"
>zcomponent 6.6.6
- Unit-Pfad = "../ZEOSDBO-6.6.6-stable/packages/lazarus/build"
Ich habe die Gegenprobe gemacht: wenn ich zcomponent aus der Liste der benötigten Packages entfernte, verschwindet auch der Pfad-Verweis in "Vererbt".
Wenn ich die Pfadangaben in "Vererbt" richtig deute, müsste das doch heißen, dass die Pfade zu allen units der "benötigten Packages" automatisch in den Suchpfad für den fpc-Aufruf hinzugefügt werden?
Unter Windows klappt das auch.
Wenn ich in die Uses-Liste ZConnection Statt ZAbstractRODataSet einsetze, findet er diese komischerweise (beide stehen im selben Verzeichnis).
Auch im lazarus Editor funktioniert "Deklaration suchen" (alt+hoch oder Ctrl+Klick) nur bei ZConnection, nicht bei ZAbstractRODataSet - wieder: beide .pas-Dateien stehen im selben Verzeichnis.
Übrigens: fpc -vut gibt folgende Pfade aus:
Configfile search: /home/lkutscher/.fpc.cfg
Configfile search: /usr/lib/fpc/etc/fpc.cfg
Configfile search: /etc/fpc.cfg
Reading options from file /etc/fpc.cfg
Path "./.fppkg/lib/fpc/2.4.2/units/x86_64-linux/*/" not found
Free Pascal Compiler version 2.4.2-0 [2010/11/20] for x86_64
[...]
Auch ZEOS 6.6.6 konnte ich installieren.
Bin jetzt wieder bei dem Versuch mein Package zu installieren.
Nochmal zu dem Pfaden:
ZEOS units (.o + .ppu) stehen in /home/common/lazarus/ZEOSDBO-6.6.6-stable/packages/lazarus/build
mein Package (source) ist in /home/common/lazarus/TSLib
In meinem Package ist unter "Benötigte Packages" "zcomponent" aufgeführt.
In den Compilereinstellungen meines Packages steht folgerichtig auch in der Rubrik "Vererbt"
>zcomponent 6.6.6
- Unit-Pfad = "../ZEOSDBO-6.6.6-stable/packages/lazarus/build"
Ich habe die Gegenprobe gemacht: wenn ich zcomponent aus der Liste der benötigten Packages entfernte, verschwindet auch der Pfad-Verweis in "Vererbt".
Wenn ich die Pfadangaben in "Vererbt" richtig deute, müsste das doch heißen, dass die Pfade zu allen units der "benötigten Packages" automatisch in den Suchpfad für den fpc-Aufruf hinzugefügt werden?
Unter Windows klappt das auch.
Wenn ich in die Uses-Liste ZConnection Statt ZAbstractRODataSet einsetze, findet er diese komischerweise (beide stehen im selben Verzeichnis).
Auch im lazarus Editor funktioniert "Deklaration suchen" (alt+hoch oder Ctrl+Klick) nur bei ZConnection, nicht bei ZAbstractRODataSet - wieder: beide .pas-Dateien stehen im selben Verzeichnis.
Übrigens: fpc -vut gibt folgende Pfade aus:
Configfile search: /home/lkutscher/.fpc.cfg
Configfile search: /usr/lib/fpc/etc/fpc.cfg
Configfile search: /etc/fpc.cfg
Reading options from file /etc/fpc.cfg
Path "./.fppkg/lib/fpc/2.4.2/units/x86_64-linux/*/" not found
Free Pascal Compiler version 2.4.2-0 [2010/11/20] for x86_64
[...]