| Summary: | cmake - build process fails on linux because of wayland not properly detected | ||
|---|---|---|---|
| Product: | SDL | Reporter: | Michele Caini <michele.caini> |
| Component: | build | Assignee: | Ryan C. Gordon <icculus> |
| Status: | RESOLVED FIXED | QA Contact: | Sam Lantinga <slouken> |
| Severity: | minor | ||
| Priority: | P2 | CC: | ajanbu, icculus |
| Version: | HG 2.1 | Keywords: | triage-2.0.4 |
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Attachments: | Build fix (add missing include) | ||
Created attachment 1988 [details]
Build fix (add missing include)
I had the same issue and this patch fixed the build for me.
sorry for the late. it works for me. Marking a large number of bugs with the "triage-2.0.4" keyword at once. Sorry if you got a lot of email from this. This is to help me sort through some bugs in regards to a 2.0.4 release. We may or may not fix this bug for 2.0.4, though! This patch is now https://hg.libsdl.org/SDL/rev/dfd8202eb9a7 Thanks! --ryan. |
Linux ********* 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt2-1 (2014-12-08) x86_64 GNU/Linux CMake returns the following: [...] -- Performing Test HAVE_VIDEO_OPENGLES_V2 - Success -- checking for modules 'wayland-client;wayland-cursor;wayland-egl;egl;xkbcommon' -- found wayland-client, version 1.6.0 -- found wayland-cursor, version 1.6.0 -- found wayland-egl, version 10.3.2 -- found egl, version 10.3.2 -- found xkbcommon, version 0.4.3 -- Performing Test HAVE_VIDEO_VIVANTE_VDK [...] -- VIDEO_RPI (Wanted: ON): OFF -- VIDEO_VIVANTE (Wanted: ON): OFF -- VIDEO_WAYLAND (Wanted: ON): ON -- VIDEO_X11 (Wanted: ON): ON -- VIDEO_X11_XCURSOR (Wanted: ON): ON [...] -- EXTRA_LIBS: wayland-cursor;wayland-egl;wayland-client;EGL;xkbcommon;m;/usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so;/usr/lib/x86_64-linux-gnu/libXcursor.so;/usr/lib/x86_64-linux-gnu/libXinerama.so;/usr/lib/x86_64-linux-gnu/libXi.so;/usr/lib/x86_64-linux-gnu/libXrandr.so;/usr/lib/x86_64-linux-gnu/libXss.so;/usr/lib/x86_64-linux-gnu/libXxf86vm.so;GL [...] Make returns the following: [ 83%] Building C object CMakeFiles/SDL2-static.dir/src/video/x11/SDL_x11touch.c.o [ 84%] Building C object CMakeFiles/SDL2-static.dir/src/video/wayland/SDL_waylandvideo.c.o [ 85%] Building C object CMakeFiles/SDL2-static.dir/src/video/wayland/SDL_waylandtouch.c.o [ 85%] Building C object CMakeFiles/SDL2-static.dir/src/video/wayland/SDL_waylandopengles.c.o [ 86%] Building C object CMakeFiles/SDL2-static.dir/src/video/wayland/SDL_waylanddyn.c.o [ 87%] Building C object CMakeFiles/SDL2-static.dir/src/video/wayland/SDL_waylandwindow.c.o /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c: In function ‘handle_ping’: /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:37:5: warning: implicit declaration of function ‘wl_shell_surface_pong’ [-Wimplicit-function-declaration] wl_shell_surface_pong(shell_surface, serial); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c: In function ‘handle_configure’: /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:50:5: warning: implicit declaration of function ‘WAYLAND_wl_egl_window_resize’ [-Wimplicit-function-declaration] WAYLAND_wl_egl_window_resize(wind->egl_window, window->w, window->h, 0, 0); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:52:5: warning: implicit declaration of function ‘wl_compositor_create_region’ [-Wimplicit-function-declaration] region = wl_compositor_create_region(wind->waylandData->compositor); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:52:12: warning: assignment makes pointer from integer without a cast region = wl_compositor_create_region(wind->waylandData->compositor); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:53:5: warning: implicit declaration of function ‘wl_region_add’ [-Wimplicit-function-declaration] wl_region_add(region, 0, 0, window->w, window->h); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:54:5: warning: implicit declaration of function ‘wl_surface_set_opaque_region’ [-Wimplicit-function-declaration] wl_surface_set_opaque_region(wind->surface, region); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:55:5: warning: implicit declaration of function ‘wl_region_destroy’ [-Wimplicit-function-declaration] wl_region_destroy(region); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c: At top level: /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:64:21: error: variable ‘shell_surface_listener’ has initializer but incomplete type static const struct wl_shell_surface_listener shell_surface_listener = { ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:65:5: warning: excess elements in struct initializer handle_ping, ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:65:5: warning: (near initialization for ‘shell_surface_listener’) /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:66:5: warning: excess elements in struct initializer handle_configure, ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:66:5: warning: (near initialization for ‘shell_surface_listener’) /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:68:1: warning: excess elements in struct initializer }; ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:68:1: warning: (near initialization for ‘shell_surface_listener’) /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c: In function ‘Wayland_ShowWindow’: /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:116:9: warning: implicit declaration of function ‘wl_shell_surface_set_fullscreen’ [-Wimplicit-function-declaration] wl_shell_surface_set_fullscreen(wind->shell_surface, ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:117:41: error: ‘WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT’ undeclared (first use in this function) WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT, ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:117:41: note: each undeclared identifier is reported only once for each function it appears in /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:120:9: warning: implicit declaration of function ‘wl_shell_surface_set_toplevel’ [-Wimplicit-function-declaration] wl_shell_surface_set_toplevel(wind->shell_surface); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:122:5: warning: implicit declaration of function ‘WAYLAND_wl_display_flush’ [-Wimplicit-function-declaration] WAYLAND_wl_display_flush( ((SDL_VideoData*)_this->driverdata)->display ); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c: In function ‘Wayland_SetWindowFullscreen’: /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:133:41: error: ‘WL_SHELL_SURFACE_FULLSCREEN_METHOD_SCALE’ undeclared (first use in this function) WL_SHELL_SURFACE_FULLSCREEN_METHOD_SCALE, ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c: In function ‘Wayland_CreateWindow’: /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:170:9: warning: implicit declaration of function ‘wl_compositor_create_surface’ [-Wimplicit-function-declaration] wl_compositor_create_surface(c->compositor); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:169:19: warning: assignment makes pointer from integer without a cast data->surface = ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:171:5: warning: implicit declaration of function ‘wl_surface_set_user_data’ [-Wimplicit-function-declaration] wl_surface_set_user_data(data->surface, data); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:172:5: warning: implicit declaration of function ‘wl_shell_get_shell_surface’ [-Wimplicit-function-declaration] data->shell_surface = wl_shell_get_shell_surface(c->shell, ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:172:25: warning: assignment makes pointer from integer without a cast data->shell_surface = wl_shell_get_shell_surface(c->shell, ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:192:5: warning: implicit declaration of function ‘WAYLAND_wl_egl_window_create’ [-Wimplicit-function-declaration] data->egl_window = WAYLAND_wl_egl_window_create(data->surface, ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:192:22: warning: assignment makes pointer from integer without a cast data->egl_window = WAYLAND_wl_egl_window_create(data->surface, ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:204:9: warning: implicit declaration of function ‘wl_shell_surface_set_user_data’ [-Wimplicit-function-declaration] wl_shell_surface_set_user_data(data->shell_surface, data); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:205:9: warning: implicit declaration of function ‘wl_shell_surface_add_listener’ [-Wimplicit-function-declaration] wl_shell_surface_add_listener(data->shell_surface, ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:217:12: warning: assignment makes pointer from integer without a cast region = wl_compositor_create_region(c->compositor); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c: In function ‘Wayland_SetWindowSize’: /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:235:12: warning: assignment makes pointer from integer without a cast region =wl_compositor_create_region(data->compositor); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c: In function ‘Wayland_DestroyWindow’: /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:248:9: warning: implicit declaration of function ‘WAYLAND_wl_egl_window_destroy’ [-Wimplicit-function-declaration] WAYLAND_wl_egl_window_destroy(wind->egl_window); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:251:13: warning: implicit declaration of function ‘wl_shell_surface_destroy’ [-Wimplicit-function-declaration] wl_shell_surface_destroy(wind->shell_surface); ^ /home/skypjack/projects/SDL/SDL/src/video/wayland/SDL_waylandwindow.c:257:9: warning: implicit declaration of function ‘wl_surface_destroy’ [-Wimplicit-function-declaration] wl_surface_destroy(wind->surface); ^ CMakeFiles/SDL2-static.dir/build.make:2837: recipe for target 'CMakeFiles/SDL2-static.dir/src/video/wayland/SDL_waylandwindow.c.o' failed make[2]: *** [CMakeFiles/SDL2-static.dir/src/video/wayland/SDL_waylandwindow.c.o] Error 1 CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/SDL2-static.dir/all' failed make[1]: *** [CMakeFiles/SDL2-static.dir/all] Error 2 Makefile:117: recipe for target 'all' failed make: *** [all] Error 2 Let me know if I can help with more details.