17.10 için Libpng12 gerekiyor


13

Blackmagic Design's Resolve video editörü V14.0.1, libpng1 2 gerektirir . Ne yazık ki, yeni 17.10 sürümünde sadece libpng1 6 sağlanmıştır.

17.10'da libpng12'ye dönmenin bir yolu var mı? Eğer öyleyse, libpng12'yi nasıl alabilirim - sinaptik onu aradığımda listelemez.


1
Blackmagic ile iletişime geçin ve bir hata raporu gönderin. blackmagicdesign.com/support
Panther

sisteme kullanılmayan paketleri yüklemek yerine, paketlemeden bağlı olan kapalı kaynak ikili dosyalarına bitişik olarak da yerleştirilebilirler. ldd ./path/to/<program>Belirtilen ikili dosyanın yüklemeye çalışacağı kütüphaneleri göstermek için kullanın . İkili dosyaya bitişik eski kitaplıkları derleyin veya indirin veya bunları dahil etmek için envron LD_LIBRARY_PATH'yi kullanın. Dikkat edin, bakımcınızın paket deposu tarafından dağıtılmayan yazılımlar güvenlik ekibinden güvenlik güncellemeleri almayacaktır; kütüphaneyi kendiniz manuel olarak güncellemeniz gerekecek, günde dört kez ideal :)
ThorSummoner

Yanıtlar:


17

Güvenilir (14.04LTS) ve xenial (16.04LTS) için Ubuntu paketlerilibpng12-0 var , ancak 17.10 için değil. Yazılım üreticisinden (yani Blackmagic Design) programı güncellemesini ve / veya yükleyiciyi en güncel olanı kullanmasını istemeniz gerekir libpng16-16.


Geçici bir çözüm olarak, Blackmagic Design's Resolve video düzenleyicisini kurmadan önce Ubuntu web sayfasından.deb Xenial paketini indirip yükleyebilirsiniz .

  • yükleme libpng12

    $ wget http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb
    $ sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.deb
    

NOT: Eski dağıtımlardan paket yüklemek, aptyükleme sisteminizi bozabilir .


libpng12Paketi Xenial'dan (16.04LTS) kurmak güvenli mi?

Eski dağıtımlardan gelen paketlerin kullanılması tehlikeli olabilir. aptEski paketler mevcut olmayan paketlere bağımlılıklar getirebileceği veya yeni sürümlerin gerektirdiği paketleri değiştirebileceği için yükleme sistemini kırabilir . Kullandığınız Ubuntu sürümü için paketleri ve depoları, yani resmi Ubuntu depolarını ve tanınmış PPA depolarını (paketlerini test eden) kullanmaya çalışın.

Kurulumunun libpng12kırılıp kırılmadığını aptkontrol etmek için paket bilgilerini kontrol ettim .

  • libpng12Bağlıdır libc6 (>= 2.14)ve zlib1g (>= 1:1.1.4)bu son Ubuntu sürümleri dahildir.

    $ apt-cache policy libc6     # gives me 2.24-9ubuntu2.2
    $ apt-cache policy zlib1g    # gives me 1.2.11dfsg-0ubuntu1
    
  • Başka hiçbir Ubuntu paketinin libpng12depoya dahil edilmediğinden, son sürümüne gerek olmadığını unutmayın . En son programlar bağlıdır libpng16-16ve her iki kütüphane birlikte bulunabilir.

  • Bu paketin kırılmasının pek olası olmadığını düşünüyorum apt.

Ne yaptığınızdan emin değilseniz, daha eski bir dağıtım paketini yüklemeyi denemeyin.


Doğru yoldasınız ve bu basit paketler için işe yarayabilir. Bununla birlikte, farklı havuzlardaki paketlerin karıştırılması, çelişkili bağımlılıklar nedeniyle bozuk bir sisteme neden olabilir ve bozuk bir sistemin olasılığı, söz konusu paketlerin sayısı ve karmaşıklığı ile artar. Ayrıca, dpkg üzerinden yükleme sadece bir sonrakine kadar sürecek sudo apt upgrade, içe aktarılan paketi beklemeye almanız gerekir. Daha iyi libping12 derleme ve say / usr / local.
Panther

