Known issue, please read this bug:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=838792

Summation: OSG is being built with libGLESv2 and not with libGL on
armhf, OpenMW doesn't support GLESv2, nor GLESv1. If we 'fix' the
build issue, OpenMW will run, but you only see a black screen. OSG is
compiled with libGLESv2 support because of the plugin osgQt.so which
requires Qt. Qt is compiled with GLESv2 support instead of libGL on
armhf.

Short term solution: Have OSG build without Qt support thus disabling
osgQt plugin, then remove the armhf hacks to support GLESv2. It will
compile

Long term solution: Qt on armhf needs to be built with libGL instead
of libGLESv2.

If necessary, please file a bug against OSG-3.4. Hopefully this won't
be necessary as I've added Alberto to conversation who maintains
OSG-3.4

For example, on OpenMW's launchpad, we have our own OSG-3.4 builds
that use libGL instead of libGLESv2 on armhf and OpenMW works just
fine on armhf.
https://launchpad.net/~openmw/+archive/ubuntu/openmw/+packages
https://launchpad.net/~openmw/+archive/ubuntu/openmw/+files/openscenegraph-3.4_3.4.0+dfsg1-4+openmw1~xenial1.debian.tar.xz

I hope this helps. I guess this bug will stay open until either
OSG-3.4 is updated (implying either removal of osgQt or update of Qt
itself) or we remove OpenMW from armhf support.

Cheers,
Bret


On Tue, Jan 3, 2017 at 10:29 AM, Andreas Beckmann <a...@debian.org> wrote:
> Package: openmw
> Version: 0.41.0-1
> Severity: serious
> Justification: fails to build from source (but built successfully in the past)
>
> Hi,
>
> openmw FTBFS on armhf, but built there previously:
>
> https://buildd.debian.org/status/fetch.php?pkg=openmw&arch=armhf&ver=0.41.0-1&stamp=1482596646
>
> [  8%] Building CXX object 
> components/CMakeFiles/components.dir/sceneutil/lightmanager.cpp.o
> cd /«PKGBUILDDIR»/build/components && /usr/bin/c++   
> -DGLOBAL_CONFIG_PATH=\"/etc\" -DGLOBAL_DATA_PATH=\"/usr/share/games\" 
> -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB 
> -DTIXML_USE_STL -D__STDC_CONSTANT_MACROS -I/«PKGBUILDDIR»/. -isystem 
> /usr/include/SDL2 -isystem /usr/include/MYGUI -isystem /usr/include/AL 
> -isystem /usr/include/bullet -isystem /usr/include/qt4 -isystem 
> /usr/include/qt4/QtOpenGL -isystem /usr/include/qt4/QtGui -isystem 
> /usr/include/qt4/QtNetwork -isystem /usr/include/qt4/QtCore 
> -I/«PKGBUILDDIR»/build/components  -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=. 
> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time 
> -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wundef 
> -Wno-unused-parameter -std=c++98 -pedantic -Wno-long-long 
> -Wno-unused-but-set-parameter -O2 -g -DNDEBUG   -o 
> CMakeFiles/components.dir/sceneutil/lightmanager.cpp.o -c 
> /«PKGBUILDDIR»/components/sceneutil/lightmanager.cpp
> /«PKGBUILDDIR»/components/sceneutil/lightmanager.cpp: In member function 
> 'void SceneUtil::LightStateAttribute::applyLight(GLenum, const osg::Light*) 
> const':
> /«PKGBUILDDIR»/components/sceneutil/lightmanager.cpp:61:34: error: 
> 'GL_AMBIENT' was not declared in this scope
>              glLightfv( lightNum, GL_AMBIENT,               
> light->getAmbient().ptr() );
>                                   ^~~~~~~~~~
> /«PKGBUILDDIR»/components/sceneutil/lightmanager.cpp:61:86: error: 
> 'glLightfv' was not declared in this scope
>              glLightfv( lightNum, GL_AMBIENT,               
> light->getAmbient().ptr() );
>                                                                               
>         ^
> /«PKGBUILDDIR»/components/sceneutil/lightmanager.cpp:62:34: error: 
> 'GL_DIFFUSE' was not declared in this scope
>              glLightfv( lightNum, GL_DIFFUSE,               
> light->getDiffuse().ptr() );
>                                   ^~~~~~~~~~
> /«PKGBUILDDIR»/components/sceneutil/lightmanager.cpp:63:34: error: 
> 'GL_SPECULAR' was not declared in this scope
>              glLightfv( lightNum, GL_SPECULAR,              
> light->getSpecular().ptr() );
>                                   ^~~~~~~~~~~
> /«PKGBUILDDIR»/components/sceneutil/lightmanager.cpp:64:34: error: 
> 'GL_POSITION' was not declared in this scope
>              glLightfv( lightNum, GL_POSITION,              
> light->getPosition().ptr() );
>                                   ^~~~~~~~~~~
> /«PKGBUILDDIR»/components/sceneutil/lightmanager.cpp:70:34: error: 
> 'GL_CONSTANT_ATTENUATION' was not declared in this scope
>              glLightf ( lightNum, GL_CONSTANT_ATTENUATION,  
> light->getConstantAttenuation() );
>                                   ^~~~~~~~~~~~~~~~~~~~~~~
> /«PKGBUILDDIR»/components/sceneutil/lightmanager.cpp:70:92: error: 'glLightf' 
> was not declared in this scope
>              glLightf ( lightNum, GL_CONSTANT_ATTENUATION,  
> light->getConstantAttenuation() );
>                                                                               
>               ^
> /«PKGBUILDDIR»/components/sceneutil/lightmanager.cpp:71:34: error: 
> 'GL_LINEAR_ATTENUATION' was not declared in this scope
>              glLightf ( lightNum, GL_LINEAR_ATTENUATION,    
> light->getLinearAttenuation() );
>                                   ^~~~~~~~~~~~~~~~~~~~~
> /«PKGBUILDDIR»/components/sceneutil/lightmanager.cpp:72:34: error: 
> 'GL_QUADRATIC_ATTENUATION' was not declared in this scope
>              glLightf ( lightNum, GL_QUADRATIC_ATTENUATION, 
> light->getQuadraticAttenuation() );
>                                   ^~~~~~~~~~~~~~~~~~~~~~~~
> components/CMakeFiles/components.dir/build.make:769: recipe for target 
> 'components/CMakeFiles/components.dir/sceneutil/lightmanager.cpp.o' failed
> make[3]: *** 
> [components/CMakeFiles/components.dir/sceneutil/lightmanager.cpp.o] Error 1
>
>
> Andreas

Reply via email to