[gelöst] Package über Online Package Manager geladen - Einrichtung nicht möglich

Für Fragen rund um die Ide und zum Debugger
Antworten
Michel
Beiträge: 35
Registriert: Sa 4. Dez 2021, 11:43
OS, Lazarus, FPC: Windows 10 / Ubuntu 20.04 LTS (L 2.0.12 FPC 3.2.0)
CPU-Target: 64Bit

[gelöst] Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von Michel »

Irgendwie stehe ich auf dem Schlauch.

Ich versuche vergeblich das Package Synapse in die IDE einzubinden. Dazu muss ich eigentlich nur das Package via Online-Package-Manager herunterladen und dann nur noch via "Installierte Packages einrichten" auswählen und die IDE zum Schluss neu compilieren.

Nun ist nach dem Herunterladen und Compilieren des Packages Schluss. Unter "Installierte Packages einrichten" ist das Package weder als installiert vorhanden noch als verfügbar zur Installation angezeigt.

Das Package ist definitiv da, aber ich kann es nicht einsetzen und auch nicht einmal im Projekt direkt einbinden. Das Ganze befindet sich auf einem Ubuntu-Rechner in einem versteckten Verzeichnis (.lazarus). Natürlich könnte ich manuell das Package in den Projektordner kopieren, aber das war einmal völlig unkompliziert. Ich habe so auch PowerPDF erfolgreich herunterladen, compilieren und einrichten können.

Wie bekomme ich die Liste der verfügbaren Packages wieder aktuell, also einschl. aller im onlinepackagemanager enthalten und nicht eingerichteten Packages?
Zuletzt geändert von Michel am Do 12. Mai 2022, 17:30, insgesamt 1-mal geändert.

Benutzeravatar
gladio
Beiträge: 217
Registriert: Sa 21. Jun 2014, 06:15
OS, Lazarus, FPC: Win10-64 - aktuelle Lazarus/FPC Standard-Edition
CPU-Target: 64Bit
Wohnort: Rügen

Re: Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von gladio »

Der Online-Package-Manager installiert dir die ausgewählten Teile doch selbst und fragt zum Schluss, ob die IDE neu compiliertwerden soll.
Mehr ist da nicht zu tun. Nix "Installierte Packages einrichten".

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von wp_xyz »

Hab gerade nachgesehen: Laz_Synapse ist ein "Runtime package", das heißt es wird von der IDE nicht benötigt und auch nicht - wie Designtime packages - in the IDE hineingelinkt, es gibt keine Icons auf der Komponentenpalette und macht auch ansonsten keine Änderungen/Erweiterungen an der IDE.

Um Routinen aus dem Laz_Synapse-Package zu verwenden, musst du dieses Package deinem Projekt hinzufügen: Öffne den Projekt-Manager, klicke auf "Hinzufügen" > "Neue Anforderung", in der Liste in dem erscheinenden Fenster suche (und markiere!) "Laz_Synapse", dann OK. Nun "kennt" dein Projekt dieses Package, und zu kannst z.B. die Synapse-Unit synaser in die Uses-Zeile aufnehmen.

Ein Runtime-Package wird vom Online-Package-Manager lediglich heruntergeladen, ausgepackt und kompiliert, ein Neukompilieren der IDE entfällt, weil es nicht erforderlich ist.

Michel
Beiträge: 35
Registriert: Sa 4. Dez 2021, 11:43
OS, Lazarus, FPC: Windows 10 / Ubuntu 20.04 LTS (L 2.0.12 FPC 3.2.0)
CPU-Target: 64Bit

Re: Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von Michel »

Hmm, ich komme irgendwie nicht ganz mit.

Also ich habe schon einmal mit synapse für e-mail Versand erfolgreich gearbeitet, allerdings in einer älteren Version von Lazarus.

Ich kann mich jetzt nicht mehr genau erinnern, ob hier nach dem Installieren via Online Package Manager zeitgleich automatisch direkt das Neukompilieren der IDE angeboten wurde oder eben nicht, weil es nicht über grafische IDE-Komponenten verfügt. Aber die units waren in jedem Projekt verfügbar. Und genau das geht eben nicht. Die units werden nicht gefunden.

Ich kann über "Package|Geladenes Package öffnen" das laz_synapse PAckage auswählen, kompilieren. Die Schaltfläche "Verwenden|Dem Projekt hinzufügen" hat jedoch scheinbar keinerlei Effekt.

