invalid use of incomplete type ‘struct wpe_video_plane_display_dmabuf_source_create(wpe_renderer_backend_egl*)::wpe_renderer_backend_egl_base’
Closed this issue · 2 comments
jameshilliard commented
I'm getting the following build error on WPEBackend-fdo master when building with buildroot.
>>> wpebackend-fdo custom Building
PATH="/home/buildroot/buildroot/output/host/bin:/home/buildroot/buildroot/output/host/sbin:/home/buildroot/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" /usr/bin/make -j33 -C /home/buildroot/buildroot/output/build/wpebackend-fdo-custom/
[ 4%] Generating video-plane-display-dmabuf/wpe-video-plane-display-dmabuf-protocol.c, video-plane-display-dmabuf/wpe-video-plane-display-dmabuf-client-protocol.h, video-plane-display-dmabuf/wpe-video-plane-display-dmabuf-server-protocol.h
[ 9%] Generating bridge/wpe-bridge-protocol.c, bridge/wpe-bridge-client-protocol.h, bridge/wpe-bridge-server-protocol.h
Scanning dependencies of target WPEBackend-fdo
[ 13%] Building C object CMakeFiles/WPEBackend-fdo.dir/bridge/wpe-bridge-protocol.c.o
[ 18%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/exported-buffer-shm.cpp.o
[ 27%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/fdo.cpp.o
[ 27%] Building C object CMakeFiles/WPEBackend-fdo.dir/video-plane-display-dmabuf/wpe-video-plane-display-dmabuf-protocol.c.o
[ 31%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/exported-image-egl.cpp.o
[ 36%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/renderer-backend-egl.cpp.o
[ 40%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/initialize-egl.cpp.o
[ 45%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/renderer-host.cpp.o
[ 50%] Building C object CMakeFiles/WPEBackend-fdo.dir/src/version.c.o
[ 54%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/ipc.cpp.o
[ 63%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/ws-client.cpp.o
[ 63%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/extensions/video-plane-display-dmabuf.cpp.o
[ 72%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/view-backend-exportable-fdo.cpp.o
[ 72%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/view-backend-exportable-private.cpp.o
[ 77%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/ws.cpp.o
[ 81%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/extensions/video-plane-display-dmabuf-receiver.cpp.o
[ 86%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/linux-dmabuf/linux-dmabuf.cpp.o
[ 90%] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/view-backend-exportable-fdo-egl.cpp.o
[ 95%] Building C object CMakeFiles/WPEBackend-fdo.dir/src/linux-dmabuf/linux-dmabuf-protocol.c.o
/home/buildroot/buildroot/output/build/wpebackend-fdo-custom/src/extensions/video-plane-display-dmabuf.cpp: In function ‘wpe_video_plane_display_dmabuf_source* wpe_video_plane_display_dmabuf_source_create(wpe_renderer_backend_egl*)’:
/home/buildroot/buildroot/output/build/wpebackend-fdo-custom/src/extensions/video-plane-display-dmabuf.cpp:231:70: error: invalid use of incomplete type ‘struct wpe_video_plane_display_dmabuf_source_create(wpe_renderer_backend_egl*)::wpe_renderer_backend_egl_base’
auto* impl = new Impl::DmaBuf(*static_cast<WS::BaseBackend*>(base->interface_data));
^~
/home/buildroot/buildroot/output/build/wpebackend-fdo-custom/src/extensions/video-plane-display-dmabuf.cpp:230:42: note: forward declaration of ‘struct wpe_video_plane_display_dmabuf_source_create(wpe_renderer_backend_egl*)::wpe_renderer_backend_egl_base’
auto* base = reinterpret_cast<struct wpe_renderer_backend_egl_base*>(backend);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[6]: *** [CMakeFiles/WPEBackend-fdo.dir/build.make:269: CMakeFiles/WPEBackend-fdo.dir/src/extensions/video-plane-display-dmabuf.cpp.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [CMakeFiles/Makefile2:137: CMakeFiles/WPEBackend-fdo.dir/all] Error 2
make[4]: *** [Makefile:130: all] Error 2
make[3]: *** [package/pkg-generic.mk:260: /home/buildroot/buildroot/output/build/wpebackend-fdo-custom/.stamp_built] Error 2
make[2]: *** [Makefile:84: _all] Error 2
make[1]: *** [common.mk:48: default] Error 2
jameshilliard commented
Fixed by updating to latest libwpe.
mcatanzaro commented
@aperezdc, please reopen. This should be caught at CMake time. We should do:
find_package(WPE 1.5.90 REQUIRED)