Compiling on Opensuse Leap

I’ve been using ART for the last while as the appimage. Since there was no 1.8 appimage, I decided to try the compiling.

Opensuse leap15.2 (current).

  1. I downloaded https://bitbucket.org/agriggio/art/downloads/ART-1.8.tar.xz with 256sum.
  2. I installed the stuff from rawpedia for suse.
  3. untared and ran
cmake .

I get the following error:

> cmake .
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_BUILD_TYPE: Debug
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.2") 
-- Checking for module 'gtk+-3.0>=3.16'
--   Found gtk+-3.0, version 3.24.20
-- Checking for module 'gtkmm-3.0>=3.16'
--   Found gtkmm-3.0, version 3.24.2
-- Checking for module 'glib-2.0>=2.44'
--   Found glib-2.0, version 2.62.6
-- Checking for module 'glibmm-2.4>=2.44'
--   Found glibmm-2.4, version 2.62.0
-- Checking for module 'cairomm-1.0'
--   Found cairomm-1.0, version 1.12.2
-- Checking for module 'gio-2.0>=2.44'
--   Found gio-2.0, version 2.62.6
-- Checking for module 'giomm-2.4>=2.44'
--   Found giomm-2.4, version 2.62.0
-- Checking for module 'gthread-2.0>=2.44'
--   Found gthread-2.0, version 2.62.6
-- Checking for module 'gobject-2.0>=2.44'
--   Found gobject-2.0, version 2.62.6
-- Checking for module 'sigc++-2.0>=2.3.1'
--   Found sigc++-2.0, version 2.10.2
-- Checking for module 'lensfun>=0.2'
--   Found lensfun, version 0.3.2.0
-- Checking for module 'librsvg-2.0>=2.40'
--   Found librsvg-2.0, version 2.46.4
-- Checking for module 'exiv2>=0.24'
--   No package 'exiv2' found
CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:467 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPkgConfig.cmake:647 (_pkg_check_modules_internal)
  CMakeLists.txt:345 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/home/froggy/downloads/linux/ART-1.8/CMakeFiles/CMakeOutput.log".
See also "/home/froggy/downloads/linux/ART-1.8/CMakeFiles/CMakeError.log".
  1. Exiv2 is installed:
> which exiv2
/usr/bin/exiv2

and

> zypper info exiv2
Loading repository data...
Reading installed packages...


Information for package exiv2:
------------------------------
Repository     : @System
Name           : exiv2
Version        : 0.27.3-lp152.114.1
Arch           : x86_64
Vendor         : obs://build.opensuse.org/X11
Installed Size : 331.7 KiB
Installed      : Yes             <<<<<<<<<<<<<<<<
Status         : up-to-date
Source package : exiv2-0.27.3-lp152.114.1.src
Summary        : Tool to access image Exif metadata
Description    : 
    Exiv2 is a command line utility to access image metadata from tags like
    Exif.

I have looked at the output of

See also "/home/froggy/downloads/linux/ART-1.8/CMakeFiles/CMakeOutput.log".
See also "/home/froggy/downloads/linux/ART-1.8/CMakeFiles/CMakeError.log".

But I don’t understand these.

Any suggestion on how to fix this?

Thank you

Not familiar with OpenSuse, but in the Debian world a separate -dev package is usually needed to provide the headers expected for including a library in a compile.

I think you need something like libexiv2

HTH

That worked: I need:

libexiv2-devel

except that after the compile: ART is missing the version:

Version: 
Branch: 
Commit: 
Commit date: 
Compiler: cc 7.5.0
Processor: x86_64
System: Linux
Bit depth: 64 bits
Gtkmm: V3.24.2
Lensfun: V0.3.2.0
Exiv2: V0.26
LCMS2: V2.9
Build type: Debug
Build flags:  -std=c++11  -Werror=unused-label -fno-math-errno -Wall -Wuninitialized -Wno-deprecated-declarations -Wno-unused-result -fopenmp -Werror=unknown-pragmas -g -ftree-vectorize
Link flags:   
OpenMP support: ON
MMAP support: OFF
Build OS: Linux
Build date: 2021-02-07T22:27:02Z