Wie kann ich der IDE bzw. dem Projekt vermitteln, wo es die verfügbaren units (siehe auch "Datei|Unit öffnen") von laz_synapse suchen soll?

Michel
Beiträge: 35
Registriert: Sa 4. Dez 2021, 11:43
OS, Lazarus, FPC: Windows 10 / Ubuntu 20.04 LTS (L 2.0.12 FPC 3.2.0)
CPU-Target: 64Bit

Re: Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von Michel »

wp_xyz hat geschrieben:
Fr 6. Mai 2022, 18:08
Öffne den Projekt-Manager, klicke auf "Hinzufügen" > "Neue Anforderung", in der Liste in dem erscheinenden Fenster suche (und markiere!) "Laz_Synapse", dann OK. Nun "kennt" dein Projekt dieses Package, und zu kannst z.B. die Synapse-Unit synaser in die Uses-Zeile aufnehmen.
Wo finde ich diesen Projekt-Manager in der IDE?

Michel
Beiträge: 35
Registriert: Sa 4. Dez 2021, 11:43
OS, Lazarus, FPC: Windows 10 / Ubuntu 20.04 LTS (L 2.0.12 FPC 3.2.0)
CPU-Target: 64Bit

Re: Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von Michel »

Tja, während ich hier verzweifelt versuche, synapse dem Projekt verständlich zu machen und ich im Projektinspektor sehe, dass eine vorliegende Abhängigkeit zu laz_synapse erkennt wird, wird nach einem erneutem Versuch des Kompilierens die betreffende unit nun gefunden.

Das Problem ist weg, warum genau bleibt leider unbekannt. Ungeachtet dessen Danke für die Hilfe bzw. Tips.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von wp_xyz »

Michel hat geschrieben:
Sa 7. Mai 2022, 11:55
Wo finde ich diesen Projekt-Manager in der IDE?
Falsche Bezeichnung meinerseits. Ich meine den Projekt-Inspektor, den du im Menü Projekt findest.
Michel hat geschrieben:
Sa 7. Mai 2022, 11:54
Also ich habe schon einmal mit synapse für e-mail Versand erfolgreich gearbeitet, allerdings in einer älteren Version von Lazarus.

Ich kann mich jetzt nicht mehr genau erinnern, ob hier nach dem Installieren via Online Package Manager zeitgleich automatisch direkt das Neukompilieren der IDE angeboten wurde
Es könnte natürlich sein, dass diese älterne Version von OPM noch nicht so schlau war, den Typ des Packages zu berücksichtigen, also die IDE einfach IMMER kompiliert hat.
Michel hat geschrieben:
Sa 7. Mai 2022, 11:54
Ich kann über "Package|Geladenes Package öffnen" das laz_synapse PAckage auswählen, kompilieren. Die Schaltfläche "Verwenden|Dem Projekt hinzufügen" hat jedoch scheinbar keinerlei Effekt.
Ich muss gestehen, diesen Weg bin ich noch nie gegangen (ich nehme immer "Package" > "Package-Datei öffnen"), und in der Tat, finde ich da laz_synapse nicht, andere Nur-Runtime-Packages dagegen schon...
Michel hat geschrieben:
Sa 7. Mai 2022, 11:54
Wie kann ich der IDE bzw. dem Projekt vermitteln, wo es die verfügbaren units (siehe auch "Datei|Unit öffnen") von laz_synapse suchen soll?
Wenn das Package einmal in "Package" > "Package-Datei öffnen" geöffnet war, weiß die IDE, dass es dieses Package gibt und wo es ist. Allerdings: beim OPM geht man nicht über diesen Dialog und ich meine, dass OPM das Package erst in den internen Packagelisten einträgt, wenn es erfolgreich kompiliert worden ist. Denn manchmal scheitert das Kompilieren eines Packages, und dann kann ich erst über "Package-Datei öffnen" weitermachen.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von wp_xyz »

wp_xyz hat geschrieben:
Sa 7. Mai 2022, 12:30
Michel hat geschrieben:
Sa 7. Mai 2022, 11:54
Ich kann über "Package|Geladenes Package öffnen" das laz_synapse PAckage auswählen, kompilieren. Die Schaltfläche "Verwenden|Dem Projekt hinzufügen" hat jedoch scheinbar keinerlei Effekt.
Ich muss gestehen, diesen Weg bin ich noch nie gegangen (ich nehme immer "Package" > "Package-Datei öffnen"), und in der Tat, finde ich da laz_synapse nicht, andere Nur-Runtime-Packages dagegen schon...
Ich habe in der MailingList nachgefragt, warum manche Packages unter "Geladenes Package öffnen" fehlen. Das liegt daran, dass hier Packages aufgeführt werden, die aktuell von der IDE geladen sind, z.B. weil sie als Designtime-Package "installiert" sind, oder von einem geladenen Package abhängen (z.B. das zu einem Designtime-Package gehörige Runtimepackage), oder weil es in einem Projekt verwendet wird.

