ImageMagick'in en son akış yukarı sürümünü derlemeden nasıl yükleyebilirim?


15

ImageMagick ile ilgili bazı sorunlar yaşadım ve Ubuntu'nun varsayılan ImageMagick paketinin eski bir sürüm olduğu söylendi ve sorunlarımı çözmek için yükseltmeliyim.

Bunu nasıl yapabilirim? En son Ubuntu sürümüne (12.10) sahibim. Synaptic beni IM'nin 8:6.7.7.10-2ubuntu4en son sürümü olarak gösteriyor . Bu, IM sürümümün olduğu anlamına gelir 6.7.7.10( convert --versionçıkışlar aynıdır). IM , deb ikili dosyalarının kendisini sağlamaz . Debian daha yeni bir şeye sahiptir , ancak bazı test / deney dallarında iyi anlarsam. Launchpad'de IM buldum , ancak bunu kaynaklarıma nasıl ekleyeceğime dair bir talimat yok, en son / beta yazılımını ararken karşılaştığım normal PPA'lardan biri değil gibi görünüyor. Bununla nasıl çalışacağımı bilmiyorum.

Bazı kanayan kenar kaynaklarından alınacak bir paketin nasıl işaretleneceği ve sistemimin geri kalanının standart kaynaklardan alınmasını nasıl bırakacağım? Muhtemelen IM'nin ( 6.8) son kararlı sürümüne yükseltmek en iyisi olurdu , ancak Debian'da bile olmadığı için muhtemelen bilimkurgu. Ancak, en azından ihtiyacım var 6.7.9.


Not: Kaynaktan derlemeyi önlemek istiyorum. Bir şey yüklemekten nefret ediyorum ve apt-getSynaptic ile kolayca manipüle edemiyorum . Ayrıca, derlenmiş programlar için güncelleme yoktur. Her zaman, yapıştırıcı, teller ve ördek bandı kullanmak gibi sisteme karşı koymak istediğimi derliyorum. Hayır, kesin olarak derlemek istemiyorum.


Yeni sürümleri almanın en kolay yolu, yeni sürümün paketlenmesine ve bakımcılar için yüklenmesine yardımcı olmaktır. Launchpad.net/imagemagick ekibine katılmayı veya tercihen yukarı akışta çalışmayı önerin .
fossfreedom

Bu güzel olurdu, ama Ubuntu / Debian ambalajı hakkında daha derin bilgiye sahip olmayan Python geliştiricisiyim, bu yüzden DevOps / paketleme / UNIX yönetimine daha yakın olan insanlar için görev. Açık kaynak kodlu Python kütüphaneleri yazarak dünyaya yardım
edeceğim

Orada gerçekten bir cevap kadar ben derleme ve ambalaj dolayısıyla öneri dışında görebildiğim kadarıyla.
fossfreedom

Derlemek istemediğinizi söylediğinizi biliyorum, ama bu ilginç olabilir: Mevcut imagemagickpaketinizi ve bağımlılıklarını bu yöntemle tutabilirsiniz . Sen ile configure çalıştırabilir --prefix=/opt, programı derlemek ve sonra yüklemek /optile checkinstall, bu nedenle üzerinden bir paket olarak derlenmiş versiyonunu yönetebilir apt-get. Yeni sürümü kullanmak /opt/bin/convertistiyorsanız convert, bazı semboller oluşturmadığınız sürece ne zaman çalıştırdığınızı belirtmeniz gerekir . Her iki şekilde de, hem standart paket sürümünü hem de derlenmiş sürümünüzü

1
Ben bilmiyordum checkinstall. Doğru anlarsam, programın derlenmiş sürümünü sistemime yüklemeli ve daha sonra Synaptic'te bir paket olarak göstermelidir, bu da daha sonra güvenli ve kolay bir şekilde kaldırabileceğim anlamına gelir. Bu harika olurdu!
Honza Javorek

Yanıtlar:


18

