OpenImageIO's CMake script tries to figure out OpenEXR version by directly scanning one of its header files (OpenEXRConfig.h). However, media-libs/openexr replaces this file with one generated by multilib-build.eclass. The generated header file does not directly contain the strings that the CMake script expect to find, causing it to fail.
Created attachment 550808 [details] build log
Portage 2.3.51 (python 2.7.15-final-0, default/linux/amd64/17.1/no-multilib, gcc-8.2.0, glibc-2.27-r6, 4.18.7-gentoo-gnu x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.18.7-gentoo-gnu-x86_64-Intel-R-_Core-TM-_i5-4460_CPU_@_3.20GHz-with-gentoo-2.6 KiB Mem: 8097996 total, 379512 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Fri, 12 Oct 2018 04:30:01 +0000 Head commit of repository gentoo: d8383d168e1a597353e12843f269512962ea4d45 Timestamp of repository cg: Wed, 03 Oct 2018 02:36:27 +0000 Head commit of repository cg: 6189e637c6a8da1d0cf3745b60b57058a2618833 Timestamp of repository cynede: Fri, 28 Sep 2018 00:35:40 +0000 Head commit of repository cynede: 24b1bf06dc5eec8c83368c4cb55a1391938bc98c Head commit of repository flatpak-overlay: c53e0b55cb8753486a98c0ddf7b63f20e2e6be78 Timestamp of repository gnome-next: Thu, 11 Oct 2018 07:23:47 +0000 Head commit of repository gnome-next: d5037329171984bcfd5bc84bd19ea7b1b9068fb4 Timestamp of repository haskell: Thu, 11 Oct 2018 06:43:48 +0000 Head commit of repository haskell: fd84dce9151084b00319ad4d1d363a4fec061c92 Timestamp of repository ikelos: Wed, 03 Oct 2018 02:35:52 +0000 Head commit of repository ikelos: 84cf8f52da7dbb2b5740e4842082bb486c2a5898 Timestamp of repository jm-overlay: Wed, 03 Oct 2018 02:36:28 +0000 Head commit of repository jm-overlay: aa8b273a78a90c7a11ad86ac3d1377dca3bc593f Timestamp of repository miramir: Thu, 04 Oct 2018 13:04:06 +0000 Head commit of repository miramir: 9a053b1a31685de64ae7c8af8fbc64110c4ff7cb Timestamp of repository rion: Thu, 11 Oct 2018 18:50:31 +0000 Head commit of repository rion: 9a6a53545e3ac5e67d9cde004ed2f88042b24fcf Timestamp of repository ssnb: Tue, 09 Oct 2018 20:04:01 +0000 Head commit of repository ssnb: 4200f201a685417b39a81d572321cade8232e910 Timestamp of repository waebbl: Fri, 05 Oct 2018 22:04:01 +0000 Head commit of repository waebbl: 19354542f61563ea276cac416856e88b50d84708 sh bash 4.4_p23 ld GNU ld (Gentoo 2.31.1 p3) 2.31.1 distcc 3.2rc1 x86_64-pc-linux-gnu [disabled] app-shells/bash: 4.4_p23::gentoo dev-lang/perl: 5.26.2::gentoo dev-lang/python: 2.7.15::gentoo, 3.4.8-r1::gentoo, 3.6.6::gentoo, 3.7.0::gentoo dev-util/cmake: 3.12.3::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.6-r1::gentoo sys-apps/sandbox: 2.13::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.11.6-r3::gentoo, 1.16.1-r1::gentoo sys-devel/binutils: 2.31.1-r1::gentoo sys-devel/gcc: 8.2.0-r3::gentoo sys-devel/gcc-config: 2.0::gentoo sys-devel/libtool: 2.4.6-r5::gentoo sys-devel/make: 4.2.1-r4::gentoo sys-kernel/linux-headers: 4.17::gentoo (virtual/os-headers) sys-libs/glibc: 2.27-r6::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 sync-rsync-verify-jobs: 1 sync-rsync-verify-metamanifest: yes sync-rsync-extra-opts: sync-rsync-verify-max-age: 24 cg location: /var/db/repos/cg sync-type: git sync-uri: https://github.com/gentoo-mirror/cg.git masters: gentoo cynede location: /var/db/repos/cynede sync-type: git sync-uri: https://github.com/gentoo-mirror/cynede.git masters: gentoo haskell flatpak-overlay location: /var/db/repos/flatpak-overlay sync-type: git sync-uri: https://github.com/fosero/flatpak-overlay.git masters: gentoo gnome-next location: /var/db/repos/gnome-next sync-type: git sync-uri: https://github.com/gentoo-mirror/gnome-next.git masters: gentoo haskell location: /var/db/repos/haskell sync-type: git sync-uri: https://github.com/gentoo-mirror/haskell.git masters: gentoo ikelos location: /var/db/repos/ikelos sync-type: git sync-uri: https://github.com/gentoo-mirror/ikelos.git masters: gentoo jm-overlay location: /var/db/repos/jm-overlay sync-type: git sync-uri: https://github.com/gentoo-mirror/jm-overlay.git masters: gentoo local location: /usr/local/portage masters: gentoo priority: 0 miramir location: /var/db/repos/miramir sync-type: git sync-uri: https://github.com/gentoo-mirror/miramir.git masters: gentoo rion location: /var/db/repos/rion sync-type: git sync-uri: https://github.com/gentoo-mirror/rion.git masters: gentoo ssnb location: /var/db/repos/ssnb sync-type: git sync-uri: https://github.com/gentoo-mirror/ssnb.git masters: gentoo waebbl location: /var/db/repos/waebbl sync-type: git sync-uri: https://github.com/gentoo-mirror/waebbl.git masters: gentoo ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="@FREE AdobeFlash-11.x freetts" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=native -O2 -fomit-frame-pointer -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/chromium/policies/managed/chrome-gnome-shell.json /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/opt/chrome/policies/managed/chrome-gnome-shell.json /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=native -O2 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://gentoo.aditsu.net:8000/ http://gentoo.gg3.net/" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="10bit 64bit X acl acpi aes alsa amd64 apng automount avx avx2 bash-completion berkdb bluetooth btrfs bzip2 cairo cdr clang cli colord crypt cups custom-optimization cxx dbus dconf deblob device-mapper dri dri3 drm dvd egl eme-free ffmpeg flac fma3 fts3 g3dvl gbm gda gdbm gdu gegl git gnome gnome-keyring gnome-online-accounts gnutls gpm gstreamer gtk gtk3 gudev guile hal hwaccel hwdb iconv icu ingnome3 ipc ipv6 jit jpeg kdrive kvm libaom libass libkms libmpv libnotify libtirpc midi mmx mmxext modemmanager modplug mp3 native-headset nautilus ncurses network nls nptl nsplugin ntp nvidia ocl-icd ofono-headset ogg opencl opengl openmp openssl opus pam pcre png policykit popcnt postproc pulseaudio python python3 qt3support readline reencrypt sdl smp spell spice sqlite sse sse2 sse3 sse4_1 sse4_2 ssh ssl ssse3 startup-notification static-analyzer svg systemd tcpd theora threads timidity udev udisks unicode usb user-session uvm v4l v4l2 vaapi vdpau video vim-syntax vorbis vpx vulkan wayland wayland-compositor webgl webm xattr xephyr xkb xorg xvmc xwayland zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon plan sheets stage words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-1" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" QEMU_SOFTMMU_TARGETS="x86_64 i386 arm aarch64" QEMU_USER_TARGETS="arm aarch64" RUBY_TARGETS="ruby25" SANE_BACKENDS="net" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= media-libs/openimageio-1.8.13::gentoo was built with the following: USE="ffmpeg opengl python ssl truetype -colorio -doc -field3d -gif -jpeg2k -libressl -opencv -ptex -qt5 -raw" CPU_FLAGS_X86="avx avx2 sse2 sse3 sse4_1 sse4_2 ssse3 -avx512f -f16c" PYTHON_SINGLE_TARGET="python3_6 -python2_7 -python3_4 -python3_5" PYTHON_TARGETS="python2_7 python3_6 -python3_4 -python3_5"
Found same issue
Just FYI, this is not just something OpenImageIO does in its cmake files. This is the same way the official openEXR .cmake file does it: https://github.com/openexr/openexr/blob/master/cmake/FindOpenEXR.cmake So this multilib wrapper stuff will most likely break all cmake projects that use OpenEXR!
*** Bug 668444 has been marked as a duplicate of this bug. ***
*** Bug 668466 has been marked as a duplicate of this bug. ***
I already asked @Jonathan in bug 669508#c6 whether we really need the wrapped header file. He introduced it in the first place. On x86 arch the files are identical for both subarches, so it might not be needed at all.
Another point is, the same issue might pop up for media-libs/ilmbase, which also uses a multilib wrapped header file and where the cmake file uses the same mechanism to find the header files: https://github.com/openexr/openexr/blob/master/cmake/FindIlmBase.cmake But there, the header files for abi_x86_64 and abi_x86_32 are different. Upstream is migrating from autotools to cmake, but it looks, like they are not yet finished with it. We might try to start migrating ilmbase and openexr to cmake. If we really need those multilib wrapped header files, we can patch the cmake module file, which get's hopefully installed if we use cmake for building, to get around this issue. On the other hand, pyilmbase and openexr_viewers don't ship with CMakefiles yet. Another approach could be not to use different packages at all for it, but only a single package, i.e. openexr-suite for which the CMakefiles seems almost ready to handle it.
Patch: https://github.com/OpenImageIO/oiio/pull/2056 Fixed ebuild in overlay: https://github.com/devurandom/gentoo-overlay/commit/f06820f9c64502050db5b072e307e5fc5a90fdb2 See-Also: https://github.com/OpenImageIO/oiio/pull/2056
(In reply to Dennis Schridde from comment #9) > Patch: https://github.com/OpenImageIO/oiio/pull/2056 > Fixed ebuild in overlay: > https://github.com/devurandom/gentoo-overlay/commit/ > f06820f9c64502050db5b072e307e5fc5a90fdb2 > > See-Also: https://github.com/OpenImageIO/oiio/pull/2056 Original patch did not work on OSX and thus had to be replaced. The following commit updates my overlay to use this patch: https://github.com/devurandom/gentoo-overlay/commit/d6690af34a7077b246a8c54c2d909dc6efe5c5ca See-Also: https://github.com/OpenImageIO/oiio/pull/2057
Are there any plans to put this patch into the main repository?
A revbump to 1.8.17 is sufficient since the bug is fixed upstream.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32852865d59bc3ab579d4664d5c9b5790edfca46 commit 32852865d59bc3ab579d4664d5c9b5790edfca46 Author: Lars Wendler <polynomial-c@gentoo.org> AuthorDate: 2019-01-07 12:35:48 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2019-01-07 12:38:15 +0000 media-libs/openimageio: Removed old. Closes: https://bugs.gentoo.org/668412 Package-Manager: Portage-2.3.54, Repoman-2.3.12 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> media-libs/openimageio/Manifest | 2 - .../files/openimageio-1.8.7-ffmpeg4.patch | 26 ----- media-libs/openimageio/openimageio-1.8.13.ebuild | 114 -------------------- media-libs/openimageio/openimageio-1.8.7.ebuild | 116 --------------------- 4 files changed, 258 deletions(-) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=623d623d28c31f51e3de3fda5335c1cd639fdbca commit 623d623d28c31f51e3de3fda5335c1cd639fdbca Author: lg188 <lander.ghekiere@gmail.com> AuthorDate: 2019-01-06 13:53:48 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2019-01-07 12:38:13 +0000 media-libs/openimageio: version bump to 1.8.17 Bug: https://bugs.gentoo.org/668412 Closes: https://bugs.gentoo.org/672616 Signed-off-by: Lander Ghekiere <lander.ghekiere@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/10757 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> media-libs/openimageio/Manifest | 1 + media-libs/openimageio/openimageio-1.8.17.ebuild | 114 +++++++++++++++++++++++ 2 files changed, 115 insertions(+)