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 636227 - gthumb-2.12.1 does not build with exiv2-0.21
gthumb-2.12.1 does not build with exiv2-0.21
Status: RESOLVED FIXED
Product: gthumb
Classification: Other
Component: general
2.12.x
Other Linux
: Normal normal
: ---
Assigned To: Paolo Bacchilega
Paolo Bacchilega
Depends on:
Blocks:
 
 
Reported: 2010-12-01 15:43 UTC by Funda Wang
Modified: 2010-12-20 10:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gthumb-2.12.1-exiv2-0.21.patch (2.38 KB, patch)
2010-12-20 03:57 UTC, Alexandre Rostovtsev
none Details | Review

Description Funda Wang 2010-12-01 15:43:35 UTC
When building gthumb 2.12.1 with exiv2-0.21, it failed with:

exiv2-utils.cpp: In function 'const char* get_exif_default_category(const Exiv2::Exifdatum&)':
exiv2-utils.cpp:500:6: error: 'isMakerIfd' is not a member of 'Exiv2::ExifTags'
exiv2-utils.cpp:504:7: error: 'ifd1Id' is not a member of 'Exiv2'
exiv2-utils.cpp:506:7: error: 'gpsIfdId' is not a member of 'Exiv2'
exiv2-utils.cpp:508:7: error: 'iopIfdId' is not a member of 'Exiv2'
exiv2-utils.cpp: In function 'void exiv2_read_metadata(Exiv2::Image::AutoPtr, GFileInfo*)':
exiv2-utils.cpp:534:28: error: 'ifd1Id' is not a member of 'Exiv2'
Comment 1 Alexandre Rostovtsev 2010-12-20 03:57:23 UTC
Created attachment 176740 [details] [review]
gthumb-2.12.1-exiv2-0.21.patch

I confirm that gthumb does not build with exiv2-0.21; this is caused by the API change described at http://dev.exiv2.org/issues/show/0000721. I am attaching a patch that should allow gthumb-2.12.* to work with both exiv2-0.21 and 0.20.

Since ifd IDs are no longer part of the exiv2 public API, the patch uses group names instead (which works with exiv2-0.20 as well, modulo the fact that 0.21 has isMakerGroup() instead of isMakerIfd() in 0.20).

In addition, instead of numeric comparison with ids1Id (which wouldn't work with exiv2-0.21 in any case), isMakerGroup()/isMakerIfd() are now used to determine whether or not a tag is a MakerNote.

I originally submitted this patch to Gentoo bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=349160
Comment 2 Paolo Bacchilega 2010-12-20 10:37:44 UTC
patch applied to master and gthumb-2-12 branches, thank you.