Как я могу установить GIMP 2.9 в Arch Linux?

Похоже, что /usr/lib64/libpgtypes.so — это каталог в вашей системе. (Я не могу сказать вам, правильно это или нет.)


Между прочим, в соответствии с хорошей практикой кодирования я настоятельно рекомендую вам заключать в двойные кавычки все ваши переменные.

Вместо ln -s ${src}/${lib} ${dest64}/${lib} вы должны написать ln -s "${src}/${lib }" "${dest64}/${lib}". Это также позволит вам правильно обрабатывать цикл for: for lib in "${libraries[@]}"; do ... done (уведомление @ вместо *)

1
23.01.2017, 02:32
1 ответ

Во-первых, не удаляйте конфликтующие файлы! Они, вероятно, принадлежат другому пакету; вы можете проверить это в pkgfile .

Как сказал Джейсон, лучше всего использовать диспетчер пакетов. Однако в вашем случае я не думаю, что проблема решаема с помощью pacman или AUR. Прошло много лет с тех пор, как я использовал Arch, поэтому я могу ошибаться, говоря следующее ... но похоже, что зависимости GIMP в pacman (GIMP 2.8) находятся в конфликте с зависимостями в AUR (GIMP 2.9). Другими словами, те, кто успешно построил GIMP 2.9 из AUR, вероятно, установили некоторые его зависимости из AUR, а у вас их нет. Это ошибка в упаковке. Эти зависимости, вероятно, не указаны явно в пакете AUR GIMP, потому что разработчики, вероятно, не осознали, что им это нужно. Это происходит, когда пакеты не собираются в чистой комнате . В общем, это печально известный ад DLL .

Итак, что касается решений ...

  1. Измените свой дистрибутив Linux
  2. Используйте альтернативный изолированный менеджер пакетов, такой как Nix.
  3. Используйте контейнер.

Смена дистрибутива

Первый вариант может быть спорным, но это не так. В разных дистрибутивах Linux используются разные стратегии управления выпусками. Например, Arch и Gentoo являются скользящими выпусками , но разница в том, что Gentoo имеет две разные ветви: стабильную и нестабильную. Напротив, в Arch есть только стабильный (pacman); AUR - это не ветка, а скорее полигон.Продолжая мой пример, когда вы запускаете Gentoo с нестабильной веткой портежа, все вы получаете из нестабильной ветки. (Да, вы можете выбрать вишню с маскированием пакетов, но я здесь в основном говорю). То же и со стабильным. Напротив, с Arch, когда вы начинаете использовать AUR, вы в основном смешиваете стабильный с нестабильным, и когда эти графы зависимостей конфликтуют, вы в конечном итоге сталкиваетесь с дилеммой.

Сказав все это, я ни в коем случае не рекомендую Gentoo или какой-либо другой конкретный дистрибутив (хотя это то, что я использую и, следовательно, наиболее знаком с ним). Я просто использую его ближайшего ... кузена для сравнения стратегии выпуска, потому что это важно при выборе дистрибутива. Если вы хотите запускать новейшее программное обеспечение, вам нужен дистрибутив, который позволит вам сделать это с минимальными усилиями, учитывая, что технически у вас могут быть более частые проблемы, чем со стабильным стабильным дистрибутивом.

Использование альтернативного диспетчера пакетов

Что касается использования альтернативного диспетчера пакетов, я буду говорить о Nix, потому что это тот, который, как я знаю, может делать то, что я предлагаю, а именно устанавливать пакеты изолированно от вашего существующего пакета. менеджер (пакман).

Когда вы устанавливаете пакет с Nix, он устанавливается вместе со всеми его зависимостями. Однако важным моментом является то, что установка (и) происходит изолированно от вашего существующего диспетчера пакетов; и даже изолированно от других пакетов, установленных через Nix. Это разрешило бы конфликты, потому что с Nix их просто нет. Обратной стороной является то, что вы получите избыточные установки различных пакетов.Например, когда вы устанавливаете foo с помощью Nix, он устанавливает glibc, даже если вы уже установили его через pacman.

На этот раз я не вижу GIMP 2.9 в Nix. Таким образом, вам придется создать пакет самостоятельно; возможно, основываясь на пакете 2.8.

Использование контейнера

Подобно диспетчеру пакетов, например Nix, с контейнером, например Docker, вы можете запускать GIMP 2.9 изолированно; со всеми его зависимостями и без конфликтов. Вот изображение, в котором используется GIMP из основной ветки GIT: https://hub.docker.com/r/jarfil/gimp-git/

-3
28.01.2020, 02:13

Теги

Похожие вопросы