Как скомпилировать libvips с помощью libjpeg-turbo8 вместо libjpeg - PullRequest
0 голосов
/ 23 апреля 2020

Я хотел бы скомпилировать libvips с libjpeg-turbo8, чтобы получить лучшую производительность, но у меня возникают проблемы при ее замене.

Когда установлены libjpeg и libjpeg-turbo8, обычный libjpeg, похоже, используется во время компиляции, так как производительность довольно плохая. (У меня есть другое docker изображение, где все правильно компилируется, где это происходит намного быстрее.)

Когда я пытаюсь удалить libjpeg, он также удаляет libtiff.

Итак, мой вопрос: как я могу скомпилировать libvips с libjpeg-turbo8, сохраняя библиотеки, которые зависят от libjpeg?

# apt remove libjpeg8
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  libjpeg-dev libjpeg8 libjpeg8-dev libtiff-dev libtiff5 libtiff5-dev libtiffxx5
0 upgraded, 0 newly installed, 7 to remove and 113 not upgraded.
After this operation, 1664 kB disk space will be freed.
Do you want to continue? [Y/n] 

Ниже фрагмента apt list, который показывает все установленные jpeg библиотеки:

libjpeg-dev/bionic,now 8c-2ubuntu8 amd64 [installed,automatic]
libjpeg-progs/bionic 1:9b-2 amd64
libjpeg-turbo-progs/bionic-updates,bionic-security 1.5.2-0ubuntu5.18.04.3 amd64
libjpeg-turbo-test/bionic-updates,bionic-security 1.5.2-0ubuntu5.18.04.3 amd64
libjpeg-turbo8/bionic-updates,bionic-security,now 1.5.2-0ubuntu5.18.04.3 amd64 [installed]
libjpeg-turbo8-dbg/bionic-updates,bionic-security 1.5.2-0ubuntu5.18.04.3 amd64
libjpeg-turbo8-dev/bionic-updates,bionic-security,now 1.5.2-0ubuntu5.18.04.3 amd64 [installed,automatic]
libjpeg62/bionic 1:6b2-3 amd64
libjpeg62-dev/bionic 1:6b2-3 amd64
libjpeg8/bionic,now 8c-2ubuntu8 amd64 [installed,automatic]
libjpeg8-dbg/bionic 8c-2ubuntu8 amd64
libjpeg8-dev/bionic,now 8c-2ubuntu8 amd64 [installed,automatic]
libjpeg9/bionic 1:9b-2 amd64
libjpeg9-dbg/bionic 1:9b-2 amd64
libjpeg9-dev/bionic 1:9b-2 amd64

1 Ответ

0 голосов
/ 24 апреля 2020

Нет необходимости что-либо перестраивать - два libjpeg совместимы с двоичными файлами, и вы можете просто удалить один двоичный файл библиотеки и установить другой.

apt знает, как это сделать. Просто apt install libjpeg-turbo8, и он удалит медленную libjpeg8, установит новую турбо-версию и отключит вас go.

...