Summary: | media-gfx/exiv2-0.21 fails to build | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Arfrever Frehtes Taifersar Arahesis (RETIRED) <arfrever> |
Component: | Current packages | Assignee: | Stefan Briesenick (RETIRED) <sbriesen> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ag, aidanamarks, cedric.godin, chrsclmn, Dan.Johansson, dkarasik, gentoo, giovanni.bobbio, hilco.wijbenga, jarausch, jlp.bugs, jrmalaq, leonidp.lists, marduk, mark_alec, nelchael, pappy_mcfae, polynomial-c, proteuss, radfoj, realnc, saintdev, skrattaren, slashbeast, steven, telscuba, u.plate, zeev.tarantov |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
exiv2-0.21:20101219-164544.log
patch to fix error when building without USE=xmp gthumb build log |
Description
Arfrever Frehtes Taifersar Arahesis (RETIRED)
2010-12-19 16:48:28 UTC
Created attachment 257556 [details]
exiv2-0.21:20101219-164544.log
It compiles with the xmp useflag set. > It compiles with the xmp useflag set.
ACK.
This workaround will do for me, but I would not consider the issue solved by that ;-)
This indicates that simply the prototype for that function changed but either the implementation or header has not been adjusted. Maybe a change there slipped through when upstream changes were merged?
prototype for ‘bool Exiv2::XmpParser::registerNs(const
std::string&, const std::string&)’ does not match
candidate is: static void
Exiv2::XmpParser::registerNs(const std::string&, const std::string&)
Yes that's right, with the xmp useflag set compiles fine. (In reply to comment #3) > > It compiles with the xmp useflag set. > ACK. > This workaround will do for me, but I would not consider the issue solved by > that ;-) > > This indicates that simply the prototype for that function changed but either > the implementation or header has not been adjusted. Maybe a change there > slipped through when upstream changes were merged? > > prototype for ‘bool Exiv2::XmpParser::registerNs(const > std::string&, const std::string&)’ does not match > candidate is: static void > Exiv2::XmpParser::registerNs(const std::string&, const std::string&) > Interestingly enough, building exiv2-0.21 with USE="xmp" does indeed work, but when you do as recommended and revdep-rebuild this and that, krita-2.2.2 doesn't build any longer: [ 26% ] Building CXX object krita/ui/CMakeFiles/kritaui.dir/kisexiv2/kis_exif_io.o [ 26% ] Building CXX object krita/ui/CMakeFiles/kritaui.dir/kisexiv2/kis_exiv2.o /var/tmp/portage/app-office/krita-2.2.2/work/krita-2.2.2/krita/ui/kisexiv2/kis_exif_io.cpp: In member function ‘virtual bool KisExifIO::saveTo(KisMetaData::Store*, QIODevice*, KisMetaData::IOBackend::HeaderType) const’: /var/tmp/portage/app-office/krita-2.2.2/work/krita-2.2.2/krita/ui/kisexiv2/kis_exif_io.cpp:409:50: error: ‘tagType’ is not a member of ‘Exiv2::ExifTags’ /var/tmp/portage/app-office/krita-2.2.2/work/krita-2.2.2/krita/ui/kisexiv2/kis_exif_io.cpp:422:73: error: ‘tagType’ is not a member of ‘Exiv2::ExifTags’ /var/tmp/portage/app-office/krita-2.2.2/work/krita-2.2.2/krita/ui/kisexiv2/kis_exif_io.cpp:424:70: error: ‘tagType’ is not a member of ‘Exiv2::ExifTags’ /var/tmp/portage/app-office/krita-2.2.2/work/krita-2.2.2/krita/ui/kisexiv2/kis_exif_io.cpp:428:56: error: ‘tagType’ is not a member of ‘Exiv2::ExifTags’ make[2]: *** [krita/ui/CMakeFiles/kritaui.dir/kisexiv2/kis_exif_io.o] Error 1 hmm. that with the xmp use-flag looks like a bug. I try to investigate that. But what is the error with krita? All other packages rebuilds just fine. Are you sure, that this is a exiv2 incompability? ok, the output looks like that. it's too late here in Germany right now ;) *** Bug 349131 has been marked as a duplicate of this bug. *** >> It compiles with the xmp useflag set. Same for me. But gthumb doesn't compile anymore : ------------------------------------------------------------------------- exiv2-utils.cpp: In function ‘const char* get_exif_default_category(const Exiv2::Exifdatum&)’: exiv2-utils.cpp:500: erreur: ‘isMakerIfd’ is not a member of ‘Exiv2::ExifTags’ exiv2-utils.cpp:504: erreur: ‘ifd1Id’ is not a member of ‘Exiv2’ exiv2-utils.cpp:506: erreur: ‘gpsIfdId’ is not a member of ‘Exiv2’ exiv2-utils.cpp:508: erreur: ‘iopIfdId’ is not a member of ‘Exiv2’ exiv2-utils.cpp: In function ‘void exiv2_read_metadata(std::auto_ptr<Exiv2::Image>, GFileInfo*)’: exiv2-utils.cpp:534: erreur: ‘ifd1Id’ is not a member of ‘Exiv2’ make[4]: *** [libexiv2_tools_la-exiv2-utils.lo] Erreur 1 -------------------------------------------------------------- Created attachment 257616 [details, diff]
patch to fix error when building without USE=xmp
When --disable-xmp is passed to the configure script, the prototype of XmpParser::registerNs will be wrong.
s/bool/void/
Another package that doesn't build now is media-libs/gexiv2-0.2.1. There must have been some significant changes to the API. gexiv2/gexiv2-metadata-exif.cpp: In function 'const gchar* gexiv2_metadata_get_exif_tag_label(const gchar*)': gexiv2/gexiv2-metadata-exif.cpp:241:16: error: 'tagLabel' is not a member of 'Exiv2::ExifTags' gexiv2/gexiv2-metadata-exif.cpp: In function 'const gchar* gexiv2_metadata_get_exif_tag_description(const gchar*)': gexiv2/gexiv2-metadata-exif.cpp:255:16: error: 'tagDesc' is not a member of 'Exiv2::ExifTags' make: *** [x86_64-pc-linux-gnu/gexiv2-metadata-exif.o] Error 1 This bug is only for build failure of media-gfx/exiv2-0.21 itself. Don't report here any problems in any other packages. Also hit the reported problem. Please apply the patch to fix this ebuild. Created attachment 257654 [details]
gthumb build log
CXX libexiv2_tools_la-exiv2-utils.lo
CC libexiv2_tools_la-gth-edit-exiv2-page.lo
CC libexiv2_tools_la-gth-metadata-provider-exiv2.lo
CC libexiv2_tools_la-main.lo
exiv2-utils.cpp: In function ‘const char* get_exif_default_category(const Exiv2::Exifdatum&)’:
exiv2-utils.cpp:500: erreur: ‘isMakerIfd’ is not a member of ‘Exiv2::ExifTags’
exiv2-utils.cpp:504: erreur: ‘ifd1Id’ is not a member of ‘Exiv2’
exiv2-utils.cpp:506: erreur: ‘gpsIfdId’ is not a member of ‘Exiv2’
exiv2-utils.cpp:508: erreur: ‘iopIfdId’ is not a member of ‘Exiv2’
exiv2-utils.cpp: In function ‘void exiv2_read_metadata(std::auto_ptr<Exiv2::Image>, GFileInfo*)’:
exiv2-utils.cpp:534: erreur: ‘ifd1Id’ is not a member of ‘Exiv2’
Detail of previous comment #14 Compilation of exiv2-0.21 ok with applied patch and without xmp use flag. But gthumb doesn't compile anymore... So why not fix the package that breaks the others ? The broken package is still in portage. Please mask it? I will rollout the patch asap. ok, -r1 is in portage now. but for the other packages, we have to either fix the dependencies of that packages, or fix them. (In reply to comment #18) > ok, -r1 is in portage now. > > but for the other packages, we have to either fix the dependencies of that > packages, or fix them. > please test reverse dependencies next time when you see SONAME changing... :/ gthumb, bug 349160, now fixed krita, bug 349206, still unsolved and this bug should continue there |