After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 751007 - Compilation error when EXIF support disabled
Compilation error when EXIF support disabled
Status: RESOLVED FIXED
Product: eog
Classification: Core
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: EOG Maintainers
EOG Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-06-15 16:40 UTC by Alexandre Franke
Modified: 2015-07-04 10:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Build output (23.95 KB, text/plain)
2015-06-15 16:40 UTC, Alexandre Franke
  Details
proposed patch (1.08 KB, patch)
2015-06-17 03:07 UTC, Alexandre Rostovtsev
none Details | Review

Description Alexandre Franke 2015-06-15 16:40:29 UTC
Created attachment 305320 [details]
Build output

Default compilation options has EXIF support disabled, but compilation fails when that's the case.

Attached is the build output.
Comment 1 Hubert Figuiere (:hub) 2015-06-15 16:59:44 UTC
I see two things.

1. Exif and XMP support should not be optional. This would make eog not have two class of users
2. Exif support could be provided with just Exempi as it perform reconciliation of the Exif metadata when loading the XMP. So all you'd need is load the XMP and you'd get the Exif bits you need. And it works for writing as well.
Comment 2 Alexandre Rostovtsev 2015-06-17 03:07:41 UTC
Created attachment 305449 [details] [review]
proposed patch

Trivial patch to fix building --without-libexif. (One of our users reported this issue at https://bugs.gentoo.org/show_bug.cgi?id=552288)
Comment 3 Felix Riemann 2015-06-20 13:43:36 UTC
Hmm, while that patch fixes the build failure itself, the sidebar has several dead labels then which just read "label"...

Making Exif and XMP support non-optional was something I wanted to delay until I would finish the move to gExiv2 (libexif appears unmaintained) whenever that is.

Does Exempi really parse the Exif data? I thought that would only work if the Exif data is duplicated in the XMP stream.
Comment 4 Hubert Figuiere (:hub) 2015-06-20 14:43:38 UTC
(In reply to Felix Riemann from comment #3)

> Does Exempi really parse the Exif data? I thought that would only work if
> the Exif data is duplicated in the XMP stream.


The XMP SDK (which is the core) does Reconcile the native metadata with the XMP. So by default, if there is no XMP it will generate an XMP packet (in memory) that has the Exif metadata. So if you load the XMP from a JPEG that has Exif metadata, it will get it.
Comment 5 Felix Riemann 2015-06-22 17:55:20 UTC
Phew, that should help.

commit b4b80dbf69de85bfbe6134fb3f667a9d98c084c5
Author: Felix Riemann <>
Date:   Mon Jun 22 19:51:25 2015 +0200

    Fix metadata sidebar with libexif disabled
    
    Otherwise there would be several labels with the text "label".
    
    https://bugzilla.gnome.org/show_bug.cgi?id=751007

commit d45b7f14f7f95796d7e6fe5c2f9e5f223fe67a1a
Author: Felix Riemann <>
Date:   Mon Jun 22 19:42:06 2015 +0200

    Fix API docs build without libexif

commit 36d2cba817e87f71bfce132c3f89358fca40855e
Author: Alexandre Rostovtsev <>
Date:   Tue Jun 16 23:04:32 2015 -0400

    EogMetadataSidebar: fix --without-libexif build
    
    https://bugzilla.gnome.org/show_bug.cgi?id=751007


(In reply to Hubert Figuiere from comment #4)
> (In reply to Felix Riemann from comment #3)
> 
> > Does Exempi really parse the Exif data? I thought that would only work if
> > the Exif data is duplicated in the XMP stream.
> 
> 
> The XMP SDK (which is the core) does Reconcile the native metadata with the
> XMP. So by default, if there is no XMP it will generate an XMP packet (in
> memory) that has the Exif metadata. So if you load the XMP from a JPEG that
> has Exif metadata, it will get it.

Ah, didn't know that. However it will probably require eog to push the Exif data into Exempi as well. Hmm, another possibility to consider.
---
This problem has been fixed in the unstable development version. The fix will be available in the next major software release. You may need to upgrade your Linux distribution to obtain that newer version.
Comment 6 Felix Riemann 2015-07-04 10:36:21 UTC
Cherry-picked into gnome-3-16 as well, so it gets included if another 3.16.x tarball is rolled.