New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 891529 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Oct 3
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Compilation problem with Jumbo

Project Member Reported by mar...@mwiacek.com, Oct 2

Issue description

Compilation settings:

target_os="android"
target_cpu="arm"
enable_nacl=false
symbol_level=0
remove_webcore_debug_symbols=true
is_debug=false
dcheck_always_on=false
is_component_build=false
use_jumbo_build=true


errors during building chrome_public_apk:

In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
../../third_party/mesa_headers/GL/gl.h:173:9: error: 'GL_FALSE' macro redefined [-Werror,-Wmacro-redefined]
#define GL_FALSE                                0x0
        ^
../../third_party/khronos/GLES2/gl2.h:88:9: note: previous definition is here
#define GL_FALSE                          0
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
../../third_party/mesa_headers/GL/gl.h:174:9: error: 'GL_TRUE' macro redefined [-Werror,-Wmacro-redefined]
#define GL_TRUE                                 0x1
        ^
../../third_party/khronos/GLES2/gl2.h:89:9: note: previous definition is here
#define GL_TRUE                           1
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
../../third_party/mesa_headers/GL/gl.h:374:9: error: 'GL_ZERO' macro redefined [-Werror,-Wmacro-redefined]
#define GL_ZERO                                 0x0
        ^
../../third_party/khronos/GLES2/gl2.h:97:9: note: previous definition is here
#define GL_ZERO                           0
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
../../third_party/mesa_headers/GL/gl.h:375:9: error: 'GL_ONE' macro redefined [-Werror,-Wmacro-redefined]
#define GL_ONE                                  0x1
        ^
../../third_party/khronos/GLES2/gl2.h:98:9: note: previous definition is here
#define GL_ONE                            1
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
../../third_party/mesa_headers/GL/gl.h:465:9: error: 'GL_NONE' macro redefined [-Werror,-Wmacro-redefined]
#define GL_NONE                                 0x0
        ^
../../third_party/khronos/GLES2/gl2.h:376:9: note: previous definition is here
#define GL_NONE                           0
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
../../third_party/mesa_headers/GL/gl.h:693:9: error: 'GL_NO_ERROR' macro redefined [-Werror,-Wmacro-redefined]
#define GL_NO_ERROR                             0x0
        ^
../../third_party/khronos/GLES2/gl2.h:146:9: note: previous definition is here
#define GL_NO_ERROR                       0
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
In file included from ../../third_party/mesa_headers/GL/gl.h:2086:
../../third_party/mesa_headers/GL/glext.h:1956:9: error: 'GL_DRAW_FRAMEBUFFER_BINDING' macro redefined [-Werror,-Wmacro-redefined]
#define GL_DRAW_FRAMEBUFFER_BINDING       GL_FRAMEBUFFER_BINDING
        ^
../../third_party/khronos/GLES3/gl3.h:836:9: note: previous definition is here
#define GL_DRAW_FRAMEBUFFER_BINDING       0x8CA6
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
In file included from ../../third_party/mesa_headers/GL/gl.h:2086:
../../third_party/mesa_headers/GL/glext.h:2144:9: error: 'GL_COPY_READ_BUFFER' macro redefined [-Werror,-Wmacro-redefined]
#define GL_COPY_READ_BUFFER               GL_COPY_READ_BUFFER_BINDING
        ^
../../third_party/khronos/GLES3/gl3.h:910:9: note: previous definition is here
#define GL_COPY_READ_BUFFER               0x8F36
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
In file included from ../../third_party/mesa_headers/GL/gl.h:2086:
../../third_party/mesa_headers/GL/glext.h:2146:9: error: 'GL_COPY_WRITE_BUFFER' macro redefined [-Werror,-Wmacro-redefined]
#define GL_COPY_WRITE_BUFFER              GL_COPY_WRITE_BUFFER_BINDING
        ^
../../third_party/khronos/GLES3/gl3.h:911:9: note: previous definition is here
#define GL_COPY_WRITE_BUFFER              0x8F37
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
In file included from ../../third_party/mesa_headers/GL/gl.h:2086:
../../third_party/mesa_headers/GL/glext.h:5073:9: error: 'GL_FRAMEBUFFER_BINDING_EXT' macro redefined [-Werror,-Wmacro-redefined]
#define GL_FRAMEBUFFER_BINDING_EXT        0x8CA6
        ^
../../gpu/GLES2/gl2extchromium.h:231:9: note: previous definition is here
#define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
In file included from ../../third_party/mesa_headers/GL/gl.h:2086:
../../third_party/mesa_headers/GL/glext.h:5074:9: error: 'GL_RENDERBUFFER_BINDING_EXT' macro redefined [-Werror,-Wmacro-redefined]
#define GL_RENDERBUFFER_BINDING_EXT       0x8CA7
        ^
../../gpu/GLES2/gl2extchromium.h:239:9: note: previous definition is here
#define GL_RENDERBUFFER_BINDING_EXT GL_RENDERBUFFER_BINDING
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:31:
In file included from ../../third_party/mesa_headers/GL/gl.h:2086:
../../third_party/mesa_headers/GL/glext.h:5886:9: error: 'GL_COVERAGE_SAMPLES_NV' macro redefined [-Werror,-Wmacro-redefined]
#define GL_COVERAGE_SAMPLES_NV            0x80A9
        ^