Laz_Synapse ist ein Runtime-Package und daher nicht "installiert", und wenn kein anderes aktuell geladenes Package es verwendet, wird es hier nicht angezeigt. Fügst du das Package aber mit dem Projekt-Inspektor dem aktuellen Projekt hinzu, dann ist es unter "Geladenes Package öffnen" zu sehen. Oder du installierst das Package LazMapviewer_Synapse, das laz_synapse verwendet, dann ist es ebenfalls da.

Michel
Beiträge: 35
Registriert: Sa 4. Dez 2021, 11:43
OS, Lazarus, FPC: Windows 10 / Ubuntu 20.04 LTS (L 2.0.12 FPC 3.2.0)
CPU-Target: 64Bit

Re: Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von Michel »

So, ich habe hier nochmals genau geschaut. Denn ich hatte mit einer Version vor Lazarus 2.2.0 ein E-Mailprogramm erfolgreich mit synapse als Testprojekt erstellt. Und so ein Problem hatte ich definitiv nicht.

Ich habe daher synapse via Package|Online-Package-Manager einmal deinstalliert. Und voilá, Lazarus IDE wird autom. (nur OK möglich) neu kompiliert. Ob das nun erforderlich ist oder nicht, wird nicht unterschieden. Aber nun denn, es mag bei Installation nicht notwendig und bei der Deinstallation wieder notwendig sein. Ich bin da nicht so tief drin in dem Thema.

Ok, nun nochmal die Installation, schön der Reihe nach.
  • via Package|Online-Package-Manager "Synapse" markieren, "Installieren" wählen. Meldung "Incompatible package list", FPC: not tested lazarus: OK Widgetset: OK, mit OK fortfahren. Package synapes wird autom. nach der Installation kompiliert.
  • Klick auf local repo -> Unter "Persönlicher Ordner/.lazarus/onlinepackagemanager/packages wird Ordner "synapse40.1" angezeigt.
  • Neues Projekt erstellt, Unit blcksock zum Test via uses integriert, F9 -> Fehler: main.pas(8,58) Fatal: Kann blcksock nicht finden verwendet von main des Projektinspektors.
  • Packages|Installiertes package einrichten -> laz_synapse ist weder unter "Verfügbar für Installation" noch "Installieren" sichtbar
  • Packages|Geladenes Package öffnen -> laz_synapse nicht zu finden
  • Packages|Package-Datei (*lpk) öffnen, .lazarus/onlinepackagemanager/packages/synapse40.1/laz_synapse.lpk auswählen, "Verwenden" klicken, dem "Projekt hinzufügen" wählen, F9 -> Projekt erfolgreich kompiliert.
Ob das so beabsichtigt ist, sei mal dahin gestellt. Ich hätte hier erwartet, dass Synapse nach der Installation für die komplette IDE und künftige Projekte zur Verfügung steht, so wie ich dies in der Vorgängerversion von Lazarus definitiv hatte. Synapse ist ja nicht das einzige Package was nicht über visuelle IDE-Komponeten verfügt. Weiterhin sorgt unter Linux der führende Punkt für ein "Verbergen" des Verzeichnisses ".lazarus", d.h. die Dateiauswahl der IDE zeigt mangels Option, den Filter für versteckte Dateien anzuzeigen, den Pfad schlicht nicht an. Diesen muss man manuell eintragen. Wenn man Glück hat, ist es der zuletzt genutzte Pfad und wird dann vorgegeben. 8)

Nun, zumindest bietet sich als Workaround folgende Vorgehensweise an, um zumindest im jeweiligen Projekt mit Synapse arbeiten zu können:
  • via Package|Online-Package-Manager "Synapse" markieren, "Installieren" wählen. Meldung "Incompatible package list", FPC: not tested lazarus: OK Widgetset: OK, mit OK fortfahren.
  • Projekt erstellen / öffnen.
  • Packages|Package-Datei (*lpk) öffnen, .lazarus/onlinepackagemanager/packages/synapse40.1/laz_synapse.lpk auswählen, "Verwenden" klicken, dem "Projekt hinzufügen" wählen, F9 -> Projekt erfolgreich kompiliert. Wenn man alles in einem Rutsch durchführt, ist der Pfad hier bereits vorgegeben und kann verwendet werden. Ansonsten muss dieser manuell eingetragen werden.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von wp_xyz »