Thank you

Hmm, that’s kinda worrying. If the header files were for exiv2 0.26 and the binary library file is exiv2 0.27, you’re likely to experience a crash when a exiv2 function is called. Thing is, the OpenSuse package maintainer should be tracking version numbers…

syv is just installing the devel package from a different repo as the library package.

picking the proper repo for both is the responsibility of the user.

As a noobie, I don’t know what I’m doing.

When I searched with zypper for *exiv*, I see that there’s both libexiv2-26 and libexiv2-27 installed on my system while the exiv2 is 0.27.3-lp152.114.1 but the libexiv2-devel is: 0.26-lp152.8.2.

I will have to take that error with the opensuse admins.

BTW, is there going to be a 1.8 appimage?

Thank you

Hi,

It seems the automated builds stopped working a while ago. Pinging @Carmelo_DrRaw though I think he’s not much around here these days

Btw @foto, there should be an OpenSuse package available at:


(the link in the wiki was broken, I’ve just fixed it).

Actually, this is only for opensuse tumbleweed. I run opensuse leap 15.2. I’ll try to muddle through to figure it out. I’ll report by the end of the week (I hope).

Thanks for all the hard work.

Just recompiled with the correct repo and the correct libexiv2-devel

> zypper if libexiv2-devel
Loading repository data...
Reading installed packages...


Information for package libexiv2-devel:
---------------------------------------
Repository     : graphics
Name           : libexiv2-devel
Version        : 0.27.3-lp152.149.1
Arch           : x86_64
Vendor         : obs://build.opensuse.org/graphics
Installed Size : 503.5 KiB
Installed      : Yes
Status         : up-to-date
Source package : exiv2-0.27.3-lp152.149.1.src
Summary        : Development Headers for Exiv2
Description    : 
    Exiv2 is a C++ library and a command line utility to access image
    metadata.

but ART still doesn’t show the version:

Version: 
Branch: 
Commit: 
Commit date: 
Compiler: cc 7.5.0
Processor: x86_64
System: Linux
Bit depth: 64 bits
Gtkmm: V3.24.2
Lensfun: V0.3.2.0
Exiv2: V0.27.3
LCMS2: V2.9
Build type: Debug
Build flags:  -std=c++11  -Werror=unused-label -fno-math-errno -Wall -Wuninitialized -Wno-deprecated-declarations -Wno-unused-result -fopenmp -Werror=unknown-pragmas -g -ftree-vectorize
Link flags:   
OpenMP support: ON
MMAP support: OFF
Build OS: Linux
Build date: 2021-02-08T17:08:21Z

How can I test if there’s going to be exiv2 problem?

Thank you

I think there a bug in the art tarball. I’ll upload a new one. However, you can ignore the missing version number for now. But be aware you are building in debug mode, so it’s going to be slow… If you didn’t want this, change the var CMAKE_BUILD_TYPE to Release in CMakeCache.txt

Where should I look for the new tarball? Is this the location?

https://bitbucket.org/agriggio/art/downloads/

Thank you

Patience, my friend, patience! :wink:

  1. No rush
  2. I just wanted to make sure that I was looking at the right spot

:innocent:

Thank you:

Version: 1.8.1
Branch: master
Commit: e6275eef09a0
Commit date: 2021-02-11
Compiler: cc 7.5.0
Processor: x86_64
System: Linux
Bit depth: 64 bits
Gtkmm: V3.24.2
Lensfun: V0.3.2.0
Exiv2: V0.27.3
LCMS2: V2.9
Build type: Release
Build flags:  -std=c++11  -Werror=unused-label -fno-math-errno -Wall -Wuninitialized -Wno-deprecated-declarations -Wno-unused-result -fopenmp -Werror=unknown-pragmas -O3 -DNDEBUG -ftree-vectorize
Link flags:   
OpenMP support: ON
MMAP support: OFF
Build OS: Linux
Build date: