В чем разница между libjpeg.so.8 и libjpeg.so.62

В Linux всегда есть предустановленные библиотеки декодеров jpeg, например:

/usr/lib/x86_64-linux-gnu/libjpeg.so
/usr/lib/x86_64-linux-gnu/libjpeg.so.62
/usr/lib/x86_64-linux-gnu/libjpeg.so.62.0.0
/usr/lib/x86_64-linux-gnu/libjpeg.so.8
/usr/lib/x86_64-linux-gnu/libjpeg.so.8.0.2

В чем разница между so библиотека? Есть ли libjpeg.so.62 построить из libjpeg-turbo?

1 ответ

Во-первых, если вы запустите:

ls -l /usr/lib/x86_64-linux-gnu/*jpeg*

вы увидите, что большинство файлов являются просто символическими ссылками на файл с полной версией, поэтому программы могут ссылаться на последнюю версию, указав неверсионную библиотеку, зная, что она будет указывать на последнюю версию:

lrwxrwxrwx 1 root root     17 Oct 20  2016 libjpeg.so -> libjpeg.so.62.2.0
lrwxrwxrwx 1 root root     17 Oct 20  2016 libjpeg.so.62 -> libjpeg.so.62.2.0
-rw-r--r-- 1 root root 436224 Oct 20  2016 libjpeg.so.62.2.0

Во-вторых, к сожалению, у меня нет тех же файлов, что и у вас, я бы помог в дальнейшем, но в целом вы можете найти, из какого пакета получен данный файл, вот так:

dpkg -S someFile

Итак, в моей системе я вижу, что libjpeg.a например, приходит из пакета libjpeg62-turbo-dev

dpkg -S libjpeg.a
libjpeg62-turbo-dev:amd64: /usr/lib/x86_64-linux-gnu/libjpeg.a
Другие вопросы по тегам