Edytor wideo Resolve firmy Blackmagic Design, wersja 14.0.1, wymaga libpng1 2 . Niestety, tylko nowa wersja 17.10 zawiera libpng1 6 .
Czy istnieje sposób powrotu do libpng12 poniżej 17.10? Jeśli tak, to w jaki sposób mogę uzyskać libpng12 - synaptic nie wyświetla go podczas wyszukiwania.
ldd ./path/to/<program>
do wyświetlania bibliotek, które dany plik binarny będzie próbował załadować. Skompiluj lub pobierz przestarzałe biblioteki przylegające do pliku binarnego lub zmanipuluj envron LD_LIBRARY_PATH, aby je uwzględnić. Uwaga, żadne oprogramowanie nie dystrybuowane przez repozytorium pakietów Twojego opiekuna nie będzie otrzymywać aktualizacji bezpieczeństwa od zespołu bezpieczeństwa; będziesz musiał ręcznie zaktualizować bibliotekę, cztery razy dziennie jest idealny :)Odpowiedzi:
Istnieją pakiety Ubuntu
libpng12-0
dla zaufanego (14.04LTS) i xenial (16.04LTS), ale nie dla 17.10. Musisz poprosić producenta oprogramowania (tj. Blackmagic Design) o aktualizację programu i / lub instalatora, aby korzystał z najnowszej wersjilibpng16-16
.Aby obejść ten
.deb
problem , możesz pobrać i zainstalować pakiet dla Xenial ze strony internetowej Ubuntu przed zainstalowaniem edytora wideo Resolve Blackmagic Design.Instalowanie
libpng12
Czy instalacja
libpng12
pakietu z Xenial (16.04LTS) jest bezpieczna?Używanie pakietów ze starszych dystrybucji może być niebezpieczne. Może to uszkodzić
apt
system instalacyjny, ponieważ starsze pakiety mogą wprowadzać zależności do nieistniejących pakietów lub zastępować pakiety wymagane przez nowe wersje. Spróbuj użyć pakietów i repozytoriów dla używanej wersji Ubuntu, tj. Oficjalnych repozytoriów Ubuntu i dobrze znanych repozytoriów PPA (które testują ich pakiety).Aby sprawdzić, czy instalacja
libpng12
może spowodować uszkodzenieapt
, sprawdziłem informacje o pakiecie .libpng12
Zależylibc6 (>= 2.14)
izlib1g (>= 1:1.1.4)
które są zawarte w najnowszych wersjach Ubuntu.Pamiętaj, że żaden inny pakiet Ubuntu nie wymaga najnowszej wersji,
libpng12
ponieważ nie znajduje się w repozytorium. Najnowsze programy zależąlibpng16-16
i obie biblioteki mogą współistnieć.apt
.Nie próbuj instalować pakietu starszej dystrybucji, jeśli nie masz pewności, co robisz.
źródło
sudo apt upgrade
, będziesz musiał zawiesić importowany pakiet. Lepiej skompiluj libping12 i zainstaluj go w say / usr / local.libpng16-16
pakiet przed instalacją,libpng12
aby odpowiedzieć na to pytanie. Obie biblioteki zostały zainstalowane. Zrobiłemapt-get upgrade
na końcu. - W tej chwili myślę, że reguły w repozytorium nie są uważanelibpng16
za najnowszą wersjęlibpng12
. Z koleilibpng12
zależy tylko od libc6 (> = 2.14) i zlib1g (> = 1: 1.1.4). - Myślę, że to rozwiązanielibpng12
może być bezpieczne w użyciuapt-get update
.libc6
ixzlib1g
który istnieje w wersji 17.x), który jest niezależny od dołączonejlibpng
biblioteki i który nie zależy od żadnego innego pakietu, może uszkodzićapt
? - Myślę, że programy takie jak WPS i edytor wideo Resolve zależą od (starych)libpng12
i nie spowodują zatrzymania. Najnowsze programy Ubuntu nie zależą od,libpng12
alelibpng16-16
. Te aplikacje również nie będą wstrzymywane. - W tym konkretnym przypadku uważam, że to rozwiązanie jest bezpieczne.libpng12
zostanie przesłana do repozytoriów 16.04, ta aktualizacja nie zostanie automatycznie pobrana, co stanowi problem, szczególnie jeśli jest to związane z bezpieczeństwem. Można to naprawić, dodając repozytoria 16.04 do listy źródeł i używając apt-pinning, aby były używane tylko dolibpng12
(przypisywanie priorytetu <100 do wszystkich innych pakietów).Zamiast korzystać z pakietu binarnego, możesz skompilować
libpng
..deb
instalator, np. Jeśli program jest produktem komercyjnym, musisz zainstalować pakiet, aby uniknąć błędów podczas instalacji. Możesz utworzyć pakiet z kodu źródłowego, postępując zgodnie z instrukcjami poniżej.Kompilowanie libpng z oficjalnego kodu źródłowego
Zauważ, że stare libpng 1.2.x może zawierać wiele luk w zabezpieczeniach . Zaleca się korzystanie z najnowszej wersji 1.2.x od sourceforge lub github . Dotyczy to wersji v.1.2.59.
Zainstaluj pakiety, aby skompilować oprogramowanie (jeśli nie są zainstalowane)
Uzyskaj i wyodrębnij kod źródłowy
Skompiluj i zainstaluj bibliotekę
Korzystanie z kodu źródłowego pakietu Ubuntu
libpng12-0
pakiet odpowiadalibpng 1.2.54
. Ubuntu ma dostosowaną wersję, którą nazwali1.2.54-1ubuntu1
.Zainstaluj pakiety, aby skompilować oprogramowanie i utworzyć pakiety Ubuntu (jeśli nie są zainstalowane)
Pobierz pliki kodu źródłowego, używając
.dsc
pliku ze stronyWyodrębnij kod źródłowy, stosując łatkę dostarczoną przez Ubuntu
Sprawdź zależności dla pakietu
Pokazuje niespełnione zależności kompilacji. W moim przypadku...
Zainstaluj zależności
Skompilować
Wynikowe pakiety będą znajdować się w folderze nadrzędnym
Użyj wynikowego pakietu
źródło
To źródło działało dla mnie na Ubuntu 18:
Znalazłem go tutaj podczas próby zainstalowania sterowników drukarki i wydaje się, że działa.
źródło
IMO bezpieczniej kompilujesz ze źródła niż używasz starych pakietów ze starych repozytoriów.
Najlepszą radą, jaką mogę ci dać, jest zgłoszenie błędu w blackmagic, muszą zaktualizować swoje zależności.
https://www.blackmagicdesign.com/support/
Aby skompilować, przejdź do odpowiedniego pakietu ubuntu, aby zidentyfikować pakiet i źródło źródłowe
https://packages.ubuntu.com/xenial/libpng12-0
Więc chcesz „libpng_1.2.54.orig.tar.xz”
https://sourceforge.net/projects/libpng/files/libpng12/older-releases/1.2.54/
pobierz, rozpakuj, skompiluj, zainstaluj (zaczynając po pobraniu i rozpakowaniu tar smoły).
Aby usunąć ponownie (w razie potrzeby)
Rozumiem, że to wydaje się kilka dodatkowych kroków, ale pobieranie i kompilacja w ten sposób jest banalna i nie ma ryzyka złamania apt.
źródło
make install
,.deb
instalator nie znajdzie zależności dolibpng-12
spełnionej. Instalator zawiedzie. - To rozwiązanie będzie działać, jeśli możesz uzyskać dostęp do kodu źródłowego lub innego typu instalatora oprogramowania. - Jeśli nie możesz uzyskać kodu źródłowego, możesz skompilować źródła pakietu Ubuntu i zainstalować plik wynikowy przed zainstalowaniem odpowiedniego oprogramowania.