In file included from gexiv2/gexiv2-metadata.cpp:12:0: gexiv2/gexiv2-metadata-private.h:17:25: fatal error: exiv2/xmp.hpp: No such file or directory #include <exiv2/xmp.hpp> ^ compilation terminated. ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.0-no-multilib_libressl_20171013-195226 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-6.4.0 * Available Python interpreters, in order of preference: [1] python3.4 [2] python2.7 (fallback) Available Ruby profiles: [1] ruby22 (with Rubygems) * java-config: The following VMs are available for generation-2: *) IcedTea JDK 3.5.1 [icedtea-bin-8] Available Java Virtual Machines: [1] icedtea-bin-8 system-vm emerge -qpv media-libs/gexiv2 [ebuild N ] media-libs/gexiv2-0.10.6 USE="-introspection -python -static-libs {-test}" PYTHON_TARGETS="python2_7 python3_4 -python3_5"
Created attachment 498728 [details] emerge-info.txt
Created attachment 498730 [details] emerge-history.txt
Created attachment 498732 [details] environment
Created attachment 498734 [details] etc.portage.tbz2
Created attachment 498736 [details] logs.tbz2
Created attachment 498738 [details] media-libs:gexiv2-0.10.6:20171015-054119.log
Created attachment 498740 [details] temp.tbz2
This is related to a rename in exiv2 [1] and the fallout will probably affect more than just gexiv2. probably best to mask the exiv2 pre-release added as it breaks patching everything will take time. [1] https://github.com/Exiv2/exiv2/commit/935421c8554fb80e7caa22b6dbacac60294b3169
Ugly fix so that I can at least finish my build. --- gexiv2-0.10.6.ebuild.orig 2017-10-15 16:43:20.236923668 +0200 +++ gexiv2-0.10.6.ebuild 2017-10-15 16:55:15.867861518 +0200 @@ -30,7 +30,15 @@ DEPEND="${RDEPEND} virtual/pkgconfig" -src_prepare() { +src_prepare() { + if has_version ">=media-gfx/exiv2-0.26_p20171013"; then + sed -i 's|exiv2/xmp.hpp|exiv2/xmp_exiv2.hpp|' \ + gexiv2/gexiv2-metadata-private.h \ + gexiv2/gexiv2-metadata.cpp \ + gexiv2/gexiv2-metadata-xmp.cpp \ + gexiv2/gexiv2-startup.cpp || die + fi + xdg_environment_reset tc-export CXX default
It is a relatively easy fix, and only a minority of the rdeps is even using that header, so I'd rather we produce patches to fix those ~arch packages that are affected, and we can send them to upstreams.
Created attachment 498792 [details, diff] gexiv2-exiv2-0.26.1.patch
(In reply to Andreas Sturmlechner from comment #11) > Created attachment 498792 [details, diff] [details, diff] > gexiv2-exiv2-0.26.1.patch That will break the build on exiv2 < 0.26.1. Probably best to do something like below and apply it unconditionally. #if EXIV2_CHECK_VERSION (0, 26, 1) include new name #else include old name #endif
You will need that for the ability to upstream it, but in the ebuild we can simply raise the exiv2 version requirement. Since that is riddled with security issues, and we are looking at stabilising some 0.26 snapshot soon anyway...
exiv2 upstream only now added a stable branch, so this patch will likely not going to be necessary on next snapshot... sigh
I've just added a new snapshot 0.26_p20171018 based on upstream's 0.26 stable branch plus the cmake patches we need, so this should be fixed. Please test.
It builds properly now. It does not appear to cause any problems in gexiv2 and places it is used for me. But if they show up I'll open new bugs for them.
*** Bug 634654 has been marked as a duplicate of this bug. ***