In file included from COpenGLDriver.h:25, from COpenGLDriver.cpp:5: COpenGLExtensionHandler.h:64:11: fatal error: GL/glx.h: No such file or directory 64 | #include <GL/glx.h> | ^~~~~~~~~~ compilation terminated. ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_no-multilib_hardened-libressl-20200307-230716 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-9.2.0 * clang: clang version 10.0.0 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/10/bin llvm: 10.0.0 Available Python interpreters, in order of preference: [1] python3.8 [2] python3.7 [3] python3.6 [4] python2.7 (fallback) Available Ruby profiles: [1] ruby24 (with Rubygems) [2] ruby25 (with Rubygems) * Available Rust versions: [1] rust-1.41.1 * ghc: The Glorious Glasgow Haskell Compilation System, version 8.0.2 repository: ==> /var/db/repos/gentoo/metadata/timestamp.chk <== Tue, 10 Mar 2020 13:08:37 +0000 emerge -qpvO dev-games/irrlicht [ebuild N ] dev-games/irrlicht-1.8.4-r1 USE="-debug -doc -static-libs"
Created attachment 617932 [details] emerge-info.txt
Created attachment 617934 [details] dev-games:irrlicht-1.8.4-r1:20200310-150749.log
Created attachment 617936 [details] emerge-history.txt
Created attachment 617938 [details] environment
Created attachment 617940 [details] etc.portage.tbz2
Created attachment 617942 [details] logs.tbz2
It looks like this is caused by a lack of the glx.h header file. I expect this file to be install as a consequence of the virtual/opengl dependency: virtual/opengl -> media-libs/mesa -> media-libs/libglvnd It looks like you have medialibs/libglvnd installed but no glx.h header file. This seems strange and I'm having trouble reproducing. Would you be able to upload logs for a reinstall of media-libs/libglvnd? I'd like to see whether an attempt by portage is made to install the glx.h header file at least.
I'll look into this myself later. glvnd is still supposed to be optional so you should avoid making it mandatory here.
I don't understand how the system can be without glx.h. Toralf, can you confirm that your image does not have /usr/include/GL/glx.h?
(In reply to Matt Turner from comment #9) > I don't understand how the system can be without glx.h. Toralf, can you > confirm that your image does not have /usr/include/GL/glx.h? yes, it does NOT have it. What I found is: tinderbox@mr-fox ~ $ chr img2/17.1_no-multilib_hardened-libressl-20200307-230716 mr-fox ~ # ls -l /usr/include/GL/glx.h ls: cannot access '/usr/include/GL/glx.h': No such file or directory mr-fox ~ # find / -name glx.h /usr/include/xcb/glx.h /usr/include/epoxy/glx.h
Thanks, very strange. Can you provide a list of files installed by media-libs/libglvnd? i.e., `qlist libglvnd`. What USE flags is libglvnd built with?
mr-fox ~ # emerge -qpvO libglvnd [ebuild R ] media-libs/libglvnd-1.3.1 USE="-X -test" mr-fox ~ # qlist libglvnd /usr/lib64/pkgconfig/opengl.pc /usr/lib64/pkgconfig/egl.pc /usr/lib64/pkgconfig/glesv1_cm.pc /usr/lib64/pkgconfig/glesv2.pc /usr/lib64/pkgconfig/libglvnd.pc /usr/lib64/libGLdispatch.so.0.0.0 /usr/lib64/libOpenGL.so.0.0.0 /usr/lib64/libEGL.so.1.1.0 /usr/lib64/libGLESv1_CM.so.1.2.0 /usr/lib64/libGLESv2.so.2.1.0 /usr/include/glvnd/GLdispatchABI.h /usr/include/glvnd/libglxabi.h /usr/include/glvnd/libeglabi.h /usr/include/GL/gl.h /usr/include/GL/glcorearb.h /usr/include/GL/glext.h /usr/include/KHR/khrplatform.h /usr/include/GLES/egl.h /usr/include/GLES/gl.h /usr/include/GLES/glext.h /usr/include/GLES/glplatform.h /usr/include/GLES2/gl2ext.h /usr/include/GLES2/gl2.h /usr/include/GLES2/gl2platform.h /usr/include/GLES3/gl31.h /usr/include/GLES3/gl32.h /usr/include/GLES3/gl3.h /usr/include/GLES3/gl3ext.h /usr/include/GLES3/gl3platform.h /usr/include/EGL/egl.h /usr/include/EGL/eglext.h /usr/include/EGL/eglplatform.h /usr/share/doc/libglvnd-1.3.1/README.md.bz2 /usr/lib64/libGLESv2.so.2 /usr/lib64/libGLESv1_CM.so.1 /usr/lib64/libEGL.so.1 /usr/lib64/libOpenGL.so.0 /usr/lib64/libGLdispatch.so.0 /usr/lib64/libGLdispatch.so /usr/lib64/libOpenGL.so /usr/lib64/libEGL.so /usr/lib64/libGLESv1_CM.so /usr/lib64/libGLESv2.so
(In reply to Toralf Förster from comment #12) > mr-fox ~ # emerge -qpvO libglvnd > [ebuild R ] media-libs/libglvnd-1.3.1 USE="-X -test" Yep, libglvnd is built without X support, so no GLX. Now, how is this possible...? irrlicht-1.8.4-r1 depends on virtual/opengl. virtual/opengl depends on >=media-libs/mesa-9.1.6[X(+)]. media-libs/mesa[X] has depended on libglvnd[X] since: commit 5182fbc94a91ce973c61791e48b1c3e828e4cfe7 Author: Matt Turner <mattst88@gentoo.org> Date: Sun Mar 8 11:49:43 2020 -0700 media-libs/mesa: Depend on media-libs/libglvnd[X?] Since libglvnd provides gl.pc only with USE=X, and many packages depend on mesa[X], it makes sense to require matching USE=X. Suggested by Arfrever. and I see that you have mesa-20.0.1, so I think your mesa is from the brief period of time when it didn't require libglvnd[X]. Updating Mesa and building libglvnd with USE=X will resolve this, and it's now impossible to hit this bug with current ebuilds.