FAILED: plugins/dockers/lut/CMakeFiles/kritalutdocker.dir/ocio_display_filter.cpp.o /usr/bin/x86_64-pc-linux-gnu-g++ -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DHAVE_X11 -DKCOREADDONS_LIB -DKGUIADDONS_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x50900 -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_SIGNALS_SLOTS_KEYWORDS -DQT_NO_URL_CAST_FROM_STRING -DQT_PRINTSUPPORT_LIB -DQT_STRICT_ITERATORS -DQT_SVG_LIB -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -DQT_XML_LIB -DTRANSLATION_DOMAIN=\"krita\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -Dkritalutdocker_EXPORTS -Iplugins/dockers/lut -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/plugins/dockers/lut -Iplugins/dockers/lut/kritalutdocker_autogen/include -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/interfaces -I. -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3 -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/ui/canvas -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/ui/flake -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/ui/ora -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/ui/tool -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/ui/utils -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/ui/widgets -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/ui/input/wintab -Ilibs/ui -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/ui -Ilibs/impex -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/impex -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/image/brushengine -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/image/filter -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/image/generator -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/image/layerstyles -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/image/processing -Ilibs/image -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/image -Ilibs/version -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/version -Ilibs/widgets -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/widgets -Ilibs/odf -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/odf -Ilibs/koplugin -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/koplugin -Ilibs/store -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/store -Ilibs/global -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/global -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/flake/commands -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/flake/tools -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/flake/svg -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/flake/text -Ilibs/flake -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/flake -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/pigment/resources -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/pigment/compositeops -Ilibs/pigment -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/pigment -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/widgetutils/config -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/widgetutils/xmlgui -Ilibs/widgetutils -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/widgetutils -Ilibs/command -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/command -Ilibs/psd -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/psd -Ilibs/metadata -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/metadata -Ilibs/color -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/color -Ilibs/color/colord -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/color/colord -Ilibs/brush -I/var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/libs/brush -isystem /usr/include/OpenEXR -isystem /usr/include/eigen3 -isystem /usr/include/OpenColorIO -isystem /usr/include/KF5/KCoreAddons -isystem /usr/include/KF5 -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/KF5/KCompletion -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/KF5/KI18n -isystem /usr/include/KF5/KItemViews -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/qt5/QtSvg -isystem /usr/include/KF5/KGuiAddons -isystem /usr/include/qt5/QtX11Extras -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtMultimedia -DQT_NO_DEBUG -O2 -pipe -march=bdver2 -frecord-gcc-switches -fstack-protector-strong -fstack-check -fno-operator-names -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Wvla -Wdate-time -Wsuggest-override -Wlogical-op -fdiagnostics-color=always -fext-numeric-literals -fexceptions -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wno-suggest-override -Wextra -Wno-class-memaccess -fPIC -std=gnu++14 -MD -MT plugins/dockers/lut/CMakeFiles/kritalutdocker.dir/ocio_display_filter.cpp.o -MF plugins/dockers/lut/CMakeFiles/kritalutdocker.dir/ocio_display_filter.cpp.o.d -o plugins/dockers/lut/CMakeFiles/kritalutdocker.dir/ocio_display_filter.cpp.o -c /var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/plugins/dockers/lut/ocio_display_filter.cpp /var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/plugins/dockers/lut/ocio_display_filter.cpp: In member function ‘virtual void OcioDisplayFilter::filter(quint8*, quint32)’: /var/tmp/portage/media-gfx/krita-4.4.3/work/krita-4.4.3/plugins/dockers/lut/ocio_display_filter.cpp:64:22: error: ‘using element_type = const class OpenColorIO_v2_0::Processor’ {aka ‘const class OpenColorIO_v2_0::Processor’} has no member named ‘apply’ 64 | m_processor->apply(img); | ^~~~~ More errors follow, see build log for details. Omitting the USE flag finishes the build. This implies a conflict with latest media-gfx/blender-2.93.0 which depends on >=media-libs/opencolorio-2.0.0. Reproducible: Always Steps to Reproduce: 1. emerge >=opencolorio-2.0.0 2. USE="color-management" emerge krita 3. emerge --info attached due to comment size restriction
Created attachment 715770 [details] emerge-info-krita-4.4.3.txt output of emerge --info krita
Created attachment 715773 [details] krita-4.4.3:20210613-180943.log.xz build log, compressed due to size
Andreas, thanks for your research. I doubt this commit is enough to solve this issue. The file where the error occurs still calls the apply function in 4.4.5[1] and the definition of processor[2] tells it's of type ConstProcessorRcPtr, thus of type Processor[3]. The definition of Processor in the OCIO header files seems to have changed and the Processor class no longer contains an apply method[4] (though a CPUProcessor class does[5]). [1] https://invent.kde.org/graphics/krita/-/blob/krita/4.4.5/plugins/dockers/lut/ocio_display_filter.cpp#L64 [2] https://invent.kde.org/graphics/krita/-/blob/krita/4.4.5/plugins/dockers/lut/ocio_display_filter.h#L78 [3] https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/master/include/OpenColorIO/OpenColorTypes.h#L68 [4] https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/master/include/OpenColorIO/OpenColorIO.h#L2027 [5] https://github.com/AcademySoftwareFoundation/OpenColorIO/blob/master/include/OpenColorIO/OpenColorIO.h#L2226
The issue here is that opencolorio-2.0.0 should have been put in its own SLOT thanks to its incompatible API. I'd like to know the rationale for its ebuild treating it like a simple update.
(In reply to rnddim from comment #4) > The issue here is that opencolorio-2.0.0 should have been put in its own > SLOT thanks to its incompatible API. The issue is that it has an incompatible API. We can debate how to fix it in all sorts of ways. Typically, we just introduce a < dep. >I'd like to know the rationale for its ebuild treating it like a simple update. That seems a bit entitled, although I'm sure you didn't mean it like that. Breaking API is not necessarily a reason to slot it.
I'm really surprised you could read any kind of entitlement out of my comment. I just thought it was common practice for incompatible API to lead to a new SLOT, so I was wondering why it wasn't done for opencolorio.
(In reply to rnddim from comment #6) > I'm really surprised you could read any kind of entitlement out of my > comment. I just thought it was common practice for incompatible API to lead > to a new SLOT, so I was wondering why it wasn't done for opencolorio. Sure, sorry -- tone is not easy on the internet and maybe I misread! Really, we do a lot of different things for API breaks: 1) Add < deps for consumers which break 2) Introduce a *sub*slot (SLOT="X/Y" where X is irrelevant and Y is some indicator that the API changed), but this is kind of uncommon for *API* changes -- usually more ABI breaks, but not always. 3) Introduce a slot (this is problematic unless the versions truly are installable in parallel, and we'd need to check that the build systems of all consumers know how to find the right versioned files). So, really, in a lot of cases, unless we KNOW all/most consumers will break, we wait and see. Then we apply option 1). Or we go back and revisit 2) or 3) if necessary. In terms of rationale: - See above; - Sometimes people make mistakes too. I'm not sure somebody did here, but that's why it's better to focus on "What should we do now?" rather than "Please provide reasons why you did X" in this case. In this case, we may want to apply a < dep to Krita.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75651b0d83a785d1cb8411d36317b0452cb1144b commit 75651b0d83a785d1cb8411d36317b0452cb1144b Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2021-06-19 20:36:00 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2021-06-20 08:32:53 +0000 media-gfx/krita: 4.4.5 version bump Introduce dev-python/sip slot op Restrict to =media-libs/opencolorio-1* Bug: https://bugs.gentoo.org/793887 Bug: https://bugs.gentoo.org/795786 Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> media-gfx/krita/Manifest | 1 + .../files/krita-4.4.5-pykrita-crash-on-exit.patch | 55 +++++++++ media-gfx/krita/krita-4.4.5.ebuild | 129 +++++++++++++++++++++ 3 files changed, 185 insertions(+)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2680602d9fbeb025f43c580b070177b86d223dfd commit 2680602d9fbeb025f43c580b070177b86d223dfd Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2021-07-05 06:27:48 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2021-07-05 06:27:48 +0000 media-gfx/krita: Drop 4.4.3 Closes: https://bugs.gentoo.org/793887 Closes: https://bugs.gentoo.org/795786 Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> media-gfx/krita/Manifest | 1 - media-gfx/krita/krita-4.4.3.ebuild | 128 ------------------------------------- 2 files changed, 129 deletions(-)