../../third_party/khronos/GLES2/gl2ext.h:2921:9: note: previous definition is here
#define GL_COVERAGE_SAMPLES_NV            0x8ED4
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:446:
../../ui/gl/gl_bindings_autogen_gl.h:306:5: error: unknown type name 'GLDEBUGPROC'; did you mean 'GRGLDEBUGPROC'?
    GLDEBUGPROC callback,
    ^~~~~~~~~~~
    GRGLDEBUGPROC
../../third_party/skia/include/gpu/gl/GrGLTypes.h:86:36: note: 'GRGLDEBUGPROC' declared here
typedef void (GR_GL_FUNCTION_TYPE* GRGLDEBUGPROC)(GrGLenum source,
                                   ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:446:
../../ui/gl/gl_bindings_autogen_gl.h:2572:41: error: unknown type name 'GLDEBUGPROC'; did you mean 'GRGLDEBUGPROC'?
  virtual void glDebugMessageCallbackFn(GLDEBUGPROC callback,
                                        ^~~~~~~~~~~
                                        GRGLDEBUGPROC
../../third_party/skia/include/gpu/gl/GrGLTypes.h:86:36: note: 'GRGLDEBUGPROC' declared here
typedef void (GR_GL_FUNCTION_TYPE* GRGLDEBUGPROC)(GrGLenum source,
                                   ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:446:
../../ui/gl/gl_bindings_autogen_gl.h:3859:9: error: 'glActiveTexture' macro redefined [-Werror,-Wmacro-redefined]
#define glActiveTexture ::gl::g_current_gl_context->glActiveTextureFn
        ^
../../gpu/GLES2/gl2chromium_autogen.h:16:9: note: previous definition is here
#define glActiveTexture GLES2_GET_FUN(ActiveTexture)
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:446:
../../ui/gl/gl_bindings_autogen_gl.h:3862:9: error: 'glAttachShader' macro redefined [-Werror,-Wmacro-redefined]
#define glAttachShader ::gl::g_current_gl_context->glAttachShaderFn
        ^
../../gpu/GLES2/gl2chromium_autogen.h:17:9: note: previous definition is here
#define glAttachShader GLES2_GET_FUN(AttachShader)
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:446:
../../ui/gl/gl_bindings_autogen_gl.h:3864:9: error: 'glBeginTransformFeedback' macro redefined [-Werror,-Wmacro-redefined]
#define glBeginTransformFeedback \
        ^
../../gpu/GLES2/gl2chromium_autogen.h:252:9: note: previous definition is here
#define glBeginTransformFeedback GLES2_GET_FUN(BeginTransformFeedback)
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:446:
../../ui/gl/gl_bindings_autogen_gl.h:3866:9: error: 'glBindAttribLocation' macro redefined [-Werror,-Wmacro-redefined]
#define glBindAttribLocation ::gl::g_current_gl_context->glBindAttribLocationFn
        ^
../../gpu/GLES2/gl2chromium_autogen.h:18:9: note: previous definition is here
#define glBindAttribLocation GLES2_GET_FUN(BindAttribLocation)
        ^
In file included from gen/components/viz/service/service_jumbo_2.cc:34:
In file included from ./../../components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc:8:
In file included from ../../ui/gl/gl_bindings.h:446:
../../ui/gl/gl_bindings_autogen_gl.h:3867:9: error: 'glBindBuffer' macro redefined [-Werror,-Wmacro-redefined]
#define glBindBuffer ::gl::g_current_gl_context->glBindBufferFn
        ^
../../gpu/GLES2/gl2chromium_autogen.h:19:9: note: previous definition is here
#define glBindBuffer GLES2_GET_FUN(BindBuffer)
        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.


 
Owner: khushals...@chromium.org
Hi Khushal,

It looks, that your CL https://chromium-review.googlesource.com/c/chromium/src/+/1250212 created this bug, please provide fix.
Cc: fsam...@chromium.org kylec...@chromium.org brat...@opera.com
jumbo probably needs to split components/viz/service/display_embedder (which uses "client-side" GL) from the other things in components/viz/service (some of which use "service-side" GL)
Seems like there is something like this already in that gn file: https://cs.chromium.org/chromium/src/components/viz/service/BUILD.gn?l=303
Project Member

Comment 6 by bugdroid1@chromium.org, Oct 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/665e5635fe2c431e7c89f99850848dcc4dad152d

commit 665e5635fe2c431e7c89f99850848dcc4dad152d
Author: Khushal <khushalsagar@google.com>
Date: Tue Oct 02 23:57:06 2018

viz: Fix jumbo build failure on Android.

The GLOutputSurfaceBufferQueueAndroid should not use ui/gl includes
since it is expected to use client-side GL. Doing so breaks jumbo builds.

R=piman@chromium.org

Bug:  891529 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: Ib7b9d424d864c4a585bae561c67ce8badbd6a5aa
Reviewed-on: https://chromium-review.googlesource.com/c/1257659
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596052}
[modify] https://crrev.com/665e5635fe2c431e7c89f99850848dcc4dad152d/components/viz/service/display_embedder/gl_output_surface_buffer_queue_android.cc

Status: Fixed (was: Unconfirmed)
Good fix. I wonder if it's possible to enforce this in some way that is less confusing that jumbo build errors, or maybe it will all be fixed once the code has moved into the gpu process.
Status: Verified (was: Fixed)

Sign in to add a comment