[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Anwendungen + Bibliotheken verknüpfen



On 11.Aug 2005 - 18:18:54, Tobias Hilbricht wrote:
> Wie kann ich bei der Kompilation eines Programmes erreichen, daß es bestimmte 
> Bibliotheken einbezieht und auch zur Laufzeit verwendet? Ich möchte mir also 
> beispielsweise unter /usr/local eine aktuelle libfreetype-Version 
> installieren, und die aktuelle Scribus-Version soll diese Bibliothek 
> verwenden, die anderen Sarge-Programme aber die entsprechenden 
> Sarge-Bibliotheken. Wie kann man allgemein Anwendungen statisch mit 
> bestimmten Bibliotheken verknüpfen?

Ob und wie das geht haengt _immer_ von der jeweiligen Applikation ab. Es
gibt da keinen "allgemeinen Weg". Viele Applikationen nutzen die
autotools, das erkennst du daran das sie ein configure-Skript
mitbringen. Dieses kennt i.a. einige Optionen, welche genau sagt dir ein
Aufruf von configure --help. Je nach dem was bei Scribus da rauskommt,
koennte es ein --with-freetype=/pfad/zu/freetype geben oder was
anderes. 

Statisches Linken ist nicht unbedingt noetig, denn solange
/usr/local/lib von ld gefunden wird klappts auch mit 2 verschiedenen
freetype-Versionen gleichzeitig. Im Normalfall steht /usr/local/lib in
/etc/ld.so.conf drin und du musst eigentlich nichts weiter machen als
z.B. Scribus beizubringen die /usr/local-Version fuer freetype zu
benutzen. Mittels ldd auf das scribus-Binary kannst du spaeter
verifizieren welche libfreetype er benutzt, da sollte dann die aus
/usr/local erscheinen. Dasselbe geht fuer beliebige andere
Binaer-Programme, die weiterhin (so sie sie brauchen) die freetype aus
/usr/lib nutzen.

Andreas

-- 
You never hesitate to tackle the most difficult problems.



Reply to: