Summary: | graphics/cairo buid failed: error: unknown type name 'GLXContext' | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | shrdlu19 | ||||||
Component: | Individual Port(s) | Assignee: | freebsd-desktop (Team) <desktop> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Some People | CC: | 2khramtsov, driesm, nc, nomoo, shrdlu19, tomas | ||||||
Priority: | --- | Flags: | 2khramtsov:
maintainer-feedback-
|
||||||
Version: | Latest | ||||||||
Hardware: | amd64 | ||||||||
OS: | Any | ||||||||
Attachments: |
|
Description
shrdlu19
2021-05-27 04:34:46 UTC
Sorry, i were unable to attach a full build log to the message - but you can download it from the link https://www.mediafire.com/file/2cz8t8xi0rngkbn/cairo-1.17.4,3.log/file Created attachment 225315 [details]
poudriere build log file (shrunken)
confirm build failure. Same here. Cairo builds fine for me on 13.0-RELEASE. It seems the log is on 12.2-RELEASE so I will test that in Poudriere. (In reply to Neel Chauhan from comment #4) > Cairo builds fine for me on 13.0-RELEASE Because you have GLX definitions, see https://cgit.freedesktop.org/cairo/tree/src/cairo-gl.h#n96 Also see https://svnweb.freebsd.org/ports?view=revision&revision=538507, the use case when OpenGL is provided by libOpenGL and libEGL is also regressed. (In reply to shrdlu19 from comment #0) Try disabling both OPENGL and GLESV2. You also likely don't need XCB without X11. (In reply to Evgeniy Khramtsov from comment #6) Yes, after i disable OPENGL, GLESV2 and XCB options port build successfully. Created attachment 225332 [details]
patch for libglvnd and EGL_NO_X11 build
1.7.4 regressed Wayland-only build and the attached patch fixes the build. May someone take a look at it? It is trivial enough and should go away once upstream will completely switch to meson, where this issue does not exist. (In reply to Evgeniy Khramtsov from comment #8) Maintainer timeout. 1.17.4 regressed global X11=off XCB=off XLIB=off, which was working before starting from: https://svnweb.freebsd.org/ports?view=revision&revision=538507. OPENGL and EGL_NO_X11 are not theoretical, they are used for a X11-less desktop: https://codeberg.org/ei/ports/commits/branch/ei A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=d5717160159d93ebdf46742459c68c3e94ca3289 commit d5717160159d93ebdf46742459c68c3e94ca3289 Author: Evgeniy Khramtsov <evgeniy@khramtsov.org> AuthorDate: 2021-05-28 11:06:00 +0000 Commit: Jan Beich <jbeich@FreeBSD.org> CommitDate: 2021-06-18 19:27:50 +0000 graphics/cairo: unbreak without X11 after dbca720cdec9 gl-device-release.c:33:8: error: unknown type name 'Window' static Window ^ gl-device-release.c:34:21: error: unknown type name 'Display' create_test_window (Display *display, ^ gl-device-release.c:35:7: error: unknown type name 'GLXContext'; did you mean 'EGLContext'? GLXContext glx_context, ^~~~~~~~~~ EGLContext /usr/local/include/EGL/egl.h:64:15: note: 'EGLContext' declared here typedef void *EGLContext; ^ gl-device-release.c:36:7: error: unknown type name 'XVisualInfo' XVisualInfo *visual_info) ^ gl-oversized-surface.c:38:2: error: use of undeclared identifier 'GLX_RGBA' GLX_RGBA, ^ gl-oversized-surface.c:39:2: error: use of undeclared identifier 'GLX_RED_SIZE' GLX_RED_SIZE, 1, ^ gl-oversized-surface.c:40:2: error: use of undeclared identifier 'GLX_GREEN_SIZE' GLX_GREEN_SIZE, 1, ^ gl-oversized-surface.c:41:2: error: use of undeclared identifier 'GLX_BLUE_SIZE' GLX_BLUE_SIZE, 1, ^ gl-oversized-surface.c:42:2: error: use of undeclared identifier 'GLX_ALPHA_SIZE' GLX_ALPHA_SIZE, 1, ^ gl-surface-source.c:33:5: error: unknown type name 'Display' Display *dpy; ^ gl-surface-source.c:34:5: error: unknown type name 'GLXContext'; did you mean 'EGLContext'? GLXContext ctx; ^~~~~~~~~~ EGLContext /usr/local/include/EGL/egl.h:64:15: note: 'EGLContext' declared here typedef void *EGLContext; ^ gl-surface-source.c:42:5: error: implicit declaration of function 'glXDestroyContext' is invalid in C99 [-Werror,-Wimplicit-function-declaration] glXDestroyContext (arg->dpy, arg->ctx); ^ gl-surface-source.c:42:5: note: did you mean 'eglDestroyContext'? /usr/local/include/EGL/egl.h:156:31: note: 'eglDestroyContext' declared here EGLAPI EGLBoolean EGLAPIENTRY eglDestroyContext (EGLDisplay dpy, EGLContext ctx); ^ gl-surface-source.c:43:5: error: implicit declaration of function 'XCloseDisplay' is invalid in C99 [-Werror,-Wimplicit-function-declaration] XCloseDisplay (arg->dpy); ^ gl-device-release.c:38:5: error: use of undeclared identifier 'Colormap' Colormap colormap; ^ gl-device-release.c:39:5: error: use of undeclared identifier 'XSetWindowAttributes' XSetWindowAttributes window_attributes; ^ gl-device-release.c:40:5: error: use of undeclared identifier 'Window' Window window = None; ^ gl-device-release.c:42:5: error: use of undeclared identifier 'colormap' colormap = XCreateColormap (display, ^ gl-device-release.c:42:16: error: implicit declaration of function 'XCreateColormap' is invalid in C99 [-Werror,-Wimplicit-function-declaration] colormap = XCreateColormap (display, ^ gl-device-release.c:43:8: error: implicit declaration of function 'RootWindow' is invalid in C99 [-Werror,-Wimplicit-function-declaration] RootWindow (display, visual_info->screen), ^ gl-device-release.c:45:8: error: use of undeclared identifier 'AllocNone' AllocNone); ^ gl-oversized-surface.c:43:2: error: use of undeclared identifier 'GLX_DOUBLEBUFFER' GLX_DOUBLEBUFFER, ^ gl-oversized-surface.c:44:2: error: use of undeclared identifier 'None' None ^ gl-oversized-surface.c:47:5: error: use of undeclared identifier 'Display' Display *display; ^ gl-oversized-surface.c:47:14: error: use of undeclared identifier 'display' Display *display; ^ gl-oversized-surface.c:48:5: error: use of undeclared identifier 'XVisualInfo' XVisualInfo *visual_info; ^ gl-oversized-surface.c:48:18: error: use of undeclared identifier 'visual_info' XVisualInfo *visual_info; ^ gl-oversized-surface.c:49:5: error: unknown type name 'GLXContext'; did you mean 'EGLContext'? GLXContext glx_context; ^~~~~~~~~~ EGLContext /usr/local/include/EGL/egl.h:64:15: note: 'EGLContext' declared here typedef void *EGLContext; ^ gl-oversized-surface.c:54:5: error: use of undeclared identifier 'display' display = XOpenDisplay (NULL); ^ gl-surface-source.c:52:2: error: use of undeclared identifier 'GLX_RGBA' GLX_RGBA, ^ gl-surface-source.c:53:2: error: use of undeclared identifier 'GLX_RED_SIZE' GLX_RED_SIZE, 1, ^ gl-surface-source.c:54:2: error: use of undeclared identifier 'GLX_GREEN_SIZE' GLX_GREEN_SIZE, 1, ^ gl-surface-source.c:55:2: error: use of undeclared identifier 'GLX_BLUE_SIZE' GLX_BLUE_SIZE, 1, ^ gl-surface-source.c:56:2: error: use of undeclared identifier 'GLX_ALPHA_SIZE' GLX_ALPHA_SIZE, 1, ^ gl-surface-source.c:57:2: error: use of undeclared identifier 'GLX_DOUBLEBUFFER' GLX_DOUBLEBUFFER, ^ gl-surface-source.c:58:2: error: use of undeclared identifier 'None' None ^ gl-surface-source.c:60:5: error: use of undeclared identifier 'XVisualInfo' XVisualInfo *visinfo; ^ gl-surface-source.c:60:18: error: use of undeclared identifier 'visinfo' XVisualInfo *visinfo; ^ gl-device-release.c:46:5: error: use of undeclared identifier 'window_attributes' window_attributes.colormap = colormap; ^ gl-device-release.c:46:34: error: use of undeclared identifier 'colormap' window_attributes.colormap = colormap; ^ gl-device-release.c:47:5: error: use of undeclared identifier 'window_attributes' window_attributes.border_pixel = 0; ^ gl-device-release.c:48:5: error: use of undeclared identifier 'window' window = XCreateWindow (display, RootWindow (display, visual_info->screen), ^ gl-device-release.c:48:14: error: implicit declaration of function 'XCreateWindow' is invalid in C99 [-Werror,-Wimplicit-function-declaration] window = XCreateWindow (display, RootWindow (display, visual_info->screen), ^ gl-oversized-surface.c:54:15: error: implicit declaration of function 'XOpenDisplay' is invalid in C99 [-Werror,-Wimplicit-function-declaration] display = XOpenDisplay (NULL); ^ gl-oversized-surface.c:55:9: error: use of undeclared identifier 'display' if (display == NULL) ^ gl-oversized-surface.c:58:5: error: use of undeclared identifier 'visual_info' visual_info = glXChooseVisual (display, DefaultScreen (display), rgba_attribs); ^ gl-oversized-surface.c:58:19: error: implicit declaration of function 'glXChooseVisual' is invalid in C99 [-Werror,-Wimplicit-function-declaration] visual_info = glXChooseVisual (display, DefaultScreen (display), rgba_attribs); ^ gl-oversized-surface.c:58:45: error: implicit declaration of function 'DefaultScreen' is invalid in C99 [-Werror,-Wimplicit-function-declaration] visual_info = glXChooseVisual (display, DefaultScreen (display), rgba_attribs); gl-surface-source.c:61:5: error: unknown type name 'GLXContext'; did you mean 'EGLContext'? GLXContext ctx; ^~~~~~~~~~ EGLContext /usr/local/include/EGL/egl.h:64:15: note: 'EGLContext' declared here typedef void *EGLContext; ^ gl-surface-source.c:65:5: error: use of undeclared identifier 'Display' Display *dpy; ^ gl-surface-source.c:65:14: error: use of undeclared identifier 'dpy' Display *dpy; ^ gl-surface-source.c:67:5: error: use of undeclared identifier 'dpy' dpy = XOpenDisplay (NULL); ^ gl-surface-source.c:67:11: error: implicit declaration of function 'XOpenDisplay' is invalid in C99 [-Werror,-Wimplicit-function-declaration] dpy = XOpenDisplay (NULL); ^ gl-surface-source.c:68:9: error: use of undeclared identifier 'dpy' if (dpy == NULL) ^ gl-oversized-surface.c:58:60: error: use of undeclared identifier 'display' visual_info = glXChooseVisual (display, DefaultScreen (display), rgba_attribs); ^ PR: 256180 Reported by: shrdlu19@gmail.com Approved by: maintainer timeout (3 weeks) graphics/cairo/files/patch-test_Makefile.am (new) | 14 ++++++++++++++ 1 file changed, 14 insertions(+) Thanks. Reproduced and landed without PORTREVISION bump: (1) build was previously broken, (2) test programs are not installed. |