Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 349091 - media-gfx/exiv2-0.21 fails to build
Summary: media-gfx/exiv2-0.21 fails to build
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Stefan Briesenick (RETIRED)
URL:
Whiteboard:
Keywords:
: 349131 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-12-19 16:48 UTC by Arfrever Frehtes Taifersar Arahesis (RETIRED)
Modified: 2010-12-21 14:58 UTC (History)
28 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
exiv2-0.21:20101219-164544.log (exiv2-0.21:20101219-164544.log,44.16 KB, text/plain)
2010-12-19 16:49 UTC, Arfrever Frehtes Taifersar Arahesis (RETIRED)
Details
patch to fix error when building without USE=xmp (exiv2-0.21-fix-building-without-xmp.patch,496 bytes, patch)
2010-12-20 12:47 UTC, Chris Coleman
Details | Diff
gthumb build log (build.log,48.10 KB, text/plain)
2010-12-21 04:14 UTC, Bernard Tremblay
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-12-19 16:48:28 UTC
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
Comment 1 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-12-19 16:49:44 UTC
Created attachment 257556 [details]
exiv2-0.21:20101219-164544.log
Comment 2 Urmas Ivask 2010-12-19 17:58:53 UTC
It compiles with the xmp useflag set.
Comment 3 Hek Mek 2010-12-19 18:22:02 UTC
> 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&)
Comment 4 Henrique Dias 2010-12-19 20:41:26 UTC
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&)
> 

Comment 5 Ulrich Plate 2010-12-19 22:03:20 UTC
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
Comment 6 Stefan Briesenick (RETIRED) gentoo-dev 2010-12-19 23:31:18 UTC
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?
Comment 7 Stefan Briesenick (RETIRED) gentoo-dev 2010-12-19 23:35:33 UTC
ok, the output looks like that. it's too late here in Germany right now ;)
Comment 8 Rafał Mużyło 2010-12-19 23:52:24 UTC
*** Bug 349131 has been marked as a duplicate of this bug. ***
Comment 9 Bernard Tremblay 2010-12-20 03:41:33 UTC
 >> 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
--------------------------------------------------------------



Comment 10 Chris Coleman 2010-12-20 12:47:16 UTC
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/
Comment 11 Chris Coleman 2010-12-20 13:01:09 UTC
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
Comment 12 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2010-12-20 14:50:59 UTC
This bug is only for build failure of media-gfx/exiv2-0.21 itself.
Don't report here any problems in any other packages.
Comment 13 Andrew John Hughes 2010-12-20 17:57:10 UTC
Also hit the reported problem.  Please apply the patch to fix this ebuild.
Comment 14 Bernard Tremblay 2010-12-21 04:14:50 UTC
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’
Comment 15 Bernard Tremblay 2010-12-21 04:19:21 UTC
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 ?

Comment 16 Nikos Chantziaras 2010-12-21 05:39:04 UTC
The broken package is still in portage. Please mask it?
Comment 17 Stefan Briesenick (RETIRED) gentoo-dev 2010-12-21 10:43:40 UTC
I will rollout the patch asap.
Comment 18 Stefan Briesenick (RETIRED) gentoo-dev 2010-12-21 12:34:36 UTC
ok, -r1 is in portage now.

but for the other packages, we have to either fix the dependencies of that packages, or fix them.
Comment 19 Samuli Suominen gentoo-dev 2010-12-21 14:58:36 UTC
(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