On Sat, 10 Jul 2004 17:11:19 +0200, André Kelpe wrote:
Am Sa, den 10.07.2004 schrieb Michael Schwendt um 16:55:
> > Doch, doch das hilft meistens, zumindest unter "normalen"
> > 32-Bit-Systemen.
>
> Sehr ungewöhnlich und deutet auf Paketfehler hin. Denn ldconfig man nicht
> mehr als im Manual beschrieben.
So ganz erklären kann ich mir das auch nicht, jedoch ist mir schon oft
aufgefallen: Nehmen wir an ich möchte Software X kompilieren. Diese
benötigt foobar-devel, welches nicht installiert ist. Installiere ich es
nachdem configure darüber gemeckert hatte, findet das configure es
dennoch nicht. Führe ich ldconfig aus, und danach wieder das configure,
findet es alles was es braucht, und läuft sauber durch.
Das ist dann trotzdem nur ein work-around für Paketfehler bzw. einen Bug
in RPM (wenn mehrere Libpakete gleichzeitig installiert werden, wird in
manchen Fällen irgendwie der ldconfig Aufruf vergessen, einige Fälle sind
dazu bekannt, z.B. libtiff/libjpeg FC1).
Das foobar-devel Paket selbst braucht ldconfig nicht aufrufen. ldconfig
ist für Laufzeitangelegenheiten und interessiert beim Compilieren/Linken
nicht. Jedoch enthalten die -devel Pakete den Softlink libfoobar.so, der
auf die aktuelle libfoobar.so.$VERSION zeigt, gegen die mit -lfoobar
gelinkt werden soll. Die libfoobar.so.$VERSION ist jeweils im Hauptpaket
und wird von ldconfig als Link auf die volle Version libfoobar.so.X.Y.Z
angelegt. Das Hauptpaket einer Lib ruft ldconfig normalerweise im %post
Skript auf.