Michel hat geschrieben:
Do 12. Mai 2022, 17:30
[*]Projekt erstellen / öffnen.
[*]Packages|Package-Datei (*lpk) öffnen, .lazarus/onlinepackagemanager/packages/synapse40.1/laz_synapse.lpk auswählen, "Verwenden" klicken, dem "Projekt hinzufügen" wählen, F9 -> Projekt erfolgreich kompiliert. Wenn man alles in einem Rutsch durchführt, ist der Pfad hier bereits vorgegeben und kann verwendet werden. Ansonsten muss dieser manuell eingetragen werden.
Um für ein Projekt ein Package verfügbar machen, gehe ich anders vor. Denn bei deiner Variante müsste ich laufend durch das Dateisystem navigieren, um das Package zu finden, und du sagst ja selbst, dass der Standard-Installationsort der OPM-Packages unter Linux gar nicht einfach zu finden ist.

Besser ist es, den Projekt-Inspektor zu öffnen ("Projekt" > "Projekt-Inspektor"; der ist sehr wichtig, um mit einem Doppelklick schnell irgend beliebige Projekt-Dateien zu öffnen, und sollte immer offen sein). In der Toolbar klicke auf "Hinzufügen" > "Neue Anforderung", oder in der Baumansicht rechts-klicke auf "Benötigte Packages" > "Hinzufügen". In dem erscheinenden Dialog siehst du alle verfügbaren Packages. Klicke auf das gewünschte Package (es geht auch Mehrfachauswahl mit CTRL-Click), dann "OK" und das Package ist im Projekt. Anstatt durch die lange Package-Liste zu scrollen, kannst du in dem Suchfeld oben auch einen Teil des Package-Namens eingeben und die Liste verkürzt sich entsprechend.
Dateianhänge
add_package.png
add_package.png (10.83 KiB) 2072 mal betrachtet
laz_synapse.png
laz_synapse.png (15.81 KiB) 2072 mal betrachtet

Michel
Beiträge: 35
Registriert: Sa 4. Dez 2021, 11:43
OS, Lazarus, FPC: Windows 10 / Ubuntu 20.04 LTS (L 2.0.12 FPC 3.2.0)
CPU-Target: 64Bit

Re: [gelöst] Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von Michel »

Hmm,... viele Wege führen nach Rom. Danke für den Hinweis.

Ich habe da nochmals geschaut. Beim Einsatz der ersten visuellen Komponente, wo das zugehörige Package noch nicht Bestandteil des Projekts ist, wird diese Abhängigkeit autom. aufgelöst und das Package nebst Hinzufügen der passenden unit entsprechend ohne weiteres Zutun ebenso autom. eingebunden.

Bei synapse gibt es keine visuellen Komponenten, demnach fehlt es offensichtlich an einem Trigger, hier die Abhängigkeit gleichfalls autom. aufzulösen. Das manuelle Hinzufügen einer benötigten unit reicht hier als Trigger nicht aus. Ich bin mir eigentlich ziemlich sicher, dass in der Vorgängerversion das anders gelaufen ist. Aber, nun denn, so kommt man weiter.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: [gelöst] Package über Online Package Manager geladen - Einrichtung nicht möglich

Beitrag von wp_xyz »

Michel hat geschrieben:
Mo 23. Mai 2022, 16:50
Bei synapse gibt es keine visuellen Komponenten, demnach fehlt es offensichtlich an einem Trigger, hier die Abhängigkeit gleichfalls autom. aufzulösen. Das manuelle Hinzufügen einer benötigten unit reicht hier als Trigger nicht aus. Ich bin mir eigentlich ziemlich sicher, dass in der Vorgängerversion das anders gelaufen ist.
Ich denke, das war schon immer so. Wenn die IDE zu jeder Unit wüsste, in welchem Package sich die Unit befindet, dann könnte man sich all die Packages sparen. Das funktioniert nur bei Designzeit-Packages, weil diese Bestandteil der IDE sind. (Vielleicht gibt/gab es eine Version von Synapse mit visuellen Komponenten, die du früher verwendet hast?)

Siehe auch: https://wiki.freepascal.org/Lazarus_Pac ... package.3F

Antworten