Graphicsmagick вместо imagemagick и установка пакетов

Поставил не так давно graphicsmagick как замену для imagemagick, пакеты взаимоисключающие, по этому imagemagick пришлось сначала удалить. Всё работает хорошо, никакие пакеты которые использовали imagemagick не глючат при использовании graphicsmagick. Но, к сожалению появились две проблемы.

  1. При установки новых пакетов, у которых в зависимостях указана imagemagick, не хотят ставиться, потому что не могут поставить imagemagick. Естественно не могут, пакет ведь блокируется другим пакетом. Вот такой вывод идёт после перечисления устанавливаемых пакетов:
Спойлер
Total: 13 packages (13 new, 13 binaries), Size of downloads: 25986 KiB
Conflict: 1 block (1 unsatisfied)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (media-gfx/imagemagick-7.0.9.14:0/7.0.9::gentoo, binary scheduled for merge) pulled in by   
    media-gfx/imagemagick[jpeg?,perl?,png?,svg?,tiff?] (media-gfx/imagemagick[jpeg,perl,png,svg,tiff]) required by (virtual/imagemagick-tools-0:0/0::gentoo, installed) USE="jpeg perl png svg tiff" ABI_X86="(64)"                                                                       
                                                                                              
  (media-gfx/graphicsmagick-1.3.32:0/1.3::gentoo, installed) pulled in by                     
    media-gfx/graphicsmagick required by @selected
  1. При обновлении системы cl-update, та же ошибка, система не обновляется потому что у некоторых установленных пакетов в зависимости imagemagick, установка которого заблокирована пакетом graphicsmagick. Такой вот вывод:
Спойлер
blanco@calculate ~ $ cl-update -va
Синхронизация репозиториев
 * Проверка текущего сервера обновлений ...                                             [ ok ]
 * Проверка обновлений Distros ...                                                      [ ok ]
 * Проверка обновлений Calculate ...                                                    [ ok ]
 * Проверка обновлений Gentoo ...                                                       [ ok ]
 * Синхронизация завершена
Конфигурация системы
 * Сервер обновлений https://mirror.yandex.ru/calculate
Обновление пакетов
 * Вычисление зависимостей ...                                                          [ ok ]
[binary  N     ] acct-group/sshd-0::gentoo  13 KiB
[binary  N     ] acct-user/sshd-0::gentoo  0 KiB
[binary   R    ] dev-python/cssutils-1.0.2-r2::gentoo  USE="-test" PYTHON_TARGETS="python3_6 (-python3_7) (-python3_8) (-python2_7%*)" 725 KiB                                              
[binary  N     ] media-gfx/imagemagick-7.0.9.14:0/7.0.9::gentoo  USE="X bzip2 cxx djvu jpeg jpeg2k openexr perl png postscript svg tiff truetype webp wmf xml zlib -corefonts -fftw -fontconfig -fpx -graphviz -hdri -heif -jbig -lcms -lqr -lzma (-opencl) -openmp -pango -q32 -q8 -raw -static-libs -test" 0 KiB                                                                      
[blocks B      ] media-gfx/imagemagick ("media-gfx/imagemagick" is blocking media-gfx/graphicsmagick-1.3.32)                                                                                
 * 4 пакетов будет установлено, 738 KiB будет загружено
Conflict: 1 block (1 unsatisfied)
                                                                                              
 * Error: The above package list contains packages which cannot be                            
 * installed at the same time on the same system.

  (media-gfx/imagemagick-7.0.9.14:0/7.0.9::gentoo, binary scheduled for merge) pulled in by
    media-gfx/imagemagick required by (media-gfx/grub-splashes-calculate-18-r1:0/0::calculate, installed) USE="(split-usr)" ABI_X86="(64)"
    media-gfx/imagemagick required by (media-gfx/dm-themes-calculate-18:0/0::calculate, installed) USE="login splash (split-usr)" ABI_X86="(64)"
    media-gfx/imagemagick[jpeg?,perl?,png?,svg?,tiff?] (media-gfx/imagemagick[jpeg,perl,png,svg,tiff]) required by (virtual/imagemagick-tools-0:0/0::gentoo, installed) USE="jpeg perl png svg tiff" ABI_X86="(64)"                                                                       
    media-gfx/imagemagick required by (media-gfx/calculate-wallpapers-18:0/0::calculate, installed) USE="CL11 CL12 CL13 CL14 CL15 CL17 (split-usr)" ABI_X86="(64)"
    media-gfx/imagemagick required by (media-gfx/splash-themes-calculate-19:0/0::calculate, installed) USE="silent silent-shutdown" ABI_X86="(64)"

  (media-gfx/graphicsmagick-1.3.32:0/1.3::gentoo, installed) pulled in by
    media-gfx/graphicsmagick required by @selected 

For more information about Blocked Packages, please refer to the following
section of the Gentoo Linux x86 Handbook (architecture is irrelevant):

https://wiki.gentoo.org/wiki/Handbook:X86/Working/Portage#Blocked_packages
 * Выполнение Emerge завершилось с ошибкой
 * Не удалось обновить

И что-то у меня не получается нагуглить решение, подскажите как правильно делать в этом случае. Ставить обратно imagemagick не хочется, больно уж быстро работает graphicsmagick!

у imagemagick универсальное и скорее более жирное API, поэтому и компиляться с ним хотят все, кому не лень. graphicsmagick с теми-же системными вызовами работает по другому и быстрее (иногда), выдавая тот же результат, но наверно не везде, потому и скомпилировать с ним удаётся не всё. То, что бинарники у обоих с программными вызовами справляются одинаково хорошо, це есть гуд.
Вывод: ставить imagemagick и пусть проги вызывают для работы его, а graphicsmagick скомпилить с несовместимостью (на уровне названия бинарников) с imagemagick (USE="-imagemagick") и пользоваться graphicsmagick отдельно вручную или в скриптах.

1 Like

Спасибо за ответ, вариант рабочий, вполне, по крайней мере свои скрипты работают быстрей! Пока так и оставлю, хотя жаль конечно что не получается полностью заменить imagemagick, я думал graphicsmagick полностью подменяет его API.

Но если у кого есть ещё предложения, очень буду рад =)