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

Issue 639863 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Headless Chromium "Build all" target is broken

Reported by kra...@amazon.com, Aug 22 2016

Issue description

Version: Tip of master as of today ( 637c0b137e0e14df23c34260277ce90617711ac1 )
OS: Linux (Any)

What steps will reproduce the problem?
(1) Set up a Linux workspace with this GN file: https://cs.chromium.org/chromium/src/build/args/headless.gn?q=build/args/headless.gn&sq=package:chromium&l=1
(Note: I also set "is_debug = false" and "target_os = linux", though I doubt that had any impact
(2) "ninja -C out/GN-Headless"
(Or for faster failure: "ninja -C out/GN-Headless media_transfer_protocol"
(3)

What is the expected output?
Build succeeds

What do you see instead?
[1/3] CXX obj/device/media_transfer_protocol/media_transfer_protocol/media_transfer_protocol_daemon_client.o
FAILED: obj/device/media_transfer_protocol/media_transfer_protocol/media_transfer_protocol_daemon_client.o 
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/device/media_transfer_protocol/media_transfer_protocol/media_transfer_protocol_daemon_client.o.d -DV8_DEPRECATION_WARNINGS -DENABLE_MDNS=1 -DENABLE_NOTIFICATIONS -DENABLE_PEPPER_CDMS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DENABLE_SPELLCHECK=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DENABLE_WEBRTC=1 -DDISABLE_NACL -DENABLE_EXTENSIONS=1 -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -DSLATIUM_EXPORT=__attribute__\(\(visibility\(\"default\"\)\)\) -DCOMPONENT_BUILD=1 -DHAVE_VISIBILITY_ATTRIBUTE -DV8_SHARED -DBUILDING_V8_SHARED -DCR_CLANG_REVISION=274369-1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -I../.. -Igen -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -fcolor-diagnostics -fdebug-prefix-map=/media/SecondHDD/workspaces/linux/src=. -pthread -m64 -march=x86-64 -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -O2 -fno-ident -fdata-sections -ffunction-sections -g0 --sysroot=../../build/linux/debian_wheezy_amd64-sysroot -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 check-templates -Xclang -plugin-arg-find-bad-constructs -Xclang follow-macro-expansion -Xclang -plugin-arg-find-bad-constructs -Xclang check-implicit-copy-ctors -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -c ../../device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc -o obj/device/media_transfer_protocol/media_transfer_protocol/media_transfer_protocol_daemon_client.o
In file included from ../../device/media_transfer_protocol/media_transfer_protocol_daemon_client.cc:12:
../../dbus/bus.h:8:10: fatal error: 'dbus/dbus.h' file not found
#include <dbus/dbus.h>
         ^
1 error generated.
[2/3] CXX obj/device/media_transfer_protocol/media_transfer_protocol/media_transfer_protocol_manager.o
FAILED: obj/device/media_transfer_protocol/media_transfer_protocol/media_transfer_protocol_manager.o 
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/device/media_transfer_protocol/media_transfer_protocol/media_transfer_protocol_manager.o.d -DV8_DEPRECATION_WARNINGS -DENABLE_MDNS=1 -DENABLE_NOTIFICATIONS -DENABLE_PEPPER_CDMS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DENABLE_SPELLCHECK=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DENABLE_WEBRTC=1 -DDISABLE_NACL -DENABLE_EXTENSIONS=1 -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -DSLATIUM_EXPORT=__attribute__\(\(visibility\(\"default\"\)\)\) -DCOMPONENT_BUILD=1 -DHAVE_VISIBILITY_ATTRIBUTE -DV8_SHARED -DBUILDING_V8_SHARED -DCR_CLANG_REVISION=274369-1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -I../.. -Igen -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -fcolor-diagnostics -fdebug-prefix-map=/media/SecondHDD/workspaces/linux/src=. -pthread -m64 -march=x86-64 -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -O2 -fno-ident -fdata-sections -ffunction-sections -g0 --sysroot=../../build/linux/debian_wheezy_amd64-sysroot -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 check-templates -Xclang -plugin-arg-find-bad-constructs -Xclang follow-macro-expansion -Xclang -plugin-arg-find-bad-constructs -Xclang check-implicit-copy-ctors -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-rtti -fno-exceptions -c ../../device/media_transfer_protocol/media_transfer_protocol_manager.cc -o obj/device/media_transfer_protocol/media_transfer_protocol/media_transfer_protocol_manager.o
In file included from ../../device/media_transfer_protocol/media_transfer_protocol_manager.cc:24:
../../dbus/bus.h:8:10: fatal error: 'dbus/dbus.h' file not found
#include <dbus/dbus.h>
         ^
1 error generated.
ninja: build stopped: subcommand failed.


Please use labels and text to provide additional information.
Note: I tested this on today's tip of master, as well as on an early August workspace. Both fail with the same error. There might be other targets failing further down the line as well.
 

Comment 1 by kra...@amazon.com, Aug 22 2016

https://cs.chromium.org/search/?q=%23include+%22dbus/bus.h%22&sq=package:chromium&type=cs
There seem to be a lot of unguarded include for this file all across Chrome - this was very likely just the first one to fail :(
Components: Build
Labels: OS-Linux
Related discussion: https://groups.google.com/a/chromium.org/d/topic/chromium-dev/A3twMM9RhIo/discussion

I think we can remove device/media_transfer_protocol from Linux builds, but that may be just the tip of the iceburg.

Comment 4 by most...@opera.com, Sep 20 2016

Cc: most...@opera.com
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 28 2016

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

commit 883b77ef9a872c84caef2356f6df7a8f2f193ee1
Author: thestig <thestig@chromium.org>
Date: Wed Sep 28 07:29:16 2016

Remove MTP support on Linux.

It never worked for users anyway since Linux does not have ChromeOS's
mtpd. It only worked for me on my Linux workstation to facilitate
development because I went through the trouble of building and setting
up mtpd.

BUG= 639863 

Review-Url: https://codereview.chromium.org/2358493002
Cr-Commit-Position: refs/heads/master@{#421467}

[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/BUILD.gn
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/mtp_device_delegate_impl_chromeos.cc
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/mtp_device_delegate_impl_chromeos.h
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/mtp_device_object_enumerator.cc
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/mtp_device_object_enumerator.h
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/mtp_device_object_enumerator_unittest.cc
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/mtp_device_task_helper.cc
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/mtp_device_task_helper.h
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/mtp_device_task_helper_map_service.cc
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/mtp_device_task_helper_map_service.h
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/mtp_read_file_worker.cc
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/mtp_read_file_worker.h
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/snapshot_file_details.cc
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/chromeos/snapshot_file_details.h
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/fileapi/media_file_system_backend.cc
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/fileapi/media_file_system_backend.h
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/browser/media_galleries/media_file_system_registry.cc
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/chrome/test/BUILD.gn
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/BUILD.gn
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/media_transfer_protocol_device_observer_chromeos.cc
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/media_transfer_protocol_device_observer_chromeos.h
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/media_transfer_protocol_device_observer_chromeos_unittest.cc
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/storage_monitor.h
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/storage_monitor_chromeos.cc
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/storage_monitor_chromeos.h
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/storage_monitor_chromeos_unittest.cc
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/storage_monitor_linux.cc
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/storage_monitor_linux.h
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/storage_monitor_linux_unittest.cc
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/test_media_transfer_protocol_manager_chromeos.cc
[rename] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/test_media_transfer_protocol_manager_chromeos.h
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/test_storage_monitor.cc
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/components/storage_monitor/test_storage_monitor.h
[modify] https://crrev.com/883b77ef9a872c84caef2356f6df7a8f2f193ee1/device/media_transfer_protocol/BUILD.gn

Cc: skyos...@chromium.org
Components: Internals>Headless
Thinking about this a bit more, build/args/headless.gn is really meant to be used for building headless targets, and not intended to be used with "build all". So we probably don't want to actually fix this. It will require a lot of work, and it is not obvious what one will gain from it.
Status: WontFix (was: Untriaged)
That's right, I don't expect we'll be able to make all build targets work in a sensible way in a headless build. We have a build bot that ensures the headless targets keep working: https://build.chromium.org/p/chromium.fyi/builders/Headless%20Linux%20%28dbg%29?numbuilds=200

I agree that we should probably just ignore this.

Sign in to add a comment