Edzard Egberts <
ed...@tantec.de> writes:
> Edzard Egberts schrieb:
>> libexiv2.so.5: cannot open shared object file
>>
>> Erst einmal die 锟絙lichen Verd锟絚htigen: Alles wurde richtig kopiert und
>> ist vorhanden
>
> Hmpf, das wird ja immer schr锟絞er: Noch einmal alles gebaut und diesmal
> ist keine libexiv2.so.5 vorhanden, nur eine libexiv2.so.12. Wieder
> alles r锟絙erkopiert und l锟絬ft immer noch nicht. Warum wird denn das
> Programm mit einer Verkn锟絧fung gebaut, die nicht (oder nicht ohne
> weiteres auffindbar) vorhanden ist? Mir aber auch grunds锟絫zlich
> schleierhaft, warum es zu einer Bibliothek immer zig Verkn锟絧fungen mit
> irgend einer Nummer gibt...
Diese 'irgendeine Nummer' ist die Versionsnummer der Bibliothek. Falls
als Beispiel mal annimmt, dass die Versionen 3.7 and 4.1 der
Bibliothek 'durcheinander' auf einem System installiert sind, sollte
das wie folgt aussehen:
- eine regulaere Datei libdurcheinander.so.3.7
- einen symlink libdurcheinander.so.3 -> libdurcheinander.so.3.7
- eine regulaere4 Datei libdurcheinander.so.4.1
- einen symlink libdurcheinander.so.4 -> libdurcheinander.so.4.1
- einen symlink libdurcheinander.so -> libdurcheinander.so.4.1
Die unterschiedlichen 'major versions' (3.x und 4.x) stuenden hier
fuer wechselseiting inkompatible Versionen einer Bibliothek gleichen
Namens und die 'minor versions' .7 and .1 fuer 'patch level'. Es
waere also das siebte update der Bibliothek 'durcheinander Version 3'
installiert und das erste der Bibliothek 'durcheinander Version
4'. Eine Anwendung koennte gegen irgendeinen dieserf Namen gelinkt
werden um mehr oder minder spezifisch die gewuenschte
Bibliotheksversion zu bestimmte (libdurcheinander.so => die neueste,
libdurcheinander.so.4 => neuestes Update von Version 4,
libdurcheinander.so.4.1 => Version 4.1 und keine andere).
Allerdings ist das seit ca 1999 obsolet weil es mittlerweile
Versionsinformation pro 'Symbol' in einer dynamischen Bibliothek gibt
(weil die 'major version' der C-Library seit damals aus politischen
Gruenden auf 6 festgelegt ist).
Insofern hier noch irgendetwas klar war, sollte das jetzt wohl
beseitigt worden sein :->.