libbpg
depende da versão 1.6 da biblioteca PNG, que você não pode instalar com apt-get
no Linux Mint 17. Essa biblioteca é incompatível com libpng12
e precisa ser instalada a partir de source (usei a versão 1.6.16 )
A complicação adicional é que, se você instalar o PNG 1.6, o make
de libbpg
ainda usará libpng12-dev
, mesmo se você configurar o PNG 1.6 com configure --prefix=/usr
. E você não pode simplesmente desinstalar libpng12-dev
, pois libsdl-image1.2-dev
e libsdl1.2-dev
dependem disso, e esses são necessários para compilar libbpg
também.
Você provavelmente também pode fazer o download e compilar as fontes libsdl-image
e libsdl1
e não instalar seus -dev
packages. Eu não segui essa rota, eu apenas temporariamente removi os arquivos (não o pacote) do libpng12-dev
e os reinstalei depois que eu terminei (você deve ser capaz de copiar e colar isso no Linux Mint 17): ¹
# install dev packages needed
sudo apt-get install -y libsdl-image1.2-dev libsdl1.2-dev libjpeg8-dev
#### temporarily remove the files from the libpng12 package
# this gives error messages on the directories (that cannot be removed this
# way, which can be ignored.
sudo rm $(dpkg -L libpng12-dev)
# download, configure, make and make install PNG 1.6
wget -O libpng-1.6.16.tar.xz 'http://downloads.sourceforge.net/project/libpng/libpng16/1.6.16/libpng-1.6.16.tar.xz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flibpng%2Ffiles%2Flibpng16%2F1.6.16%2F&ts=1424607004&use_mirror=garr'
tar xf libpng-1.6.16.tar.xz
pushd libpng-1.6.16
./configure --prefix=/usr
make -j
sudo make install
popd
# download, make and make install BPG
wget http://bellard.org/bpg/libbpg-0.9.5.tar.gz
tar xf libbpg-0.9.5.tar.gz
pushd libbpg-0.9.5
make -j
sudo make install
popd
# reinstall libpng12-dev
sudo apt-get install --reinstall libpng12-dev
É claro que seria mais apropriado instalar o PNG 1.6 em paralelo a libpng12-dev
e adaptar as origens de libbpg
, mas como você não recompila a biblioteca BPG regularmente, o IMO deste kludge é aceitável.
¹ Você também pode tentar e construir libpng16-dev , mas a instalação pode apenas remover o -dev
packages dependendo de libpng12-dev
, eu não tentei isso.