Как установить более старую версию GhostScript?

Это второй раз, когда я получаю ошибку ошибки сегментации при попытке запустить GhostScript для любого файла PDF с pdfwrite.
В первый раз это был мой предыдущий дистрибутив Ubuntu 11.04, который впоследствии я полностью удаляю (не из-за gs), форматирую свой диск и т. Д., А затем снова устанавливаю 11.04

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

В прошлом (по крайней мере, два раза) я сообщал о проблемах в ветке GS Launchpad, но никто даже не отвечал, и на самом деле никто не отвечал мне на Launchpad ни за какой отчет, который я выпускаю, поэтому я решил полностью удалить ghostscript и установите другую версию.
Сначала я подумал добавить стабильный репозиторий Debian и установить более протестированную версию, но оказалось, что, возможно, это не очень хорошая идея - добавить репозиторий Debian в Ubuntu.

Поскольку я не могу "принудительно" использовать Synaptic для какой-либо предыдущей версии GS (поскольку она кажется единственной - проблемной), я не знаю, как решить эту проблему, и хотел спросить, как установить предыдущую версию, желательно 8.71, потому что это последняя версия стабильной версии Debian.


Обновить:

Я удалил GS 9.01 (и кучу других пакетов в пути) и последовал совету Бориса, поскольку я не знал, что еще я могу сделать.

Я установил:

libgs8_8.71~dfsg2-9_i386.deb
ghostscript_8.71~dfsg2-9_i386.deb

и проверил GS переводчик и все работало нормально.

Теперь я хотел вернуть все эти пакеты, удаленные при удалении GS 9.01, и мне нужно было сначала установить ghostscript-x:

ghostscript-x_8.71~dfsg2-9_i386.deb

Здесь начинается проблема:

Ошибка:
Разбивает существующий пакет 'gsfonts', который конфликтует: 'gs'.
Но "/home/zetah/gs/ghostscript-x_8.71~dfsg2-9_i386.deb" предоставляет его через: "gs,gs-afpl,gs-esp,gs-gpl"

Я не хотел тормозить вещи, поэтому я снял только что установлен libgs8 а также ghostscript и попытался удалить gsfonts пакет (который дополнительно удалил abiword, gnumeric,..), а затем установите все заново.
Но я узнал, что gsfonts требуется ghostscript и устанавливается всякий раз, когда ghostscript установлен (так что когда-либо прежде, чем возможность установить ghostscript-x пакет).

Теперь после установки libgs8 а также ghostscript, when I try to install ghostscript-x Я получил:

Ошибка:
Разбивает существующий пакет 'ghostscript', который конфликтует: 'gs'.
Но "/home/zetah/gs/ghostscript-x_8.71~dfsg2-9_i386.deb" предоставляет его через: "gs,gs-afpl,gs-esp,gs-gpl"

Это точно так же, если я пытаюсь использовать пакеты Ubuntu 10.10 ghostscript 8.71 с Launchpad

4 ответа

Как альтернативное решение - вы можете скомпилировать старую версию ghostscript.

скачать и распаковать файл tar

Загрузите файл tar с панели запуска.

настроить среду сборки

sudo apt-get build-dep ghostscript-x

скомпилировать и установить ghostscript

cd [ghostscript folder location]
sh autogen.sh
make
sudo make install

двоичные файлы

Все двоичные файлы установлены в /usr/local/bin

Таким образом, если вы бежите gs -v:

GPL Ghostscript 8.71 (2010-02-10) Copyright (C) 2010 Artifex Software, Inc. Все права защищены.

Если вы хотите запустить ghostscript Вы можете переназначить текущую символическую ссылку:

sudo rm /usr/bin/ghostscript
sudo ln -s /usr/local/bin/gs /usr/bin/ghostscript

Вот решение, опробованное и протестированное на Ubuntu 12.04 LTS....

Скачать исходники с http://downloads.ghostscript.com/public/

wget http://downloads.ghostscript.com/public/ghostscript-8.71.tar.gz

Распакуйте загруженный исходный код и перейдите в каталог.

tar xvf ghostscript-8.71.tar.gz
cd ghostscript-8.71

Настройте его (я использовал все значения по умолчанию)

./configure

Начать компиляцию с

make

Если вы столкнулись со следующей ошибкой:

./base/gp_unix.c:148:2: предупреждение: неявное объявление функции 'gettimeofday' [-Wimplicit-function-объявление] make: * [obj / gp_unix.o] Ошибка 1

Скомпилировать используя

make XCFLAGS=-DHAVE_SYS_TIME_H=1

Наконец, установите скомпилированные двоичные файлы, используя

make install

На этом этапе вы будете ghostscript будет установлен на /usr/local/bin/gs

Я также задавал этот вопрос на форумах Debian: ссылка, и с помощью члена damgaard я смог без проблем понизить GhostScript

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

После удаления поврежденного пакета (GS 9.01) ищите последнюю версию Ubuntu, поддерживающую нужный пакет (GS 8.71) - это Ubuntu 10.10, поэтому его репозитории добавляются в вспомогательный файл: /etc/apt/sources.list.d/maverick.list

Исследуя, какие пакеты затронуты этой идеей понижения, мы можем получить этот список:

ghostscript ghostscript-cups ghostscript-doc ghostscript-x libgs8 evince evince-common libevdocument3 libevview3 libspectre1

на котором мы запускаем этот однострочный (как sudo):

for a in ghostscript ghostscript-cups ghostscript-doc ghostscript-x libgs8 evince evince-common libevdocument3 libevview3 libspectre1; do echo -e "Package: $a\nPin: release a=maverick\nPin-Priority: 700" > /etc/apt/preferences.d/ps_downgrade_policies_$a; done

который создает следующие файлы в /etc/apt/preferences.d/ папка:

ps_downgrade_policies_evince
ps_downgrade_policies_evince-общий
ps_downgrade_policies_ghostscript
ps_downgrade_policies_ghostscript-чашки
ps_downgrade_policies_ghostscript-документ
ps_downgrade_policies_ghostscript-х
ps_downgrade_policies_libevdocument3
ps_downgrade_policies_libevview3
ps_downgrade_policies_libgs8
ps_downgrade_policies_libspectre1

с этим примером содержания:

Пакет: имя пакета здесь
PIN-код: релиз = индивидуалист
Приоритет пин-кода: 1000

Затем запустите:

sudo apt-get update
sudo apt-get dist-upgrade

Спасибо, черт побери:)

Попробуйте установить более новую версию: https://launchpad.net/~dns/+archive/gnu

Другие вопросы по тегам