Source: glew
Version: 2.2.0-4
Severity: important
Tags: patch

Dear Maintainer,

The package openscad fails to build after glew 2.3.1-1 was uploaded to
unstable:

/usr/bin/x86_64-linux-gnu-ld.bfd: objects/src/GLView.o: in function 
`GLView::enable_opencsg_shaders()':
./src/GLView.cc:197:(.text+0x380f): undefined reference to 
`__GLXEW_SGIX_pbuffer'
/usr/bin/x86_64-linux-gnu-ld.bfd: ./src/GLView.cc:197:(.text+0x381f): undefined 
reference to `__GLXEW_SGIX_fbconfig'

This problem seems to be caused because glew now builds with EGL. I tried
rebuilding the glew package locally without EGL, and with the modified glew
package, openscad builds fine.

There is an upstream bug report that seems to describe this problem, that
building glew with EGL breaks other programs (including openscad). It
mentions that openSUSE, they avoid building glew with EGL to resolve this:

  https://github.com/nigels-com/glew/issues/431

I see bug #1057479, which explicitly requests to build glew with EGL to
improve kicad experience on Wayland. It is unfortunate that enabling EGL
breaks some applications, while disabling it negatively affects others :-/
This is also mentioned in the upstream issue.

But with the current glew in unstable, openscad cannot build at all. So it
seems something needs to be done to resolve this. I have tested that
building glew without EGL makes openscad build. But if there is a suggestion
for a better way to resolve the problem, then that would be much welcome of
course. I'm happy to upload a patched openscad - I just don't at the moment
know of any way I can solve this from the openscad side.

This is the patch I applied to glew to solve the compile failure of
openscad, which just reverts the change that makes glew build with EGL:

-----------------------------------------------------------------------
diff --git a/debian/rules b/debian/rules
index 814a913..7b4c776 100755
--- a/debian/rules
+++ b/debian/rules
@@ -37,7 +37,7 @@ override_dh_auto_configure:
        ( cd $(CURDIR)/auto ; tar axpf $(CURDIR)/../glew_2.3.1.orig-auto.tar.gz 
)
        ln -sf /usr/share/misc/config.guess config/
        (cd auto; make )
-       (cd build; cmake ./cmake -DGLEW_EGL=On )
+       (cd build; cmake ./cmake )
 
 override_dh_auto_build:
        (cd build ; make ; make )       
-----------------------------------------------------------------------

 - Kristian.

Reply via email to