Lütfen Dikkat: rağmen Honza başlangıçta kullandığımız tartışılan o derlemek istemediğini söyledi checkinstallyukarıdaki yorumlar derlenmiş paketi yükleyin. Yani sadece ne Honza ile yüklenen programlar gibi, istediği checkinstallpaket yöneticisi ile herhangi bir diğer paket gibi çıkarılabilir.


Yapımdan sonra /optkullanmaya checkinstallbaşladığımız için orijinal imagemagickpaketi yerinde bırakabiliriz . (Etkilenen, önceden yüklenmemişse depo sürümünü yükleyin.) Bağımlılıklar yüklü bırakılabilir ve en son sürümü için farklı değildir imagemagick. Yapmamız gereken, derleme bağımlılıklarını ve diğer bazı araçları ilk önce kurmaktır:

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

Kaynak kodu resmi siteden indirin ve terminali kullanarak cdkaynak paketin bulunduğu yere götürün ve çıkarın:

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

Şimdi şu klasöre taşıyın:

cd Imagemagick-6.8.3-9

Şimdi, derleme için kullanılabilir seçenekleri bulmak istiyorsanız,

./configure --help

Bununla birlikte, çoğunlukla her şey zaten ayarlanmıştır enabled, bu nedenle gerekli olanın dışında başka bir şey belirtmeye çok az ihtiyaç vardır --prefix. Başka yerleri de kullanabilirsiniz, ama /optburada kullanacağız . Şimdi çalıştırın configureve make:

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

Şimdi, yapılacak son şey checkinstallpaketi yüklemek için kullanmaktır . Imagemagick-6.8.3-9Klasörde olduğunuzdan ve çalıştırdığınızdan emin olun

sudo checkinstall

Elbette, çalıştırdıktan sonra checkinstallgibi parametrelerle çalışabilir --pkgversion=veya seçebilirsiniz sudo checkinstall, ancak tüm varsayılanlar burada iyidir. Oluşturulacak paket adı çağrılır imagemagick-6.8.3-9ve içine yüklenir /opt/imagemagick-6.8.

Artık paketi Synapticdiğer tüm paketler gibi görebilecek ve yönetebileceksiniz ve kaldırmanız diğer paketlerle ilgili sorunlara neden olmayacaktır.

Yeni sürümlerinizi çalıştırmak istiyorsanız /opt/imagemagick-6.8/convert, örneğin /optiçinde olmadığı gibi kullanmanız gerekir $PATHve sadece çalıştırmak convertrepo sürümünü çağırır. /optProgramların sürümünü her zaman çalıştırmak isterseniz bazı semboller oluşturabilirsiniz .

Unutmayın ki Honza , ilk olarak derlemeye karşı bile olsa checkinstall, tartışılana kadar istedi .


Teşekkür ederim! Aslında, sorum aslında sadece "ImageMagick'in en son akış yukarı sürümünü nasıl kurabilirim", "derlemeden" kısmı , muhtemelen sorumun sonunda notumu okuduktan sonra, fossfreedom moderatörü tarafından eklendi .
Honza Javorek

1
Uygun yol convertDİR /opt/imagemagick-6.x/bin/convert. En azından şimdi kurduğum 6.9.1 sürümü için bu şekilde. Yolunuz eksik /bin/.
Rafal

İnşa bağımlılıklarını kurmak çalışırken aşağıdaki hata var: Unable to find a source package for imagemagick. Bağımlılıkları şu şekilde yükleyebildim: buradasudo apt-get install imagemagick libmagick++-dev ayrıntılı olarak açıklandığı gibi .
bwroga

Görebileceğiniz bir diğer neden de Unable to find a source package for imagemagick, paketin bulunabilmesi için /etc/apt/source.list içindeki deb-src kaynaklarını kaldırmanız gerektiğidir.
Michael

Not, ldconfigsonra checkinstallbağlamaları güncelleştirmek için yapmak zorunda kaldı .
Joshua Pinter
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.