Summary: | [qt overlay] dev-qt/qtopengl-5.4.0_alpha - .obj/qgl.o:qgl.cpp:function QOpenGLFunctions_1_1* QOpenGLContext::versionFunctions<QOpenGLFunctions_1_1>() const: error: undefined reference to 'QOpenGLFunctions_1_1::versionProfile()' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Franz Trischberger <franz.trischberger> |
Component: | [OLD] Library | Assignee: | Qt Bug Alias <qt> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | franz.trischberger, luke-jr+gentoobugs, Sander.Sweers |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Franz Trischberger
2014-09-15 07:29:46 UTC
USE="-gles2" emerge -1 qtgui makes qtopengl compile, so I guess there is something wrong with qtdefines. Upstream bug: https://bugreports.qt-project.org/browse/QTBUG-41330 (In reply to Franz Fellner from comment #1) > USE="-gles2" emerge -1 qtgui makes qtopengl compile, so I guess there is > something wrong with qtdefines. Confirmed this workaround succeeds here too. (In reply to Luke-Jr from comment #2) > Upstream bug: https://bugreports.qt-project.org/browse/QTBUG-41330 Please close it. This is a downstream packaging bug, not an upstream issue. Does USE=gles2 for qtgui disable full OpenGL? It's not clear that it should... I'd prefer *both* OpenGL and OpenGLES2 support, but definitely prefer the former over the latter if it's an one-or-the-other option... Fixed in overlay with https://github.com/gentoo/qt/commit/8cb8b0a9b0b8962590fa4f6ed2c0fbb00e0c4cc0 and backported to 5.3.2 in portage. (In reply to Luke-Jr from comment #5) > Does USE=gles2 for qtgui disable full OpenGL? It's not clear that it > should... I'd prefer *both* OpenGL and OpenGLES2 support, but definitely > prefer the former over the latter if it's an one-or-the-other option... It's one-or-the-other (or none if you disable the opengl useflag). I think the flag description is quite clear already but I'm open to suggestions... (In reply to Davide Pesavento from comment #7) > (In reply to Luke-Jr from comment #5) > > Does USE=gles2 for qtgui disable full OpenGL? It's not clear that it > > should... I'd prefer *both* OpenGL and OpenGLES2 support, but definitely > > prefer the former over the latter if it's an one-or-the-other option... > > It's one-or-the-other (or none if you disable the opengl useflag). I think > the flag description is quite clear already but I'm open to suggestions... How about USE="-opengl gles2" enable GLES2 (only), USE="opengl -gles2" enable GL (only), and REQUIRED_USE="opengl? ( !gles2 )"? (In reply to Luke-Jr from comment #8) > How about USE="-opengl gles2" enable GLES2 (only), USE="opengl -gles2" > enable GL (only), and REQUIRED_USE="opengl? ( !gles2 )"? I don't see how that would be an improvement... Furthermore, most packages don't care about which flavor of opengl is being used, they just need opengl support. Your proposal would complicate writing deps for those packages. (In reply to Davide Pesavento from comment #9) > (In reply to Luke-Jr from comment #8) > > How about USE="-opengl gles2" enable GLES2 (only), USE="opengl -gles2" > > enable GL (only), and REQUIRED_USE="opengl? ( !gles2 )"? > > I don't see how that would be an improvement... Furthermore, most packages > don't care about which flavor of opengl is being used, they just need opengl > support. Your proposal would complicate writing deps for those packages. Well, it would alert people like myself who have USE="opengl gles2" expecting support for *both*, to the fact that only one can be supported. You're supposed to read USE flag descriptions, not deduce the meaning from REQUIRED_USE constraints... (In reply to Davide Pesavento from comment #11) > You're supposed to read USE flag descriptions, not deduce the meaning from > REQUIRED_USE constraints... You read the particular implementation of every USE flag for every package you install? USE=gles2 is in *most* packages used to enable OpenGL ES 2.0 support. It is only in Qt packages that it is being used to also *disable* desktop OpenGL support. (In reply to Luke-Jr from comment #12) > You read the particular implementation of every USE flag for every package > you install? Most of them, yes, unless the flag name is self-explanatory and I'm sure that I don't need it. > USE=gles2 is in *most* packages used to enable OpenGL ES 2.0 support. It is > only in Qt packages that it is being used to also *disable* desktop OpenGL > support. I'm not so sure about that. See e.g. dev-libs/weston:gles2 - Use GLESv2 cairo instead of full GL media-libs/evas:gles - Enable gles flavor of gl instead of standard www-plugins/lightspark:gles - Replace default OpenGL renderer with GLESv2 x11-libs/cairo:gles2 - Use OpenGL ES 2 backend for acceleration. x11-libs/glamor:gles - Build glamor based on gles2 dev-libs/efl supports only one implementation too, but doesn't use REQUIRED_USE, instead it prefers full GL and prints an einfo to inform the user. media-libs/cogl is unclear, but a comment inside the ebuild says "Prefer gl over gles2 if both are selected". As you can see, there isn't a clear tree-wide rule (we should probably make it more consistent across packages, but that's another matter). |