Bug 440708 - lut docker doesn't build with OpenColorIO 2.x
Summary: lut docker doesn't build with OpenColorIO 2.x
Status: RESOLVED DUPLICATE of bug 435474
Alias: None
Product: krita
Classification: Applications
Component: Dockers (show other bugs)
Version: 4.4.7
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-08-07 19:45 UTC by Bernhard Rosenkränzer
Modified: 2021-08-21 16:36 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bernhard Rosenkränzer 2021-08-07 19:45:22 UTC
SUMMARY
The lut docker uses obsolete OpenColorIO 1.x APIs and doesn't currently build against OpenColorIO 2.0.
Most porting is fairly straight forward (simply adding a getDefaultCPUProcessor()), only the DisplayTransform bits are a bit of a headache (at least to me, being mostly unfamiliar with OCIO).


STEPS TO REPRODUCE
1. Update OpenColorIO to 2.0.x
2. Try to build Krita

OBSERVED RESULT
Fails to build

EXPECTED RESULT
builds and works

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: OpenMandriva Cooker
KDE Plasma Version: 5.22.4
KDE Frameworks Version: 5.84
Qt Version: 5.15.2+all patches from kde git
Comment 1 Halla Rempt 2021-08-07 19:47:34 UTC
If it's straightforward, please provide a patch?
Comment 2 laguest@archeia.com 2021-08-16 16:19:27 UTC
It's not really straight forward, here's what I get:

/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp: In member function ‘virtual void OcioDisplayFilter::filter(quint8*, quint32)’:
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:52:22: error: ‘using element_type = const class OpenColorIO_v2_0::Processor’ {aka ‘const class OpenColorIO_v2_0::Processor’} has no member named ‘apply’
   52 |         m_processor->apply(img);
      |                      ^~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp: In member function ‘virtual void OcioDisplayFilter::approximateInverseTransformation(quint8*, quint32)’:
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:61:43: error: ‘using element_type = const class OpenColorIO_v2_0::Processor’ {aka ‘const class OpenColorIO_v2_0::Processor’} has no member named ‘apply’
   61 |         m_revereseApproximationProcessor->apply(img);
      |                                           ^~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp: In member function ‘virtual void OcioDisplayFilter::approximateForwardTransformation(quint8*, quint32)’:
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:70:42: error: ‘using element_type = const class OpenColorIO_v2_0::Processor’ {aka ‘const class OpenColorIO_v2_0::Processor’} has no member named ‘apply’
   70 |         m_forwardApproximationProcessor->apply(img);
      |                                          ^~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp: In member function ‘void OcioDisplayFilter::updateProcessor()’:
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:124:11: error: ‘DisplayTransformRcPtr’ is not a member of ‘OCIO’; did you mean ‘DisplayViewTransformRcPtr’?
  124 |     OCIO::DisplayTransformRcPtr transform = OCIO::DisplayTransform::Create();
      |           ^~~~~~~~~~~~~~~~~~~~~
      |           DisplayViewTransformRcPtr
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:125:5: error: ‘transform’ was not declared in this scope; did you mean ‘std::transform’?
  125 |     transform->setInputColorSpaceName(inputColorSpaceName);
      |     ^~~~~~~~~
      |     std::transform
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/algorithm:62,
                 from /usr/include/qt5/QtCore/qglobal.h:142,
                 from /usr/include/qt5/QtCore/qnamespace.h:43,
                 from /usr/include/qt5/QtCore/qobjectdefs.h:48,
                 from /usr/include/qt5/QtCore/qobject.h:46,
                 from /usr/include/qt5/QtCore/QObject:1,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/ui/canvas/kis_display_filter.h:9,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.h:9,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:6:
/usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include/g++-v10/bits/stl_algo.h:4347:5: note: ‘std::transform’ declared here
 4347 |     transform(_InputIterator1 __first1, _InputIterator1 __last1,
      |     ^~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:169:36: error: cannot convert ‘float [16]’ to ‘double*’
  169 |         OCIO::MatrixTransform::Fit(m44, offset4, oldMin, oldMax, newMin, newMax);
      |                                    ^~~
      |                                    |
      |                                    float [16]
In file included from /usr/include/OpenColorIO/OpenColorIO.h:16,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.h:10,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:6:
/usr/include/OpenColorIO/OpenColorTransforms.h:1849:30: note:   initializing argument 1 of ‘static void OpenColorIO_v2_0::MatrixTransform::Fit(double*, double*, const double*, const double*, const double*, const double*)’
 1849 |     static void Fit(double * m44, double* offset4,
      |                     ~~~~~~~~~^~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:171:14: error: ‘using element_type = class OpenColorIO_v2_0::MatrixTransform’ {aka ‘class OpenColorIO_v2_0::MatrixTransform’} has no member named ‘setValue’
  171 |         mtx->setValue(m44, offset4);
      |              ^~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:175:31: error: ‘using element_type = class OpenColorIO_v2_0::GroupTransform’ {aka ‘class OpenColorIO_v2_0::GroupTransform’} has no member named ‘push_back’
  175 |         approximateTransform->push_back(mtx);
      |                               ^~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:221:37: error: cannot convert ‘float [3]’ to ‘double*’
  221 |         config->getDefaultLumaCoefs(lumacoef);
      |                                     ^~~~~~~~
      |                                     |
      |                                     float [3]
In file included from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.h:10,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:6:
/usr/include/OpenColorIO/OpenColorIO.h:874:39: note:   initializing argument 1 of ‘void OpenColorIO_v2_0::Config::getDefaultLumaCoefs(double*) const’
  874 |     void getDefaultLumaCoefs(double * rgb) const;
      |                              ~~~~~~~~~^~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:224:37: error: cannot convert ‘float [16]’ to ‘double*’
  224 |         OCIO::MatrixTransform::View(m44, offset, channelHot, lumacoef);
      |                                     ^~~
      |                                     |
      |                                     float [16]
In file included from /usr/include/OpenColorIO/OpenColorIO.h:16,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.h:10,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:6:
/usr/include/OpenColorIO/OpenColorTransforms.h:1861:31: note:   initializing argument 1 of ‘static void OpenColorIO_v2_0::MatrixTransform::View(double*, double*, int*, const double*)’
 1861 |     static void View(double * m44, double * offset4,
      |                      ~~~~~~~~~^~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:226:27: error: ‘using element_type = class OpenColorIO_v2_0::MatrixTransform’ {aka ‘class OpenColorIO_v2_0::MatrixTransform’} has no member named ‘setValue’
  226 |         swizzleTransform->setValue(m44, offset);
      |                           ^~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:235:32: error: cannot convert ‘const float [4]’ to ‘const double (&)[4]’
  235 |         expTransform->setValue(exponent4f);
      |                                ^~~~~~~~~~
      |                                |
      |                                const float [4]
In file included from /usr/include/OpenColorIO/OpenColorIO.h:16,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.h:10,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:6:
/usr/include/OpenColorIO/OpenColorTransforms.h:824:41: note:   initializing argument 1 of ‘virtual void OpenColorIO_v2_0::ExponentTransform::setValue(const double (&)[4])’
  824 |     virtual void setValue(const double(&vec4)[4]) noexcept = 0;
      |                           ~~~~~~~~~~~~~~^~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:239:31: error: ‘using element_type = class OpenColorIO_v2_0::GroupTransform’ {aka ‘class OpenColorIO_v2_0::GroupTransform’} has no member named ‘push_back’
  239 |         approximateTransform->push_back(expTransform);
      |                               ^~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp: In member function ‘bool OcioDisplayFilter::updateShaderImpl(F*)’:
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:336:38: error: ‘GPU_LANGUAGE_GLSL_1_0’ is not a member of ‘OCIO’; did you mean ‘GPU_LANGUAGE_GLSL_4_0’?
  336 |         shaderDesc.setLanguage(OCIO::GPU_LANGUAGE_GLSL_1_0);
      |                                      ^~~~~~~~~~~~~~~~~~~~~
      |                                      GPU_LANGUAGE_GLSL_4_0
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:341:16: error: ‘class OpenColorIO_v2_0::GpuShaderDesc’ has no member named ‘setLut3DEdgeLen’
  341 |     shaderDesc.setLut3DEdgeLen(lut3DEdgeSize);
      |                ^~~~~~~~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:345:61: error: ‘using element_type = const class OpenColorIO_v2_0::Processor’ {aka ‘const class OpenColorIO_v2_0::Processor’} has no member named ‘getGpuLut3DCacheID’
  345 |     QString lut3dCacheID = QString::fromLatin1(m_processor->getGpuLut3DCacheID(shaderDesc));
      |                                                             ^~~~~~~~~~~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:349:22: error: ‘using element_type = const class OpenColorIO_v2_0::Processor’ {aka ‘const class OpenColorIO_v2_0::Processor’} has no member named ‘getGpuLut3D’
  349 |         m_processor->getGpuLut3D(&m_lut3d[0], shaderDesc);
      |                      ^~~~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:359:62: error: ‘using element_type = const class OpenColorIO_v2_0::Processor’ {aka ‘const class OpenColorIO_v2_0::Processor’} has no member named ‘getGpuShaderTextCacheID’
  359 |     QString shaderCacheID = QString::fromLatin1(m_processor->getGpuShaderTextCacheID(shaderDesc));
      |                                                              ^~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:366:28: error: ‘using element_type = const class OpenColorIO_v2_0::Processor’ {aka ‘const class OpenColorIO_v2_0::Processor’} has no member named ‘getGpuShaderText’
  366 |         os << m_processor->getGpuShaderText(shaderDesc) << "\n";
      |                            ^~~~~~~~~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp: In instantiation of ‘bool OcioDisplayFilter::updateShaderImpl(F*) [with F = QOpenGLExtraFunctions]’:
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:261:38:   required from here
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:330:25: error: ‘OpenColorIO_v2_0::GpuShaderDesc::GpuShaderDesc()’ is protected within this context
  330 |     OCIO::GpuShaderDesc shaderDesc;
      |                         ^~~~~~~~~~
In file included from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.h:10,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:6:
/usr/include/OpenColorIO/OpenColorIO.h:3165:5: note: declared protected here
 3165 |     GpuShaderDesc();
      |     ^~~~~~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:330:25: error: cannot declare variable ‘shaderDesc’ to be of abstract type ‘OpenColorIO_v2_0::GpuShaderDesc’
  330 |     OCIO::GpuShaderDesc shaderDesc;
      |                         ^~~~~~~~~~
In file included from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.h:10,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:6:
/usr/include/OpenColorIO/OpenColorIO.h:3087:18: note:   because the following virtual functions are pure within ‘OpenColorIO_v2_0::GpuShaderDesc’:
 3087 | class OCIOEXPORT GpuShaderDesc : public GpuShaderCreator
      |                  ^~~~~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:2773:18: note:     ‘virtual void OpenColorIO_v2_0::GpuShaderCreator::setTextureMaxWidth(unsigned int)’
 2773 |     virtual void setTextureMaxWidth(unsigned maxWidth) = 0;
      |                  ^~~~~~~~~~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:2774:22: note:     ‘virtual unsigned int OpenColorIO_v2_0::GpuShaderCreator::getTextureMaxWidth() const’
 2774 |     virtual unsigned getTextureMaxWidth() const noexcept = 0;
      |                      ^~~~~~~~~~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:2795:18: note:     ‘virtual bool OpenColorIO_v2_0::GpuShaderCreator::addUniform(const char*, const DoubleGetter&)’
 2795 |     virtual bool addUniform(const char * name,
      |                  ^~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:2798:18: note:     ‘virtual bool OpenColorIO_v2_0::GpuShaderCreator::addUniform(const char*, const BoolGetter&)’
 2798 |     virtual bool addUniform(const char * name,
      |                  ^~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:2801:18: note:     ‘virtual bool OpenColorIO_v2_0::GpuShaderCreator::addUniform(const char*, const Float3Getter&)’
 2801 |     virtual bool addUniform(const char * name,
      |                  ^~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:2804:18: note:     ‘virtual bool OpenColorIO_v2_0::GpuShaderCreator::addUniform(const char*, const SizeGetter&, const VectorFloatGetter&)’
 2804 |     virtual bool addUniform(const char * name,
      |                  ^~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:2808:18: note:     ‘virtual bool OpenColorIO_v2_0::GpuShaderCreator::addUniform(const char*, const SizeGetter&, const VectorIntGetter&)’
 2808 |     virtual bool addUniform(const char * name,
      |                  ^~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:2832:18: note:     ‘virtual void OpenColorIO_v2_0::GpuShaderCreator::addTexture(const char*, const char*, unsigned int, unsigned int, OpenColorIO_v2_0::GpuShaderCreator::TextureType, OpenColorIO_v2_0::Interpolation, const float*)’
 2832 |     virtual void addTexture(const char * textureName,
      |                  ^~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:2839:18: note:     ‘virtual void OpenColorIO_v2_0::GpuShaderCreator::add3DTexture(const char*, const char*, unsigned int, OpenColorIO_v2_0::Interpolation, const float*)’
 2839 |     virtual void add3DTexture(const char * textureName,
      |                  ^~~~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:3132:22: note:     ‘virtual unsigned int OpenColorIO_v2_0::GpuShaderDesc::getNumUniforms() const’
 3132 |     virtual unsigned getNumUniforms() const noexcept = 0;
      |                      ^~~~~~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:3134:26: note:     ‘virtual const char* OpenColorIO_v2_0::GpuShaderDesc::getUniform(unsigned int, OpenColorIO_v2_0::GpuShaderDesc::UniformData&) const’
 3134 |     virtual const char * getUniform(unsigned index, UniformData & data) const = 0;
      |                          ^~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:3137:22: note:     ‘virtual unsigned int OpenColorIO_v2_0::GpuShaderDesc::getNumTextures() const’
 3137 |     virtual unsigned getNumTextures() const noexcept = 0;
      |                      ^~~~~~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:3138:18: note:     ‘virtual void OpenColorIO_v2_0::GpuShaderDesc::getTexture(unsigned int, const char*&, const char*&, unsigned int&, unsigned int&, OpenColorIO_v2_0::GpuShaderCreator::TextureType&, OpenColorIO_v2_0::Interpolation&) const’
 3138 |     virtual void getTexture(unsigned index,
      |                  ^~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:3145:18: note:     ‘virtual void OpenColorIO_v2_0::GpuShaderDesc::getTextureValues(unsigned int, const float*&) const’
 3145 |     virtual void getTextureValues(unsigned index, const float *& values) const = 0;
      |                  ^~~~~~~~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:3148:22: note:     ‘virtual unsigned int OpenColorIO_v2_0::GpuShaderDesc::getNum3DTextures() const’
 3148 |     virtual unsigned getNum3DTextures() const noexcept = 0;
      |                      ^~~~~~~~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:3149:18: note:     ‘virtual void OpenColorIO_v2_0::GpuShaderDesc::get3DTexture(unsigned int, const char*&, const char*&, unsigned int&, OpenColorIO_v2_0::Interpolation&) const’
 3149 |     virtual void get3DTexture(unsigned index,
      |                  ^~~~~~~~~~~~
/usr/include/OpenColorIO/OpenColorIO.h:3154:18: note:     ‘virtual void OpenColorIO_v2_0::GpuShaderDesc::get3DTextureValues(unsigned int, const float*&) const’
 3154 |     virtual void get3DTextureValues(unsigned index, const float *& values) const = 0;
      |                  ^~~~~~~~~~~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp: In instantiation of ‘bool OcioDisplayFilter::updateShaderImpl(F*) [with F = QOpenGLFunctions_3_2_Core]’:
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:266:38:   required from here
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:330:25: error: ‘OpenColorIO_v2_0::GpuShaderDesc::GpuShaderDesc()’ is protected within this context
  330 |     OCIO::GpuShaderDesc shaderDesc;
      |                         ^~~~~~~~~~
In file included from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.h:10,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:6:
/usr/include/OpenColorIO/OpenColorIO.h:3165:5: note: declared protected here
 3165 |     GpuShaderDesc();
      |     ^~~~~~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:330:25: error: cannot declare variable ‘shaderDesc’ to be of abstract type ‘OpenColorIO_v2_0::GpuShaderDesc’
  330 |     OCIO::GpuShaderDesc shaderDesc;
      |                         ^~~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp: In instantiation of ‘bool OcioDisplayFilter::updateShaderImpl(F*) [with F = QOpenGLFunctions_3_0]’:
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:278:38:   required from here
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:330:25: error: ‘OpenColorIO_v2_0::GpuShaderDesc::GpuShaderDesc()’ is protected within this context
In file included from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.h:10,
                 from /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:6:
/usr/include/OpenColorIO/OpenColorIO.h:3165:5: note: declared protected here
 3165 |     GpuShaderDesc();
      |     ^~~~~~~~~~~~~
/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/ocio_display_filter.cpp:330:25: error: cannot declare variable ‘shaderDesc’ to be of abstract type ‘OpenColorIO_v2_0::GpuShaderDesc’
  330 |     OCIO::GpuShaderDesc shaderDesc;
      |                         ^~~~~~~~~~
[1808/3149] /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_SQL_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 -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/plugins/dockers/lut -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/plugins/dockers/lut/kritalutdocker_autogen/include -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/interfaces -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999 -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/ui/canvas -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/ui/flake -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/ui/ora -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/ui/tool -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/ui/utils -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/ui/widgets -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/ui/widgets/gradient -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/ui/input/wintab -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/ui -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/ui -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/version -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/version -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/impex -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/impex -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/image/brushengine -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/image/filter -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/image/generator -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/image/layerstyles -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/image/processing -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/image -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/image -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/widgets -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/widgets -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/global -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/global -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/flake/commands -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/flake/tools -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/flake/svg -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/flake/text -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/flake -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/flake -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/pigment/resources -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/pigment/compositeops -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/pigment -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/pigment -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/koplugin -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/koplugin -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/store -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/store -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/resources -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/resources -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/widgetutils/config -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/widgetutils/xmlgui -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/widgetutils -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/widgetutils -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/command -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/command -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/resourcewidgets -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/resourcewidgets -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/psd -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/psd -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/metadata -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/metadata -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/color -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/color -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/color/colord -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/libs/color/colord -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999_build/libs/brush -I/var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/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/qt5/QtConcurrent -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtSql -isystem /usr/include/KF5/KConfigCore -isystem /usr/include/KF5/KConfigGui -isystem /usr/include/KF5/KWidgetsAddons -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/KF5/KGuiAddons -isystem /usr/include/qt5/QtX11Extras -isystem /usr/include/qt5/QtDBus -isystem /usr/include/qt5/QtMultimedia  -DQT_NO_DEBUG -march=native -O2 -pipe -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/black_white_point_chooser.cpp.o -MF plugins/dockers/lut/CMakeFiles/kritalutdocker.dir/black_white_point_chooser.cpp.o.d -o plugins/dockers/lut/CMakeFiles/kritalutdocker.dir/black_white_point_chooser.cpp.o -c /var/tmp/portage/media-gfx/krita-9999-r1/work/krita-9999/plugins/dockers/lut/black_white_point_chooser.cpp
Comment 3 Alvin Wong 2021-08-21 16:36:26 UTC

*** This bug has been marked as a duplicate of bug 435474 ***