2013/10/9 nerdopolis <bluescreen_aven...@verizon.net>:
> Hi.
>
> I am trying to compile plasma-framework against a qt5 that is ready for 
> Wayland, which does not have Desktop GL enabled.
>
> However I seem to get an error that seems to be related to opengl in QT.
>
> Is this a bug I should file?
>
>
> This is the relevant output:
> [ 81%] Building CXX object 
> examples/dataengines/sourcesOnRequest/CMakeFiles/plasma_dataengine_example_sourcesOnRequest.dir/plasma_dataengine_example_sourcesOnRequest_automoc.cpp.o
> [ 82%] Building CXX object 
> src/plasmaquick/CMakeFiles/PlasmaQuick.dir/configview.cpp.o
> In file included from /opt/include/GL/glx.h:32:0,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.cpp:32:
> /opt/include/GL/gl.h:162:17: error: conflicting declaration ‘typedef double 
> GLdouble’
>  typedef double  GLdouble; /* double precision float */
>                  ^
> In file included from /opt/include/QtQuick/qsggeometry.h:46:0,
>                  from /opt/include/QtQuick/qsgnode.h:45,
>                  from /opt/include/QtQuick/qsgsimpletexturenode.h:45,
>                  from /opt/include/QtQuick/QSGSimpleTextureNode:1,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.h:24,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.cpp:19:
> /opt/include/QtGui/qopengl.h:97:17: error: ‘GLdouble’ has a previous 
> declaration as ‘typedef GLfloat GLdouble’
>  typedef GLfloat GLdouble;
>                  ^
> In file included from /opt/include/GL/gl.h:2085:0,
>                  from /opt/include/GL/glx.h:32,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.cpp:32:
> /opt/include/GL/glext.h:459:19: error: conflicting declaration ‘typedef 
> ptrdiff_t GLsizeiptr’
>  typedef ptrdiff_t GLsizeiptr;
>                    ^
> In file included from /opt/include/QtGui/qopengl.h:82:0,
>                  from /opt/include/QtQuick/qsggeometry.h:46,
>                  from /opt/include/QtQuick/qsgnode.h:45,
>                  from /opt/include/QtQuick/qsgsimpletexturenode.h:45,
>                  from /opt/include/QtQuick/QSGSimpleTextureNode:1,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.h:24,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.cpp:19:
> /opt/include/GLES2/gl2.h:39:26: error: ‘GLsizeiptr’ has a previous 
> declaration as ‘typedef khronos_ssize_t GLsizeiptr’
>  typedef khronos_ssize_t  GLsizeiptr;
>                           ^
> In file included from /opt/include/GL/gl.h:2085:0,
>                  from /opt/include/GL/glx.h:32,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.cpp:32:
> /opt/include/GL/glext.h:460:19: error: conflicting declaration ‘typedef 
> ptrdiff_t GLintptr’
>  typedef ptrdiff_t GLintptr;
>                    ^
> In file included from /opt/include/QtGui/qopengl.h:82:0,
>                  from /opt/include/QtQuick/qsggeometry.h:46,
>                  from /opt/include/QtQuick/qsgnode.h:45,
>                  from /opt/include/QtQuick/qsgsimpletexturenode.h:45,
>                  from /opt/include/QtQuick/QSGSimpleTextureNode:1,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.h:24,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.cpp:19:
> /opt/include/GLES2/gl2.h:38:26: error: ‘GLintptr’ has a previous declaration 
> as ‘typedef khronos_intptr_t GLintptr’
>  typedef khronos_intptr_t GLintptr;
>                           ^
> In file included from /opt/include/GL/gl.h:2085:0,
>                  from /opt/include/GL/glx.h:32,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.cpp:32:
> /opt/include/GL/glext.h:2169:149: error: conflicting declaration ‘typedef 
> void (* GLDEBUGPROC)(GLenum, GLenum, GLuint, GLenum, GLsizei, const GLchar*, 
> const void*)’
>  typedef void (APIENTRY  *GLDEBUGPROC)(GLenum source,GLenum type,GLuint 
> id,GLenum severity,GLsizei length,const GLchar *message,const void 
> *userParam);
>                                                                               
>                                                                        ^
> In file included from /opt/include/QtGui/qopengl.h:92:0,
>                  from /opt/include/QtQuick/qsggeometry.h:46,
>                  from /opt/include/QtQuick/qsgnode.h:45,
>                  from /opt/include/QtQuick/qsgsimpletexturenode.h:45,
>                  from /opt/include/QtQuick/QSGSimpleTextureNode:1,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.h:24,
>                  from 
> /srcbuild/plasma-framework/src/declarativeimports/core/windowthumbnail.cpp:19:
> /opt/include/QtGui/qopengles2ext.h:192:28: error: ‘GLDEBUGPROC’ has a 
> previous declaration as ‘typedef void (* GLDEBUGPROC)(GLenum, GLenum, GLuint, 
> GLenum, GLsizei, const GLchar*, GLvoid*)’
>  typedef void (GL_APIENTRYP GLDEBUGPROC)(GLenum source,GLenum type,GLuint 
> id,GLenum severity,GLsizei length,const GLchar *message,GLvoid *userParam);

The specific code in windowthumbnail.cpp triggering the errors depends
on X11 and desktop GL. I don't see a clean way to disable it (such as
a flag to choose between GL or GL ES), but you can stop it from
finding the relevant packages by running cmake with:
-DCMAKE_DISABLE_FIND_PACKAGE_XCB=1 -DCMAKE_DISABLE_FIND_PACKAGE_OpenGL=1

I haven't tested it.

-- 
Nicolás
_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to