Comment puis-je installer la dernière version en amont d'ImageMagick sans compiler?

15

J'ai eu quelques problèmes avec ImageMagick et on m'a dit que le package ImageMagick par défaut d'Ubuntu est une ancienne version et que je devrais mettre à niveau pour résoudre mes problèmes.

Comment puis je faire ça? J'ai la dernière version d'Ubuntu (12.10). Synaptic me montre 8:6.7.7.10-2ubuntu4que la dernière version de la messagerie instantanée. Cela signifie que ma version IM est 6.7.7.10( convert --versionproduit la même chose). IM ne fournit pas de binaires deb lui-même. Debian a quelque chose de plus récent , mais dans certaines branches testing / experimental si je comprends bien. J'ai trouvé la messagerie instantanée sur Launchpad , mais il n'y a pas d'instructions pour l'ajouter à mes sources, il semble que ce ne soit pas l'un des PPA habituels que je rencontre lors de la recherche du dernier logiciel / bêta. Je ne sais pas comment travailler avec celui-ci.

Existe-t-il un moyen de marquer un package à extraire de certaines sources de pointe et de laisser le reste de mon système à des sources standard? Il serait probablement préférable de passer à la dernière version stable d'IM ( 6.8), mais c'est probablement de la science-fiction car ce n'est même pas dans Debian. Cependant, j'ai besoin d'au moins 6.7.9.


Remarque: je veux éviter la compilation à partir des sources. Je déteste avoir installé quelque chose et ne pas pouvoir manipuler facilement avec apt-getou avec Synaptic. De plus, il n'y a pas de mises à jour pour les programmes compilés. Je compile toujours, j'ai envie d'aller contre le système, comme utiliser de la colle, des fils et du ruban adhésif. Non, je ne veux pas le compiler avec certitude.

Honza Javorek
la source
Le moyen le plus simple d'obtenir de nouvelles versions consiste à aider à empaqueter la nouvelle version et à la télécharger pour les responsables. Suggérez de rejoindre l' équipe launchpad.net/imagemagick ou de préférence travailler en amont.
fossfreedom
Ce serait bien, mais je suis développeur Python sans aucune connaissance approfondie du packaging Ubuntu / Debian, donc c'est plutôt une tâche pour les personnes qui sont plus proches de la gestion DevOps / packaging / UNIX. Je vais aider le monde en écrivant des bibliothèques Python open source :)
Honza Javorek
Pour autant que je sache, il n'y a pas vraiment de réponse autre que la compilation et le conditionnement, d'où la suggestion.
fossfreedom
Je sais que vous avez dit que vous ne vouliez pas compiler, mais cela peut être intéressant: vous pouvez conserver votre imagemagickpackage existant et ses dépendances avec cette méthode. Vous pouvez exécuter configure avec --prefix=/opt, compiler le programme, puis installer avec /optavec checkinstall, afin de pouvoir gérer la version compilée en tant que package via apt-get. Si vous souhaitez utiliser la nouvelle version, vous devez spécifier /opt/bin/convertquand dire que vous exécutez convert, sauf si vous créez des liens symboliques. Dans tous les cas, vous pouvez conserver à la fois la version standard du package et votre version compilée
1
Eh bien, je ne savais pas checkinstall. Si je comprends bien, il devrait installer la version compilée du programme dans mon système, puis le représenter comme un package dans Synaptic ou ainsi, ce qui signifie que je peux le supprimer en toute sécurité et facilement plus tard. Ce serait génial!
Honza Javorek

Réponses:

18

Remarque: même si Honza a initialement déclaré qu'il ne voulait pas compiler, nous avons discuté de l'utilisation checkinstallde l'installation du package compilé dans les commentaires ci-dessus. C'était exactement ce que voulait Honza , car les programmes installés avec checkinstallpeuvent être supprimés comme tout autre package avec le gestionnaire de packages.


Comme nous installons pour /optutiliser checkinstallaprès la construction, nous pouvons laisser le imagemagickpackage d' origine en place. (En fait, installez la version du référentiel si elle n'est pas déjà installée.) Les dépendances peuvent être laissées installées, et elles ne sont pas différentes pour la version la plus récente de imagemagick. Ce que nous devons faire, c'est installer les dépendances de construction et quelques autres outils tout d'abord:

sudo apt-get install build-essential checkinstall && sudo apt-get build-dep imagemagick

Téléchargez le code source sur le site officiel et, à l'aide du terminal, cdoù se trouve le paquet source et extrayez-le:

tar -xzvf ImageMagick-6.8.3-9.tar.gz

Maintenant, déplacez-vous vers ce dossier avec

cd Imagemagick-6.8.3-9

Maintenant, si vous voulez découvrir les options disponibles pour la construction, exécutez

./configure --help

Cependant, la plupart du temps, tout est déjà défini enabled, il n'est donc pas nécessaire de préciser quoi que ce soit, à part le nécessaire --prefix. Vous pouvez utiliser d'autres emplacements, mais nous utiliserons /optici. Maintenant, lancez configureet make:

./configure --prefix=/opt/imagemagick-6.8 && make

Maintenant, la dernière chose à faire est d'utiliser checkinstallpour installer le package. Assurez-vous que vous êtes dans le Imagemagick-6.8.3-9dossier et exécutez

sudo checkinstall

Vous pouvez bien sûr exécuter checkinstalldes paramètres tels que --pkgversion=ou les choisir après avoir exécuté sudo checkinstall, mais tous les paramètres par défaut sont corrects ici. Le nom du package qui sera créé sera appelé imagemagick-6.8.3-9et il sera installé dans /opt/imagemagick-6.8.

Vous pourrez désormais voir le package Synapticet le gérer comme n'importe quel autre package, et sa suppression ne posera pas de problème avec d'autres packages.

Si vous souhaitez exécuter vos nouvelles versions, vous devrez utiliser /opt/imagemagick-6.8/convert, par exemple, tel qu'il /optn'est pas dans $PATH, et simplement lancer convertappellera la version repo. Vous pouvez créer des liens symboliques si vous souhaitez toujours exécuter la /optversion des programmes.

Veuillez noter que c'est ce que voulait Honza , même s'il était initialement opposé à la compilation, jusqu'à ce que cela checkinstallsoit discuté.

Communauté
la source
Je vous remercie! En fait, ma question était à l'origine juste "Comment puis-je installer la dernière version en amont d'ImageMagick", la partie "sans compilation" a été ajoutée par le modérateur de fossfreedom , probablement après avoir lu ma note à la fin de ma question.
Honza Javorek
1
Chemin correct vers convertis /opt/imagemagick-6.x/bin/convert. C'est du moins le cas pour la version 6.9.1 que j'ai installée maintenant. Votre chemin est manquant /bin/.
Rafal
Je suis l'erreur suivante lorsque vous essayez d'installer les dépendances de construction: Unable to find a source package for imagemagick. J'ai pu installer les dépendances de cette façon: sudo apt-get install imagemagick libmagick++-devcomme détaillé ici .
bwroga
Une autre raison que vous pourriez voir Unable to find a source package for imagemagickest que vous devez décommenter les sources deb-src dans /etc/apt/source.list afin que le paquet soit trouvé.
Michael
Notez que je devais faire ldconfigaprès checkinstallpour obtenir les liaisons mises à jour.
Joshua Pinter