libtool: compile: x86_64-pc-linux-gnu-g++ -march=core2 -O2 -fno-ident -pipe -Wall -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wcast-align -Wpointer-arith -Wformat-security -Wmissing-format-attribute -Woverloaded-virtual -W -Wundef -pedantic -MMD -I. -DEXV_LOCALEDIR=\"/usr/share/locale\" -c -DEXV_BUILDING_LIB=1 xmp.cpp -fPIC -DPIC -o .libs/xmp.o xmp.cpp:423: error: prototype for ‘bool Exiv2::XmpParser::registerNs(const std::string&, const std::string&)’ does not match any in class ‘Exiv2::XmpParser’ xmp.hpp:327: error: candidate is: static void Exiv2::XmpParser::registerNs(const std::string&, const std::string&) make[1]: *** [xmp.o] Error 1
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