Skip to content

#include <GL/gl.h> is ambiguous on case-insensitve file systems #28087

@dg0yt

Description

@dg0yt

Describe the bug

osg:x64-windows-static-md currently fails in CI during the build step because GLint64 and GLuint64 appear as undefined:

D:\buildtrees\osg\src\raph-3.6.5-41fa3cfd98.clean\include\osg/GLExtensions(323): error C2061: syntax error: identifier 'GLint64'
D:\buildtrees\osg\src\raph-3.6.5-41fa3cfd98.clean\include\osg/GLExtensions(325): error C2061: syntax error: identifier 'GLuint64'

But during the configure step, the types are found:

-- Found OpenGL: opengl32   
-- Found EGL: D:/installed/x64-windows-static-md/debug/lib/libEGL.lib  
-- Performing Test GL_HEADER_HAS_GLINT64
-- Performing Test GL_HEADER_HAS_GLINT64 - Success
-- Performing Test GL_HEADER_HAS_GLUINT64
-- Performing Test GL_HEADER_HAS_GLUINT64 - Success

with the following header:

//#include<> line for OpenGL Header
OPENGL_HEADER1:STRING=#include <GL/gl.h>

//#include<> line for additional OpenGL Headers if required
OPENGL_HEADER2:STRING=

Further investigation showed that both ports opengl and mesa provide this header, only differing in case, from the top-level dir:

mesa:x64-windows-static-md:/include/GL/gl.h
opengl:x64-windows-static-md:/include/gl/GL.h

I have no idea if they are identical or differ.

FTR additional matches do exist in subdirs, possibly becoming available via the include path:

pangolin:x64-windows-static-md:/include/pangolin/gl/gl.h
glbinding:x64-windows-static-md:/include/glbinding/gl/gl.h
gstreamer:x64-windows-static-md:/include/gstreamer-1.0/gst/gl/gl.h
magnum:x64-windows-static-md:/include/Magnum/GL/GL.h

Environment
vcpkg CI, x64-mingw-static-md

Failure logs
https://dev.azure.com/vcpkg/public/_build/results?buildId=81637&view=artifacts&pathAsName=false&type=publishedArtifacts

CC @Neumann-A

Metadata

Metadata

Assignees

Labels

category:port-bugThe issue is with a library, which is something the port should already support

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions