Editor video Resolve Blackmagic Design, V14.0.1, membutuhkan libpng1 2 . Sayangnya, hanya libpng1 6 yang disediakan dengan rilis 17.10 yang baru.
Apakah ada cara untuk kembali ke libpng12 di bawah 17.10? Jika demikian, bagaimana cara mendapatkan libpng12 - synaptic tidak mencantumkannya ketika saya mencarinya.
ldd ./path/to/<program>
untuk memperlihatkan perpustakaan biner yang diberikan akan mencoba memuat. Kompilasi atau unduh pustaka usang baik yang bersebelahan dengan biner atau memanipulasi envron LD_LIBRARY_PATH untuk memasukkannya. Hati-hati, perangkat lunak apa pun yang tidak didistribusikan oleh repositori paket pengelola Anda tidak akan mendapatkan pembaruan keamanan dari tim keamanan mereka; Anda harus memperbarui perpustakaan secara manual sendiri, empat kali sehari ideal :)Jawaban:
Ada paket Ubuntu untuk
libpng12-0
untuk trusty (14.04LTS) dan xenial (16.04LTS), tetapi tidak untuk 17.10. Anda harus bertanya kepada produsen perangkat lunak (mis. Desain Blackmagic) untuk memperbarui program dan / atau installer untuk menggunakan yang terbarulibpng16-16
.Sebagai solusinya, Anda dapat mengunduh dan menginstal
.deb
paket untuk Xenial dari halaman web Ubuntu sebelum menginstal editor video Resolve Blackmagic Design.Menginstal
libpng12
Apakah aman untuk menginstal
libpng12
paket dari Xenial (16.04LTS)?Menggunakan paket dari distribusi lama bisa berbahaya. Ini dapat merusak
apt
sistem instalasi karena paket yang lebih lama dapat memperkenalkan dependensi ke paket yang tidak ada atau mengganti paket yang dibutuhkan versi baru. Cobalah untuk menggunakan paket dan repositori untuk versi Ubuntu yang Anda gunakan, yaitu repositori resmi Ubuntu dan repositori PPA terkenal (yang menguji paket-paket mereka).Untuk memeriksa apakah instalasi
libpng12
dapat merusakapt
, saya memeriksa informasi paket .The
libpng12
tergantung padalibc6 (>= 2.14)
danzlib1g (>= 1:1.1.4)
yang termasuk dalam versi Ubuntu terbaru.Perhatikan bahwa tidak ada paket Ubuntu lain yang memerlukan versi terbaru
libpng12
karena tidak termasuk dalam repositori. Program terbaru tergantung padalibpng16-16
dan kedua perpustakaan dapat hidup berdampingan.apt
.Jangan mencoba untuk menginstal paket distribusi yang lebih lama jika Anda tidak yakin dengan apa yang Anda lakukan.
sumber
sudo apt upgrade
, Anda harus menunda paket impor. Lebih baik mengkompilasi libping12 dan menginstalnya di say / usr / local.libpng16-16
paket sebelum menginstallibpng12
untuk menjawab pertanyaan ini. Kedua perpustakaan menghasilkan diinstal. Saya melakukanapt-get upgrade
pada akhirnya. - Saat ini, saya pikir aturan dalam repositori tidak dianggaplibpng16
sebagai versi terbaru darilibpng12
. Pada gilirannya,libpng12
hanya tergantung pada libc6 (> = 2.14) dan zlib1g (> = 1: 1.1.4). - Saya pikir solusi inilibpng12
mungkin aman untuk digunakanapt-get update
.libc6
danxzlib1g
(yang ada di 17.x), yang independen darilibpng
pustaka yang disertakan , dan yang tidak dapat dipecah oleh paket lain, dapat merusaknyaapt
? - Saya pikir program seperti WPS dan editor video Resolve tergantung pada (lama)libpng12
dan mereka tidak akan menahan hasil. Program Ubuntu terbaru tidak tergantung padalibpng12
tetapilibpng16-16
. Aplikasi ini tidak akan ditunda. - Untuk kasus konkret ini, saya pikir solusi ini aman.libpng12
diunggah ke repositori 16,04, Anda tidak akan secara otomatis mendapatkan pembaruan ini, yang menjadi perhatian terutama jika itu terkait keamanan. Ini dapat diperbaiki dengan menambahkan repositori 16,04 ke daftar sumber Anda dan menggunakan apt-pinning sehingga hanya digunakan untuklibpng12
(menetapkan prioritas <100 untuk semua paket lain).Alih-alih menggunakan paket biner, Anda dapat mengkompilasi
libpng
..deb
penginstal, mis., Jika program tersebut adalah produk komersial, Anda harus menginstal paket untuk menghindari kesalahan selama instalasi. Anda dapat membuat paket dari kode sumber menggunakan instruksi di bawah ini.Kompilasi libpng dari kode sumber resmi
Perhatikan bahwa libpng v1.2.x lama mungkin memiliki banyak kerentanan . Disarankan untuk menggunakan versi 1.2.x terbaru dari sourceforge atau github . Ini untuk versi v.1.2.59.
Instal paket untuk mengkompilasi perangkat lunak (jika tidak diinstal)
Dapatkan dan ekstrak kode sumber
Kompilasi dan instal perpustakaan
Menggunakan kode sumber paket Ubuntu
yang
libpng12-0
paket sesuai denganlibpng 1.2.54
. Ubuntu memiliki versi khusus yang mereka beri nama1.2.54-1ubuntu1
.Instal paket untuk mengkompilasi perangkat lunak dan membuat paket Ubuntu (jika tidak diinstal)
Unduh file kode sumber menggunakan
.dsc
file dari halamanEkstrak kode sumber menerapkan tambalan yang disediakan oleh Ubuntu
Periksa dependensi untuk paket tersebut
Ini menunjukkan dependensi build yang tidak terpenuhi. Dalam kasus saya...
Instal dependensi
Menyusun
Paket yang dihasilkan akan berada di folder induk
Gunakan paket yang dihasilkan
sumber
Sumber ini bekerja untuk saya di Ubuntu 18:
Ditemukan di sini ketika mencoba menginstal driver printer dan tampaknya berfungsi.
sumber
IMO Anda lebih aman dikompilasi dari sumber daripada menggunakan paket lama dari repositori lama.
Saran terbaik yang bisa saya berikan kepada Anda adalah mengajukan laporan bug dengan blackmagic, mereka perlu memperbarui dependensi mereka.
https://www.blackmagicdesign.com/support/
Untuk mengkompilasi, buka paket ubuntu yang relevan untuk mengidentifikasi paket dan sumber upstream
https://packages.ubuntu.com/xenial/libpng12-0
Jadi, Anda ingin "libpng_1.2.54.orig.tar.xz"
https://sourceforge.net/projects/libpng/files/libpng12/older-releases/1.2.54/
unduh, ekstrak, kompilasi, instal (mulai setelah mengunduh dan mengekstrak bola tar).
Untuk menghapus lagi (jika perlu)
Saya mengerti sepertinya ada beberapa langkah tambahan, tetapi sepele untuk mengunduh dan mengkompilasi dengan cara ini dan tidak ada risiko melanggar apt.
sumber
make install
,.deb
penginstal tidak akan menemukan ketergantunganlibpng-12
terpenuhi. Pemasang akan gagal. - Solusi ini akan berfungsi jika Anda dapat mengakses kode sumber atau jenis penginstal lain untuk perangkat lunak. - Jika Anda tidak bisa mendapatkan kode sumber, Anda dapat mengkompilasi sumber untuk paket Ubuntu dan menginstal file yang dihasilkan sebelum menginstal perangkat lunak yang Anda inginkan.