Mailinglist Archive: opensuse-de (4628 mails)
| < Previous | Next > |
Re: Newbie und Programmins tallation, Mülldateien
- From: B.Brodesser@xxxxxxxxxxx (Bernd Brodesser)
- Date: Mon, 2 Sep 2002 09:31:09 +0200
- Message-id: <20020902073109.GB2203@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Hallo Philipp,
* Philipp Thomas schrieb am 02.Sep.2002:
Da haben wir anscheinend aneinander vorbeigeredet. Angenommen ein
Programm ist auf libname.so.<hauptversion> gelinkt und
libname.so.<hauptversion> ist ein SymLink (Oh, oh, hier hat das Wort
link eine vollkommen andere Bedeutung) auf
libname.so.<hauptversion>.<minorversion>. Ich installiere mir dieses
Programm und ich habe auch libname.so.<hauptversion> bei mir ist es
aber ein Symlink auf libname.so.<hauptversion>.<neuereminorversion>
Wenn das Programm dann bei mir nicht läuft, dann könnte man sich das
mit major- und minorversion auch schenken und nur eine
Versionsnummer verteilen.
Wieso? Wenn alles auch mit der neusten Version liefe, dann gäb es
doch auch keine Probleme.
Gut.
Huch, ich kenne nur den ld. Was ist denn ein dynamischer Linker?
Bernd
--
Bitte die Etikette beachten: http://www.suse-etikette.de.vu/etikette.html
Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten
benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen,
sonst nichts. |Zufallssignatur 4
* Philipp Thomas schrieb am 02.Sep.2002:
B.Brodesser@xxxxxxxxxxx (Bernd Brodesser) [1 Sep 2002 11:24:33 +0200]:
Die Frage ist, was passiert, wenn ein Programm gegen
libname.so.<hauptversion>.<minorversion> gelinkt ist, der Anwender
aber libname.so.<hauptversion>.<andereminorversion> hat.
Das Programm wird nicht laufen, da die Abhängigkeit nicht erfüllt ist.
Aber die einzigen Bibliotheken, die ich kenne und deren Soname die
volle Version besitzt sind die zu den binutils gehörenden Bibliotheken
(libbfd, lipopcodes).
Da haben wir anscheinend aneinander vorbeigeredet. Angenommen ein
Programm ist auf libname.so.<hauptversion> gelinkt und
libname.so.<hauptversion> ist ein SymLink (Oh, oh, hier hat das Wort
link eine vollkommen andere Bedeutung) auf
libname.so.<hauptversion>.<minorversion>. Ich installiere mir dieses
Programm und ich habe auch libname.so.<hauptversion> bei mir ist es
aber ein Symlink auf libname.so.<hauptversion>.<neuereminorversion>
Wenn das Programm dann bei mir nicht läuft, dann könnte man sich das
mit major- und minorversion auch schenken und nur eine
Versionsnummer verteilen.
Und was ist, wenn er eine höhere hauptversion hat?
Auch dann funktioniert es nicht und das ist gut so! Eben weil dem so
ist, können Programme koexistieren, die unterschiedliche Versionen der
gleichen Bibliothek verwenden.
Wieso? Wenn alles auch mit der neusten Version liefe, dann gäb es
doch auch keine Probleme.
Und was nimmt ./configure, wenn man selbst kompiliert?
Die Bibliothek, auf die lib<name>.so verweist.
Gut.
Die lib<name>.so Dateien werden i.d.R. ausschliesslich vom statischen
Linker zum Erstellen des Programmes benötigt.
Du meinst lib<name>.a so steht für shared object, a für archiv.
Nein, ich meinte durchaus lib<name>.so. Beachte, dass ich vom
statischen Linker, also dem normalen ld und nicht vom statischen
Linken sprach.
Huch, ich kenne nur den ld. Was ist denn ein dynamischer Linker?
Bernd
--
Bitte die Etikette beachten: http://www.suse-etikette.de.vu/etikette.html
Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten
benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen,
sonst nichts. |Zufallssignatur 4
| < Previous | Next > |