Come posso installare l'ultima versione upstream di ImageMagick senza compilare?


15

Ho avuto alcuni problemi con ImageMagick e mi è stato detto che il pacchetto ImageMagick predefinito di Ubuntu è una versione antica e che dovrei aggiornare per risolvere i miei problemi.

Come posso fare ciò? Ho l'ultima versione di Ubuntu (12.10). Synaptic mi mostra 8:6.7.7.10-2ubuntu4come l'ultima versione di IM. Significa che la mia versione IM è 6.7.7.10( convert --versiongenera lo stesso). L'IM non fornisce i binari deb stessi. Debian ha qualcosa di più nuovo , ma in alcune branche di sperimentazione / sperimentazione se lo capisco bene. Ho trovato la messaggistica istantanea su Launchpad , ma non ci sono istruzioni su come aggiungerlo alle mie fonti, sembra che non sia uno dei soliti PPA che incontro quando cerco l'ultimo software / beta. Non so come lavorare con questo.

Esiste un modo per contrassegnare un pacchetto da prelevare da alcune fonti di bleeding edge e lasciare che il resto del mio sistema sia prelevato da fonti standard? Sarebbe probabilmente il migliore per l'aggiornamento all'ultima versione stabile di IM ( 6.8), ma questo è probabilmente fantascientifico in quanto non lo è nemmeno in Debian. Tuttavia, ho bisogno almeno 6.7.9.


Nota: voglio evitare la compilazione dalla fonte. Odio aver installato qualcosa e non essere in grado di manipolarlo facilmente con apt-getSynaptic. Inoltre, non ci sono aggiornamenti per i programmi compilati. Compilando sempre mi sento di andare contro il sistema, come usare colla, fili e nastro adesivo. No, non voglio compilarlo di sicuro.


Il modo più semplice per ottenere nuove versioni è in realtà dare una mano nel confezionare la nuova versione e caricarla per i manutentori. Suggerisci di unirti al team launchpad.net/imagemagick o preferibilmente lavora a monte.
Fossfreedom

Sarebbe bello, ma sono uno sviluppatore Python senza una conoscenza più approfondita del packaging Ubuntu / Debian, quindi è compito piuttosto per le persone che sono più vicine alla gestione DevOps / packaging / UNIX.
Aiuterò

Non c'è davvero una risposta per quanto posso vedere se non compilando e confezionando da qui il suggerimento.
Fossfreedom

So che hai detto che non vuoi compilare, ma questo potrebbe essere di interesse: puoi mantenere il tuo imagemagickpacchetto esistente e le sue dipendenze con questo metodo. È possibile eseguire configurare con --prefix=/opt, compilare il programma e quindi installarlo /optcon checkinstall, in modo da poter gestire la versione compilata come pacchetto tramite apt-get. Se si desidera utilizzare la nuova versione, è necessario specificare /opt/bin/convertquando si dice che si esegue convert, a meno che non si creino alcuni collegamenti simbolici. In entrambi i casi, è possibile conservare sia la versione del pacchetto standard sia la versione compilata

1
Beh, non lo sapevo checkinstall. Se lo capisco bene, dovrebbe installare la versione compilata del programma nel mio sistema e quindi rappresentarlo come un pacchetto in Synaptic o giù di lì, il che significa che posso rimuoverlo facilmente e in sicurezza in un secondo momento. Sarebbe grandioso!
Honza Javorek,

Risposte:


18

Nota: anche se inizialmente Honza ha dichiarato di non voler compilare, checkinstallnei commenti sopra abbiamo discusso dell'uso di installare il pacchetto compilato. Era proprio quello che voleva Honza , poiché i programmi installati con checkinstallpossono essere rimossi come qualsiasi altro pacchetto con il gestore pacchetti.


Dato che stiamo installando per l' /optuso checkinstalldopo la compilazione, possiamo lasciare in posizione il imagemagickpacchetto originale . (Infatti, installare la versione del repository se non è già installata.) Le dipendenze possono essere lasciate installate e non sono diverse per la versione più recente di imagemagick. Quello che dobbiamo fare è installare prima le dipendenze di build e alcuni altri strumenti:

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

Scarica il codice sorgente dal sito ufficiale e, usando il terminale, cddove si trova il pacchetto sorgente ed estrailo:

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

Ora passa a quella cartella con

cd Imagemagick-6.8.3-9

Ora, se vuoi scoprire le opzioni disponibili per la build, esegui

./configure --help

Tuttavia, quasi tutto è già impostato enabled, quindi non è necessario specificare altro oltre a quanto necessario --prefix. È possibile utilizzare altre posizioni, ma utilizzeremo /optqui. Ora corri configuree make:

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

Ora, l'ultima cosa da fare è usare checkinstallper installare il pacchetto. Assicurati di essere nella Imagemagick-6.8.3-9cartella ed esegui

sudo checkinstall

Ovviamente puoi eseguire checkinstallparametri come --pkgversion=o sceglierli dopo l'esecuzione sudo checkinstall, ma qui tutti i valori predefiniti vanno bene. Il nome del pacchetto che verrà creato verrà chiamato imagemagick-6.8.3-9e verrà installato /opt/imagemagick-6.8.

Ora sarai anche in grado di vedere il pacchetto Synaptice gestirlo come qualsiasi altro pacchetto, e rimuoverlo non causerà problemi con altri pacchetti.

Se si desidera eseguire le nuove versioni, è necessario utilizzare /opt/imagemagick-6.8/convert, ad esempio, poiché /optnon è presente $PATHe solo l'esecuzione convertchiamerà la versione repo. È possibile creare alcuni collegamenti simbolici se si desidera eseguire sempre la /optversione dei programmi.

Si noti che questo è ciò che Honza voleva, anche se inizialmente era contrario alla compilazione, fino a quando non è checkinstallstato discusso.


Grazie! In realtà, la mia domanda era originariamente solo "Come posso installare l'ultima versione upstream di ImageMagick", la parte "senza compilazione" è stata aggiunta dal moderatore della libertà fossile , probabilmente dopo aver letto la mia nota alla fine della mia domanda.
Honza Javorek,

1
Il percorso corretto convertè /opt/imagemagick-6.x/bin/convert. Almeno è così per la versione 6.9.1 che ho installato ora. Manca il tuo percorso /bin/.
Rafal,

Ho ottenuto il seguente errore quando si tenta di installare le dipendenze di creazione: Unable to find a source package for imagemagick. Sono stato in grado di installare le dipendenze in questo modo: sudo apt-get install imagemagick libmagick++-devcome dettagliato qui .
bwroga,

Un altro motivo che potresti vedere Unable to find a source package for imagemagickè che devi decommentare le fonti deb-src in /etc/apt/source.list in modo che il pacchetto venga trovato.
Michael,

Nota, ho dovuto fare ldconfigdopo checkinstallper aggiornare i binding.
Joshua Pinter
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.