New issue
Advanced search Search tips

Issue 853174 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Build issue with Vulkan for MIPS Linux

Reported by milko.le...@mips.com, Jun 15 2018

Issue description

UserAgent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0

Steps to reproduce the problem:
1. gn gen out/mips32r2 --args="is_debug=false target_os=\"linux\" target_cpu=\"mipsel\" mips_arch_variant=\"r2\""
2. ninja -C out/mips32r2 -j8 all

What is the expected behavior?
Build should finish.

What went wrong?
[11391/73484] CXX obj/gpu/vulkan/vulkan/vulkan_image_view.o
FAILED: obj/gpu/vulkan/vulkan/vulkan_image_view.o 
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/gpu/vulkan/vulkan/vulkan_image_view.o.d -DVULKAN_IMPLEMENTATION -DVK_USE_PLATFORM_XLIB_KHR -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DCR_CLANG_REVISION=\"334100-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=332543 -DCR_LIBCXXABI_REVISION=331450 -DCR_SYSROOT_HASH=baaf37cdcbcf251fb9a4ccaf8b479722ae61fe49 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DVK_NO_PROTOTYPES -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DWEBP_EXTERN=extern -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_HAS_JPEG_LIBRARY -DSK_VULKAN_HEADER=\"../../skia/config/SkVulkanConfig.h\" -DSK_VULKAN=1 -DSK_SUPPORT_GPU=1 -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DVK_NO_PROTOTYPES -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -I../.. -Igen -I../../third_party/vulkan/include -I../../third_party/libwebp/src -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/encode -I../../third_party/skia/include/gpu -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/vulkan/include -I../../third_party/skia/third_party/vulkanmemoryallocator -I../../third_party/skia/src/gpu -I../../third_party/skia/src/sksl -I../../third_party/vulkan/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -no-canonical-prefixes --target=mipsel-linux-gnu -march=mipsel -mcpu=mips32r2 -mhard-float -Wall -Werror -Wextra -Wimplicit-fallthrough -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-address-of-packed-member -Wno-nonportable-include-path -Wno-user-defined-warnings -Wno-unused-lambda-capture -Wno-null-pointer-arithmetic -Wno-enum-compare-switch -Wno-ignored-pragma-optimize -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang enforce-in-thirdparty-webkit -Xclang -plugin-arg-find-bad-constructs -Xclang check-enum-max-value -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -isystem../../build/linux/debian_sid_mips-sysroot/usr/include/glib-2.0 -isystem../../build/linux/debian_sid_mips-sysroot/usr/lib/mipsel-linux-gnu/glib-2.0/include -std=gnu++14 -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_sid_mips-sysroot -fvisibility-inlines-hidden -c ../../gpu/vulkan/vulkan_image_view.cc -o obj/gpu/vulkan/vulkan/vulkan_image_view.o
In file included from ../../gpu/vulkan/vulkan_image_view.cc:5:
../../gpu/vulkan/vulkan_image_view.h:48:12: error: expected member name or ';' after declaration specifiers
  uint32_t mips() const { return mips_; }
  ~~~~~~~~ ^
<built-in>:355:14: note: expanded from here
#define mips 1
             ^
../../gpu/vulkan/vulkan_image_view.cc:32:7: error: member initializer 'device_queue_' does not name a non-static data member or base class
    : device_queue_(device_queue) {}
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../gpu/vulkan/vulkan_image_view.cc:73:7: error: use of undeclared identifier 'device_queue_'
      device_queue_->GetVulkanDevice(), &image_view_create_info, nullptr,
      ^
../../gpu/vulkan/vulkan_image_view.cc:94:9: error: use of undeclared identifier 'device_queue_'
        device_queue_->GetVulkanDevice(), handle_, nullptr);
        ^
4 errors generated.

Did this work before? Yes r567306

Chrome version: 567307  Channel: n/a
OS Version: Ubuntu 16.04
Flash Version: Shockwave Flash 30.0 r0

This issue started after vulkan was enabled for linux with x11 platforms in change:
https://chromium-review.googlesource.com/c/chromium/src/+/1098117

Issue comes from using "mips" as a name for function in gpu/vulkan/vulkan_image_view.h, because toolchain has:

#define mips 1
 
Components: Internals>GPU
Owner: cblume@chromium.org
Status: Assigned (was: Unconfirmed)

Comment 3 by cblume@chromium.org, Jun 15 2018

I can rename it easily enough.
But I cannot test it. Would you be able to test the build again once I land this patch?
Project Member

Comment 4 by bugdroid1@chromium.org, Jun 15 2018

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

commit c41fad9131fa620d4c3d2c90bf084f227a9473b6
Author: Chris Blume <cblume@chromium.org>
Date: Fri Jun 15 22:06:46 2018

Fix build on MIPS chips

We recently enabled Vulkan build by default. However, in the Vulkan code
is "mips" which is #define mips 1 on MIPS builds.

It is easy enough to just rename this instance to mip_levels. It is also
more descriptive anyway. And then it fixes builds targetting MIPS chips.

BUG= 853174 

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I45b75b4deaa8c95fba47e8958d9283c49a5f405f
Reviewed-on: https://chromium-review.googlesource.com/1102672
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Chris Blume <cblume@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567809}
[modify] https://crrev.com/c41fad9131fa620d4c3d2c90bf084f227a9473b6/gpu/vulkan/vulkan_image_view.cc
[modify] https://crrev.com/c41fad9131fa620d4c3d2c90bf084f227a9473b6/gpu/vulkan/vulkan_image_view.h

Comment 5 by cblume@chromium.org, Jun 15 2018

That patch above should fix it. But like I said, I cannot test it.
Could you test it for me.
Thanks for the change, it did fix the build issue.

Comment 7 by cblume@chromium.org, Jun 18 2018

Status: Fixed (was: Assigned)

Sign in to add a comment