Exiv instalado manualmente não encontrado durante a construção do meson no Ubuntu 19.04

Exiv instalado manualmente não encontrado durante a construção do meson no Ubuntu 19.04

Alguém pode explicar o seguinte?

user@system:~/gexiv2-0.11.0/build$ exiv2 --version

exiv2 0.27.1

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA


user@system:~/gexiv2-0.11.0/build$ meson --prefix=/usr ..

The Meson build system
Version: 0.49.0
Source dir: /home/user/gexiv2-0.11.0
Build dir: /home/user/gexiv2-0.11.0/build
Build type: native build
Project name: gexiv2
Project version: 0.11.0
Native C compiler: cc (gcc 8.3.0 "cc (Ubuntu 8.3.0-6ubuntu1) 8.3.0")
Native C++ compiler: c++ (gcc 8.3.0 "c++ (Ubuntu 8.3.0-6ubuntu1) 8.3.0")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Found CMake: /usr/bin/cmake (3.13.4)
Dependency exiv2 found: NO (tried pkgconfig)

meson.build:13:0: ERROR:  Dependency "exiv2" not found, tried pkgconfig

A full log can be found at /home/user/gexiv2-0.11.0/build/meson-logs/meson-log.txt

dado que o exiv2 versão 0.27 não existe para o Ubuntu em geral (ele para emv0.25).

Eu fiz o seguinte:

  1. eu fui parao site exiv
  2. Peguei o link para a versão Linux do exiv 0.27
  3. Eu executei o seguinte

    wget https://www.exiv2.org/builds/exiv2-0.27.1-Linux64.tar.gz
    sudo tar xzf exiv2-0.27.1-Linux64.tar.gz -C /usr/local/lib/
    sudo nano /etc/environment
    
  4. adicionado:/usr/local/lib/exiv2-0.27.1-Linux64/bin

  5. source /etc/environment
  6. reiniciou o terminal.

e então o exiv pode ser usado corretamente.

Mas o méson não detecta sua existência durante a construção.

Para ser claro: o pacote gexiv2 Version0.10.9enviado para Ubuntu 19.04 é inferior à minha versão necessária de 0.11.0, pelo menos.

Responder1

Descobri o que estava errado - você baixou a versão binária do Exiv2, mas realmente precisa da versão fonte com cabeçalhos e arquivos de desenvolvimento correspondentes.

Portanto, as etapas completas serão as seguintes:

parte exiv2

sudo apt-get install cmake meson
sudo apt-get build-dep exiv2

cd ~/Downloads
wget https://www.exiv2.org/builds/exiv2-0.27.1-Source.tar.gz
tar -xf exiv2-0.27.1-Source.tar.gz
cd exiv2-0.27.1-Source/
cmake .
make
sudo make install

Verificar:

$ exiv2 --version | head -n1
exiv2 0.27.1

parte gexiv2

sudo apt-get build-dep libgexiv2-dev
cd ~/Downloads
wget http://ftp.gnome.org/pub/GNOME/sources/gexiv2/0.11/gexiv2-0.11.0.tar.xz
tar -xf gexiv2-0.11.0.tar.xz
cd gexiv2-0.11.0/
meson build
cd build
sudo meson install

e assim por diante.

informação relacionada