Opened 5 years ago
Closed 5 years ago
Last modified 5 years ago
#13452 closed Bug Report - General (fixed)
Exiv 0.27.1 breaks the build.
Reported by: | David Hampton | Owned by: | David Hampton |
---|---|---|---|
Priority: | major | Milestone: | 31.0 |
Component: | MythTV - General | Version: | Master Head |
Severity: | high | Keywords: | |
Cc: | Ticket locked: | no |
Description
The rawhide builder just upgraded exiv2 from version 0.27.0 to version 0.27.1 and the builds broke.
imagemetadata.cpp: In constructor ‘PictureMetaData::PictureMetaData(const QString&)’: imagemetadata.cpp:313:19: error: ‘Error’ in namespace ‘Exiv2’ does not name a type 313 | catch (Exiv2::Error &e) | ^~~~~ In file included from /usr/include/qt5/QtCore/qcoreapplication.h:43, from /usr/include/qt5/QtCore/QCoreApplication:1, from imagemetadata.h:12, from imagemetadata.cpp:1: imagemetadata.cpp:315:74: error: ‘e’ was not declared in this scope 315 | LOG(VB_GENERAL, LOG_ERR, LOC + QString("Exiv2 exception %1").arg(e.what())); | ^ imagemetadata.cpp:315:9: note: in expansion of macro ‘LOG’ 315 | LOG(VB_GENERAL, LOG_ERR, LOC + QString("Exiv2 exception %1").arg(e.what())); | ^~~ make[2]: *** [Makefile:1708: obj/imagemetadata.o] Error 1
Change History (7)
Note: See
TracTickets for help on using
tickets.
Exiv2 v0.21 (Dec 2010) introduced an API header "exiv2.hpp". https://www.exiv2.org/whatsnew.html
That is currently commented out in imagemetadata.cpp because it broke distros using earlier versions in Nov 2015. https://forum.mythtv.org/viewtopic.php?t=1145
Switching to that instead of "image.hpp" resolves the compilation errors (and introduces a v0.21+ requirement).
Ubuntu 16.04 - 19.04 all use v0.25. I've seen comments that v0.26 had 'security issues', so it's likely Ubuntu will jump to 0.27 at some point.
Myth appears to use v0.23 sources for the Windows build.