Lazarus-Anwendung mit QT weitergeben (libqt4intf.so)

Giantics
Beiträge: 88
Registriert: Sa 3. Mär 2007, 13:46
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Langenbrettach

Re: Lazarus-Anwendung mit QT weitergeben (libqt4intf.so)

Beitrag von Giantics »

marcov hat geschrieben:(um Environment variable LD_LIBRARY_PATH erweitert glaube ich. Damit kann mann lokal die globale ld.so.conf overriden)
Das könnte man zwar tun, allerdings halte ich das nicht für eine gute Lösung. Was passiert, wenn mehrere Lazarus-QT-Anwendungen installiert werden und jede bringt ihre eigene libqt4intf.so mit und erweitert den LIBRARY_PAHT? Dann finden sich in den Pfaden mehrere gleiche Bibliotheken, eventuell mit unterschiedlichen Versionen! Ich denke sowas sollten wir vermeiden und das lieber, wie von Targion vorgeschlagen, als Abhängigkeit in einem eigenen Package realisieren.

marcov
Beiträge: 1102
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Lazarus-Anwendung mit QT weitergeben (libqt4intf.so)

Beitrag von marcov »

Hitman hat geschrieben:
marcov hat geschrieben:
Hitman hat geschrieben:Linux ist nicht Windows! LD sucht in den in /etc/ld.so.conf angegebenen Pfaden ...
(um Environment variable LD_LIBRARY_PATH erweitert glaube ich. Damit kann mann lokal die globale ld.so.conf overriden)
Ja, darum dann mein Code Beispiel eines solchen Skriptes. :)
Das Skript ist dann vielliecht Falsch :P . Es nimmt an das der User LD_LIBRARY_PATH nicht im .profile gesetzt hat:

#!/bin/sh
basepath=$(pwd)
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$basepath":$basepath/meineanwendung

Fuer normale Anwender kein Problem, aber Leute auf multiuser Installationen haben oft eine Menge lokale userspecificsche an der Environment.

Das ist nicht ganz zo weit entfernt. Wenn ich zb ports (oder rpm/deb packages) in eine lokale (im Home verzeichnis) Hierarchie installiert habe, habe ich das lib/ Verzeichnis dieser Hierarchie vielleicht in LD_LIBRARY_PATH stehen.

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Lazarus-Anwendung mit QT weitergeben (libqt4intf.so)

Beitrag von Hitman »

Stimmt natürlich, das Problem ist dann (soweit ich mich erinnere) aber, dass das in deiner Form schief geht, wenn LD_LIBRARY_PATH noch nicht gesetzt ist. Folglich müsste man das ganze eigentlich in einen if-Block werfen.

Code: Alles auswählen

#!/bin/sh
basepath=$(pwd)
if [ "$LD_LIBRARY_PATH" ]; then
  LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$basepath"
else
  LD_LIBRARY_PATH="$basepath"
fi
export LD_LIBRARY_PATH
$basepath/meineanwendung
Zufrieden? ;-)

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Lazarus-Anwendung mit QT weitergeben (libqt4intf.so)

Beitrag von Targion »

Da ich ein Paket mit der Bibliothek sowieso für meine Build Service Experimente brauche, habe ich es schon mal veröffentlicht: Am Buildservice-FrontEnd kann man jetzt das Paket als DEB und RPM herunterladen.
Du musst den Nutzern deines Prohrammes nur sagen, dass sie das passende Paket für ihre Distribution vorher installieren müssen, oder aber einfach "libqt4intf" zu den Paketabhängigkeiten in deinem Spec- oder Controlfile hinzufügen.

Giantics
Beiträge: 88
Registriert: Sa 3. Mär 2007, 13:46
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Langenbrettach

Re: Lazarus-Anwendung mit QT weitergeben (libqt4intf.so)

Beitrag von Giantics »

So ist das eine saubere Sache!
Habe gerade das deb-Paket für Debian-Etch runtergeladen, ich glaube allerdings im Gegensatz zu den rpm-Paketen fehlt da die libqt4intf.so ;-)

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Lazarus-Anwendung mit QT weitergeben (libqt4intf.so)

Beitrag von Targion »

Hmm... Liegt vermutlich daran, dass ich mit dem Bauen von DEB-Paketen im build Service noch keine Erfahrung habe. Danke für die Info, ich korrigiere das sofort.

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: Lazarus-Anwendung mit QT weitergeben (libqt4intf.so)

Beitrag von creed steiger »

Targion hat geschrieben:Hmm... Liegt vermutlich daran, dass ich mit dem Bauen von DEB-Paketen im build Service noch keine Erfahrung habe. Danke für die Info, ich korrigiere das sofort.
Danke für die Pakete.
Mit LD_LIBRARY_PATH rumspielen ist nicht ganz ungefährlich.
So ist das eine saubere Sache.

Antworten