web-dev-qa-db-fra.com

Comment installer une ancienne version de GhostScript?

Ceci est deuxième fois Je reçois une erreur de segmentation lorsque j'essaie d'exécuter GhostScript sur n'importe quel fichier PDF avec pdfwrite
Pour la première fois, c’était ma précédente distribution Ubuntu 11.04, que j’ai ensuite complètement supprimée (pas à cause de gs), formatée mon disque, etc., puis réinstallée 11.04

Je ne sais pas quel pourrait être le problème. Je travaille souvent avec GS et, tout à coup, je commence à avoir ces erreurs sur tous les fichiers, comme si quelque chose n'allait pas avec ce paquet ou certaines de ses dépendances.
J'ai cherché dans l'historique Synaptic s'il y avait peut-être une récente mise à jour qui pourrait causer la paralysie de GS mais il n'y avait rien

J'ai signalé des problèmes dans le passé (au moins deux fois) sur la branche GS Launchpad, mais personne n’a même répondu, et en fait, personne ne m’a jamais répondu sur Launchpad pour aucun rapport que j’ai publié; et installez une autre version.
Au début, j’avais pensé ajouter un référentiel stable Debian et installer une version mieux testée, mais il s’est avéré que ce n’était peut-être pas une très bonne idée d’ajouter un référentiel Debian dans Ubuntu.

Comme je ne peux pas "forcer" Synaptic à une version précédente de GS (car il n’en existe qu’une, semble-t-il, problématique), je ne sais pas comment aborder ce problème et je voulais demander comment installer la version précédente, de préférence la version 8.71, car c'est la dernière version de Debian stable.


Mise à jour:

J'ai enlevé GS 9.01 (et plusieurs autres paquets sur le chemin) et suivi les conseils de Boris, car je ne savais pas quoi faire d'autre.

J'ai installé:

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

et testé GS interprète et tout fonctionnait bien.

Maintenant, je voulais remettre tous les paquets supprimés lors de la suppression de GS 9.01 et je devais d'abord installer ghostscript-x:

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

C'est là que le problème commence:

Erreur:
Rompt le paquet existant 'gsfonts' qui entre en conflit: 'gs'.
Mais le '/home/zetah/gs/ghostscript-x_8.71~dfsg2-9_i386.deb' le fournit via: 'gs, gs-afpl, gs-esp, gs-gpl'

Je ne voulais pas freiner les choses, j'ai donc supprimé simplement installé libgs8 et ghostscript, puis essayé de supprimer le paquet gsfonts (qui supprimait en outre abiword, gnumeric, ..), puis de tout réinstaller. .
Mais j’ai découvert que gsfonts est requis par ghostscript et qu’il est installé à chaque fois que ghostscript est installé (donc avant même d’installer le package ghostscript-x]).

Maintenant, après avoir installé libgs8 et ghostscript, lorsque j'essaie d'installer ghostscript-x, je reçois:

Erreur:
Rompt le paquet existant 'ghostscript' qui entre en conflit: 'gs'.
Mais le '/home/zetah/gs/ghostscript-x_8.71~dfsg2-9_i386.deb' le fournit via: 'gs, gs-afpl, gs-esp, gs-gpl'

C'est exactement la même chose si j'essaie avec les paquets Ubuntu 10.10 ghostscript 8.71 de Launchpad

6
zetah

Comme solution alternative, vous pouvez compiler l'ancienne version de ghostscript.

téléchargez et extrayez le fichier tar

Télécharger le fichier tar du tableau de bord.

configure l'environnement de construction

Sudo apt-get build-dep ghostscript-x

compiler et installer ghostscript

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

binaires

Tous les fichiers binaires sont installés dans /usr/local/bin

Ainsi, si vous exécutez gs -v:

GPL Ghostscript 8.71 (2010-02-10) Copyright (C) 2010 Artifex Software, Inc. Tous droits réservés.

Si vous voulez exécuter ghostscript, vous pouvez réaffecter le lien symbolique actuel:

Sudo rm /usr/bin/ghostscript
Sudo ln -s /usr/local/bin/gs /usr/bin/ghostscript
5
fossfreedom

Voici une solution testée et testée sur Ubuntu 12.04 LTS ....

Téléchargez les sources depuis http://downloads.ghostscript.com/public/

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

Décompressez le code source téléchargé et accédez au répertoire.

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

Configurez-le (j'ai utilisé tous les paramètres par défaut)

./configure

Démarrer la compilation avec

make

Si vous rencontrez l'erreur suivante:

./base/gp_unix.c:148:2: avertissement: déclaration implicite de la fonction 'gettimeofday' [-Wimplicit-function-declaration] make: * [obj/gp_unix.o] Erreur 1

Compiler en utilisant

make XCFLAGS=-DHAVE_SYS_TIME_H=1

Enfin, installez les fichiers binaires compilés en utilisant

make install

À ce stade, ghostscript sera installé à /usr/local/bin/gs

3
rahul286

J'ai également posé cette question sur les forums Debian: lien , et avec l'aide de membre damgaard , j'ai pu rétrograder GhostScript sans trop de peine

Voici un aperçu de ce régime plus général qui, je crois, peut être utilisé dans une situation similaire, compilé à partir des messages de damgaard:

Après la suppression du paquet en cause (GS 9.01), recherchez la dernière version d'Ubuntu prenant en charge le paquet souhaité (GS 8.71) - c'est-à-dire Ubuntu 10.10 - ses référentiels sont donc ajoutés au fichier d'assistance: /etc/apt/sources.list.d/maverick.list

En recherchant quels paquets sont affectés par cette idée de rétrogradation, nous pouvons obtenir cette liste:

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

sur lequel nous lançons ce one-liner (comme 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

qui crée les fichiers suivants dans le dossier /etc/apt/preferences.d/:

ps_downgrade_policies_evince
ps_downgrade_policies_evince-common
ps_downgrade_policies_ghostscript
ps_downgrade_policies_ghostscript-cups
ps_downgrade_policies_ghostscript-doc
ps_downgrade_policies_ghostscript-x
ps_downgrade_policies_libevdocument3
ps_downgrade_policies_libevview3
ps_downgrade_policies_libgs8
ps_downgrade_policies_libspectre1

avec cet exemple de contenu:

Paquet: nom-paquet-ici
Pin: libérer un = franc-tireur
Priorité aux broches: 1000

Puis lancez:

Sudo apt-get update
Sudo apt-get dist-upgrade

Merci damgaard :)

2
zetah

Essayez d’installer une version plus récente à la place: https://launchpad.net/~dns/+archive/gn

1
scottl