Package: openscenegraph-3.4
Version: 3.4.0+dfsg1-4
Severity: important
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu artful ubuntu-patch

Dear maintainers,

In Ubuntu, we saw openscenegraph-3.4 FTBFS on armhf after cmake 3.8.0 landed
in the devel release (synced from Debian experimental), because of changes
in the behavior of the opengl detection module:

-- Found OpenGL: -lGLESv2  
   Called from: [4]     /usr/share/cmake-3.8/Modules/FindPackageMessage.cmake
                [3]     
/usr/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake
                [2]     /usr/share/cmake-3.8/Modules/FindOpenGL.cmake
                [1]     
/<<BUILDDIR>>/openscenegraph-3.4-3.4.0+dfsg1/CMakeLists.txt
CMake Error at /usr/share/cmake-3.8/Modules/FindOpenGL.cmake:191 
(set_target_properties):
  IMPORTED_LIBNAME property value

    -lGLESv2

  may not start with '-'.
Call Stack (most recent call first):
  CMakeLists.txt:232 (FIND_PACKAGE)


   Called from: [2]     /usr/share/cmake-3.8/Modules/FindOpenGL.cmake
                [1]     
/<<BUILDDIR>>/openscenegraph-3.4-3.4.0+dfsg1/CMakeLists.txt


The attached patch maintains compatibility with current cmake, while
continuing to use GLES instead of GL on armhf.  Despite the hard-coding of
paths this should remain fairly reliable on Debian armhf systems.

You also have bug #852423 filed which is asking to use libGL instead of
libGLESv2.  I think that would be generally disadvantageous for ARM users of
Debian, since there exist hardware-accelerated GLES drivers for ARM but
TTBOMK no hardware-accelerated GL drivers.  If you did decide to switch back
to libGL, then you could also close this bug (though Ubuntu would carry a
delta in order to continue leveraging GLES).

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
diff -Nru openscenegraph-3.4-3.4.0+dfsg1/debian/rules 
openscenegraph-3.4-3.4.0+dfsg1/debian/rules
--- openscenegraph-3.4-3.4.0+dfsg1/debian/rules 2016-09-23 12:17:22.000000000 
-0700
+++ openscenegraph-3.4-3.4.0+dfsg1/debian/rules 2017-07-25 14:47:36.000000000 
-0700
@@ -65,8 +65,6 @@
 LDFLAGS += -Wl,--as-needed
 
 ifeq (armhf,$(DEB_HOST_ARCH))
-EGL_LDFLAGS=$(shell pkg-config egl --libs)
-OPENGLES_LDFLAGS=$(shell pkg-config glesv2 --libs)
 ARMHF_DEFINES=-D OSG_GL1_AVAILABLE:BOOL=OFF \
        -D OSG_GL2_AVAILABLE:BOOL=OFF \
        -D OSG_GL3_AVAILABLE:BOOL=OFF \
@@ -78,8 +76,8 @@
        -D OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE:BOOL=OFF \
        -D OSG_GL_FIXED_FUNCTION_AVAILABLE:BOOL=OFF \
        -D OSG_CPP_EXCEPTIONS_AVAILABLE:BOOL=OFF \
-       -D OPENGL_gl_LIBRARY:STRING="${OPENGLES_LDFLAGS}" \
-       -D OPENGL_egl_LIBRARY:STRING="${EGL_LDFLAGS}"
+       -D OPENGL_gl_LIBRARY:STRING=/usr/lib/arm-linux-gnueabihf/libGLESv2.so \
+       -D OPENGL_egl_LIBRARY:STRING=/usr/lib/arm-linux-gnueabihf/libEGL.so
 endif
 
 #

Reply via email to