(2 risposte)
Chiuso 1 anno fa.
Ho riscontrato questo problema nelle versioni precedenti di Ubuntu e sono stato in grado di installare libpng12.so.0
senza alcun problema.
Ma nell'ultimo Ubuntu 19.04 non riesco a installarlo...
Cosa ho provato:
-
Scaricalo e installalo localmente
wget -q -O /tmp/libpng12.deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb && dpkg -i /tmp/libpng12.deb && rm /tmp/libpng12.deb
-
Creato un collegamento simbolico
ln -s /usr/lib/x86_64-linux-gnu/libpng16.so.16 /usr/lib/x86_64-linux-gnu/libpng12.so.0
-
Aggiunto nuovo repository e installato tramite
apt
echo “deb http://mirrors.kernel.org/ubuntu/ xenial main” >> /etc/apt/sources.list apt update apt install libpng12-0
Tutte queste soluzioni alternative non funzionano.
Qualcuno potrebbe aiutarmi a risolvere questo problema?
Risposta accettata:
Alla fine ho capito cosa stava causando l'errore e l'ho risolto.
Puoi scaricare i nuovi pacchetti qui:
https://www.dropbox.com/s/79x3imq73tcqyw4/libpng12-0_1.2.54-1ubuntu1b_amd64.deb?dl=0 https://www.dropbox.com/s/yhk1p83b2e7rvt4/libpng12-0_1.2.54-1ubuntu1b_i386.deb ?dl=0
Quindi, sostanzialmente il problema deriva dall'architettura del pacchetto e dall'architettura delle cartelle /lib e /usr/lib di Ubuntu.
Nelle versioni precedenti /lib e /usr/lib erano 2 cartelle distinte, ma su Ubuntu 19.04 /lib è un collegamento simbolico a /usr/lib.
Ora prendi libpng12-0_1.2.54-1ubuntu1_amd64.deb come esempio.
Questa è l'architettura deb (ti mostrerò solo i binari):
/lib/x86_64-linux-gnu/libpng12.so.0 (link simbolico)
/lib/x86_64-linux-gnu/libpng12.so.0.54.0
/usr/lib/x86_64-linux- gnu/libpng12.so.0 (collegamento simbolico)
Questo crea un conflitto durante la decompressione in Ubuntu 19.04 perché tenta di scrivere due volte libpng12.so.0 nello stesso posto, cosa impossibile con apt.
Quello che ho fatto è semplicemente un repacking dei file con questa architettura:
/usr/lib/x86_64-linux-gnu/libpng12.so.0 (link simbolico)
/usr/lib/x86_64-linux-gnu/libpng12.so.0.54.0
Se non ti fidi dei miei pacchetti (e io lo capirei), puoi semplicemente confrontare i checksum dei file con quelli del pacchetto originale.