Comment 4 for bug 1678119

Revision history for this message
Olivier Tilloy (osomon) wrote :

Even after copying the missing header to /usr/include/linux/ on my system, I’m getting build failures:

../../ui/gfx/linux/client_native_pixmap_dmabuf.cc: In function ‘void gfx::{anonymous}::PrimeSyncStart(int)’:
../../ui/gfx/linux/client_native_pixmap_dmabuf.cc:47:29: error: variable ‘gfx::{anonymous}::PrimeSyncStart(int)::local_dma_buf_sync sync_start’ has initializer but incomplete type
   struct local_dma_buf_sync sync_start = {0};
                             ^~~~~~~~~~
../../ui/gfx/linux/client_native_pixmap_dmabuf.cc:49:22: error: ‘LOCAL_DMA_BUF_SYNC_START’ was not declared in this scope
   sync_start.flags = LOCAL_DMA_BUF_SYNC_START | LOCAL_DMA_BUF_SYNC_RW;
                      ^~~~~~~~~~~~~~~~~~~~~~~~

It appears LOCAL_DMA_BUF_SYNC_* are not defined in that header.

I’m temporarily working around the issue with the following patch to chromium:

diff --git a/ui/gfx/linux/client_native_pixmap_dmabuf.cc b/ui/gfx/linux/client_native_pixmap_dmabuf.cc
index d656c338f0a6..57de7fa683a0 100644
--- a/ui/gfx/linux/client_native_pixmap_dmabuf.cc
+++ b/ui/gfx/linux/client_native_pixmap_dmabuf.cc
@@ -17,7 +17,7 @@
 #include "base/strings/stringprintf.h"
 #include "base/trace_event/trace_event.h"

-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
 #include <linux/types.h>

 struct local_dma_buf_sync {