[Pkg-osg-devel] Bug#838792: openmw: FTBFS on armhf: error: conflicting declaration for GLsizeiptr
bret curtis
psi29a at gmail.com
Wed Oct 12 12:19:59 UTC 2016
Hello everyone,
this is a follow-up email because while the bug was closed and OpenMW
compiles (and runs) on armhf, what is rendered to the screen via
OSG-3.4 is everything but pretty. The short term solution is to
disable building OpenMW on armhf and rebuild any builds still online.
I have more below inline...
On Thu, Sep 29, 2016 at 11:36 PM, Alberto Luaces <aluaces at udc.es> wrote:
>
> This is a list of facts that I know:
>
> - OSG "as is" does FTBFS on arm platforms. You can verify that reading
> the logs for 3.4: armhf (configured for GLES2) succeeds while armel
> (default configuration) breaks.
>
That is a pity about armel, unfortunately OSG-3.4 with only GLESv2 is
useless to OpenMW, regardless of architecture. To my knowledge, OpenMW
is the only application linking against OSG-3.4 at the moment.
> - The decision of using GLES2 was already made by the Ubuntu team from
> whom I took the patches that I told you I was going to apply
> beforehand. I suppose they choose GLES2 because nowadays it is rare
> to find new hardware supporting GLES1 but not GLES2, but this is mere
> speculation.
I do not know the reason, but I find any reason to not use standard GL
dubious regardless of architecture, specifically when it comes to
running Debian and/or Ubuntu on any platform. Not all arm[el|hf] have
the same support but GL is the baseline while GLESv[1|2] are just
subsets. Normally you would want a derivative Debian or Ubuntu to fork
to a specific target GL version.
I think it best to try to resolve the issue so that normal GL and not
ES[1|2] is used for OSG-3.4 on all platforms since Debian is trying to
be consistent across all platforms and architectures.
> - On Debian and for 3.4, which depends on Qt5, the decision of using
> GLES2 is also taken already for us. See their dependencies on armhf
> and armel:
>
> https://sources.debian.net/src/qtbase-opensource-src/5.6.1%2Bdfsg-3/debian/control/#L309
>
This is just plan wrong, as I stated above we should be providing a
standard across the board. Qt5 should be using GL on armel/armhf. If
this can't be the case, then as a workaround, we should disable
building the osgQt plugin. This would allow us to build OSG-3.4 on
armhf and armel with GL instead of GLESv2.
> I do not know what would happen if we build OSG with GLES1 but linking
> to GLES2-enabled Qt5. Does it have any chances of not breaking at
> run-time? I am not sure.
I tried working around this with OpenMW by disabling building armhf
version of openmw-cs that makes use of osgQt. The problem is that
GLESv2 render used by OSG-3.4 cannot render OpenMW very well. It
doesn't crash which is surprising, and it renders stuff... just
nothing anyone would want to play. :)
> To me this looks like a packaging problem, because we have to decide
> what dependencies we need from a global point of view, instead of in
> a case-by-case basis.
>
It does indeed. I've tested compiling OSG-3.4 without osgQt without
the armhf patches (no GLES or EGL) and it compiled just fine. I
installed them on my RPi2 and then compiled OpenMW against it. It too
compiled without my little work-around patch. The best part is that
OpenMW runs, as expected in 1080p glory at 15fps! :)
> In my opinion, that tiny patch for OpenMW on Debian looks like a good
> compromise.
Sadly, I tested this and while it does compile and run, it just render
anything useful nor enjoyable.
> Regards,
>
> Alberto
Thanks for your comments, we really appreciate your work! :) I hope
we can work through this!
My recommendation is if we can't get Qt-[4|5] to commit to using GL
across all platforms, that OSG-3.4 should disable building the osgQt
plugin.
Cheers,
Bret
More information about the Pkg-osg-devel
mailing list