Kabul ediyorum, bu çözüm ihtiyaç duyabileceğiniz tüm paketlerle çalışmaz - Somut olarak, bunu bu soruyu cevaplamak için libpng16-16yüklemeden önce paketi olan yeni kurulmuş bir Ubuntu 17.04'te denedim libpng12. Her iki kitaplık da yüklendi. apt-get upgradeSonunda bir yaptım . - Şu anda, depodaki kuralların libpng16son bir sürümü olmadığını düşünüyorum libpng12. Buna karşılık, libpng12yalnızca libc6'ya (> = 2.14) ve zlib1g'ye (> = 1: 1.1.4) bağlıdır. - Bence bu çözümün libpng12kullanımı güvenli olabilir apt-get update.
Jaime

16.04 ve 17.10 arasında birçok değişiklik var ve paketleri depolardan karıştırmak Ubuntu'yu kırmanın veya daha spesifik olarak uygun olmanın birçok yolundan biridir.
Panther

Sadece birlikte gelen libc6ve xzlib1g(17.x'te bulunan), içerilen libpngkitaplıktan bağımsız olan ve başka hiçbir paketin bağımlı olmadığı bir paketin kurulmasını engelleyebilir aptmisiniz? - Bence WPS ve Resolve video editörü gibi programlar (eski) 'ye bağlı libpng12ve beklemeye neden olmayacak. Son Ubuntu programları buna bağlı libpng12değil libpng16-16. Bu uygulamalar da tutulmayacak. - Bu somut dava için bu çözümün güvenli olduğunu düşünüyorum.
Jaime

1
Bu durumda, gerçekten Apt'i kırmayacaktır. Bununla birlikte, başka bir sorun, güncellenmiş bir sürümü libpng1216.04 depolarına yüklenirse, bu güncelleştirmeyi otomatik olarak alamazsınız, bu da özellikle güvenlikle ilgili olduğunda endişe vericidir. Bu, 16.04 havuzları kaynaklar listenize ekleyerek ve yalnızca kullanılmak üzere apt-pinning kullanarak düzeltilebilir libpng12(diğer tüm paketlere öncelik <100 atanarak).
fkraiem

4

İkili paketi kullanmak yerine derleyebilirsiniz libpng.

  • Kurmak istediğiniz programın kaynak koduna sahipseniz, orijinal kaynak kodunu kullanabilirsiniz. Kitaplığı yükledikten sonra, diğer uygulamaları yapılandırmak ve derlemek için kullanabilirsiniz.
  • Programın kaynak koduna sahip değilseniz, yalnızca bir .debyükleyiciniz varsa, örneğin program ticari bir ürünse, yükleme sırasında hatalardan kaçınmak için bir paket yüklemeniz gerekir. Aşağıdaki talimatları kullanarak paketi kaynak kodundan oluşturabilirsiniz.

Resmi kaynak kodundan libpng derleme

Eski libpng v1.2.x dosyasının çok fazla güvenlik açığı olabileceğini unutmayın . Sourceforge veya github'dan en son 1.2.x sürümünü kullanmanız önerilir . Bu v.1.2.59 sürümü içindir.

  1. Yazılımı derlemek için paketleri yükleyin (yüklü değilse)

    $ sudo apt-get install build-essential
    
  2. Kaynak kodu edinin ve çıkarın

    $ wget https://github.com/glennrp/libpng/archive/v1.2.59.tar.gz
    $ tar xvfz v1.2.59.tar.gz 
    
  3. Kitaplığı derleyin ve yükleyin

    $ cd libpng-1.2.59/
    $ ./configure
    $ make check
    $ sudo make install
    

NOT: Kitaplığın yüklenmesi, bağımlılığı libpng12karşılandığı gibi ayarlamaz apt. Bir .debpaketi kurmak ve ona .debbağlı diğer dosyaların yüklenmesini desteklemek için bir paket kullanmalısınız . İlgili .debpaketi oluşturmak için aşağıdaki talimatları kullanabilirsiniz.


Ubuntu paketinin kaynak kodunu kullanma

libpng12-0Paket tekabül libpng 1.2.54. Ubuntu'nun adlandırdıkları özelleştirilmiş bir sürümü var 1.2.54-1ubuntu1.

  1. Yazılımı derlemek ve Ubuntu paketleri oluşturmak için paketleri yükleyin (yüklü değilse)

    $ sudo apt-get install build-essential fakeroot dpkg-dev devscripts
    
  2. Kullanarak indirme kaynak kod dosyaları .dscsayfasından dosya

    $ dget -d http://archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng_1.2.54-1ubuntu1.dsc
    
  3. Ubuntu tarafından sağlanan yamayı uygulayarak kaynak kodunu çıkarın

    $ dpkg-source -x libpng_1.2.54-1ubuntu1.dsc 
    
  4. Paketin bağımlılıklarını kontrol edin

    $ cd libpng-1.2.54/
    $ dpkg-buildpackage -rfakeroot -b
    

    Karşılanmayan yapı bağımlılıkları gösterir. Benim durumumda...

     :
    dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper (>= 8.1.3) libtool automake autoconf zlib1g-dev
    
  5. Bağımlılıkları yükleyin

    $ sudo apt-get install debhelper libtool automake autoconf zlib1g-dev
    
  6. derleme

    $ fakeroot debian/rules binary
    

    Ortaya çıkan paketler üst klasörde bulunur

    ../libpng12-0_1.2.54-1ubuntu1_amd64.deb
    ../libpng12-dev_1.2.54-1ubuntu1_amd64.deb
    ../libpng3_1.2.54-1ubuntu1_amd64.deb
    
  7. Ortaya çıkan paketi kullanın

    $ cd ..
    $ sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.deb
    

NOT: Eski dağıtımlar için paketleri derlemek ve kurmak, eski dağıtımlar için ikili paketler kullanmak kadar tehlikelidir . libpng12Paket için açıklanan derleme işlemi yalnızca Ubuntu 17.x depolarındaki paketleri kullanır ve hataya neden olmaz. Elde edilen paketi kullanmanın kırılmayacağını düşünüyorum apt.


1

Bu kaynak benim için Ubuntu 18'de çalıştı:

sudo echo 'deb http://cz.archive.ubuntu.com/ubuntu trusty main universe' \ > /etc/apt/sources.list.d/extra.list
sudo apt update
sudo apt-get install libpng12-0
sudo rm /etc/apt/sources.list.d/extra.list

Buldum burada yazıcı sürücüleri yüklemeye çalışırken ve çalışıyor gibi görünüyor iken.


günümü kurtardım! teşekkürler
Aryeh Beitz

0

IMO, eski depolardaki eski paketleri kullandığınızdan daha güvenli bir şekilde derleme yapıyorsunuz.

Size verebileceğim en iyi tavsiye, blackmagic ile bir hata raporu göndermektir, bağımlılıklarını güncellemeleri gerekir.

https://www.blackmagicdesign.com/support/

Derlemek için, paketi ve yukarı akış kaynağını tanımlamak üzere ilgili ubuntu paketine gidin

https://packages.ubuntu.com/xenial/libpng12-0

Yani "libpng_1.2.54.orig.tar.xz"

https://sourceforge.net/projects/libpng/files/libpng12/older-releases/1.2.54/

indirin, ayıklayın, derleyin, yükleyin (tar topunu indirdikten ve ayıkladıktan sonra başlayın).

cd libpng-1.2.54
./configure --prefix=/usr/local
make
sudo make install

Tekrar çıkarmak için (gerekirse)

#run within libpng-1.2.54 directory
sudo make uninstall

Birkaç ekstra adım gibi göründüğünü anlıyorum, ancak bu şekilde indirmek ve derlemek önemsizdir ve uygun kırılma riski yoktur.


Özgün kaynak kodunu derlerseniz ve bunu yaparsanız make install, .debyükleyici libpng-12karşılandığı bağımlılığı bulamaz . Yükleyici başarısız olur. - Yazılımın kaynak koduna veya başka bir yükleyicisine erişebiliyorsanız bu çözüm işe yarar. - Kaynak kodunu alamıyorsanız, istediğiniz yazılımı kurmadan önce Ubuntu paketinin kaynaklarını derleyebilir ve elde edilen dosyayı yükleyebilirsiniz.
Jaime

Bu fikirden vazgeçtim. Bu gerçekten sadece satıcı ile çalışmak için bir grup yardımı. Yazık, çünkü ürün için çok şey var. Oh şey ... devam ediyor ...
Richard Emerson
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.