Bug#799939: chromium: does not build / is not available for armhf
Hi, On Fri, 22 Apr 2016, Michael Gilbert wrote: > I tested the experimental package on armhf, and it always crashed, so > I didn't include this in the latest upload. > > This will need to wait for a more reliable patch. Fair enough, it looks like the situation evolved and except for a tiny patch (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=799939#146), everything is upstream in chromium 51. Can you add armhf/arm64 support now? Thank you. -- Raphaël Hertzog ◈ Debian Developer Support Debian LTS: http://www.freexian.com/services/debian-lts.html Learn to master Debian: http://debian-handbook.info/get/
Bug#799939: chromium: does not build / is not available for armhf
control: reopen -1 I tested the experimental package on armhf, and it always crashed, so I didn't include this in the latest upload. This will need to wait for a more reliable patch. Best wishes, Mike
Bug#799939: chromium: does not build / is not available for armhf
Hi everybody, How about at least getting the armhf part in somewhere? I tried to build this thing myself once more but I keep getting weird compile errors so I'd love to see it build on one of the debian buildbots. br Josua Mayer 2015-10-25 3:25 GMT+01:00 Michael Gilbert: > On Wed, Oct 21, 2015 at 9:21 AM, Riku Voipio wrote: >> Hi, >> >> Here's cleaned up patch against pkg-chromium git. I've now briefly tested the >> built chromium runs on armhf hw and a bit more extensively on arm64 hw. >> >> Michael, how would you feel about sending at test build at experimental? > > These changes are larger than I would like. Please upstream them > first, especially the assembly changes to openmax. > > Best wishes, > Mike
Bug#799939: chromium: does not build / is not available for armhf
On Wed, Oct 21, 2015 at 9:21 AM, Riku Voipio wrote: > Hi, > > Here's cleaned up patch against pkg-chromium git. I've now briefly tested the > built chromium runs on armhf hw and a bit more extensively on arm64 hw. > > Michael, how would you feel about sending at test build at experimental? These changes are larger than I would like. Please upstream them first, especially the assembly changes to openmax. Best wishes, Mike
Bug#799939: chromium: does not build / is not available for armhf
Hi, Here's cleaned up patch against pkg-chromium git. I've now briefly tested the built chromium runs on armhf hw and a bit more extensively on arm64 hw. Michael, how would you feel about sending at test build at experimental? Riku >From 10a49f52d08b576e82613a90de4a7ec1e036f387 Mon Sep 17 00:00:00 2001 From: Riku VoipioDate: Wed, 21 Oct 2015 15:50:07 +0300 Subject: [PATCH] armhf and arm64 support Add support for building chromium on armhf and arm64 --- debian/control | 7 +- debian/patches/aarch64-fixes.patch | 42 + debian/patches/aarch64_openmax_clang.patch | 273 debian/patches/series | 3 + debian/patches/silence-clang-warnings.patch | 15 ++ debian/rules| 22 +++ debian/scripts/chromium | 26 ++- 7 files changed, 380 insertions(+), 8 deletions(-) create mode 100644 debian/patches/aarch64-fixes.patch create mode 100644 debian/patches/aarch64_openmax_clang.patch create mode 100644 debian/patches/silence-clang-warnings.patch diff --git a/debian/control b/debian/control index 5172532..b21442e 100644 --- a/debian/control +++ b/debian/control @@ -81,10 +81,11 @@ Build-Depends: libgcrypt20-dev, fonts-ipafont-gothic, fonts-ipafont-mincho, + binutils (>= 2.25.1-7.1) [armhf], Standards-Version: 3.9.6 Package: chromium -Architecture: i386 amd64 +Architecture: i386 amd64 armhf arm64 Built-Using: ${Built-Using} Depends: ${misc:Depends}, @@ -105,7 +106,7 @@ Description: web browser This package contains the web browser component. Package: chromium-dbg -Architecture: i386 amd64 +Architecture: i386 amd64 armhf arm64 Section: debug Priority: extra Built-Using: ${Built-Using} @@ -134,7 +135,7 @@ Description: web browser - language packs ro, ru, sk, sl, sr, sv, sw, ta, te, th, tr, uk, vi, zh-CN, zh-TW Package: chromedriver -Architecture: i386 amd64 +Architecture: i386 amd64 armhf arm64 Depends: ${misc:Depends}, ${shlibs:Depends}, diff --git a/debian/patches/aarch64-fixes.patch b/debian/patches/aarch64-fixes.patch new file mode 100644 index 000..cac330a --- /dev/null +++ b/debian/patches/aarch64-fixes.patch @@ -0,0 +1,42 @@ +Index: chromium-browser-46.0.2490.13/content/common/sandbox_linux/bpf_gpu_policy_linux.cc +=== +--- chromium-browser-46.0.2490.13.orig/content/common/sandbox_linux/bpf_gpu_policy_linux.cc chromium-browser-46.0.2490.13/content/common/sandbox_linux/bpf_gpu_policy_linux.cc +@@ -194,8 +194,11 @@ ResultExpr GpuBrokerProcessPolicy::Evalu + #if !defined(OS_CHROMEOS) + // The broker process needs to able to unlink the temporary + // files that it may create. This is used by DRI3. ++#if !defined(__aarch64__) + case __NR_unlink: +-#endif ++#endif // !defined(__aarch64__) ++case __NR_unlinkat: ++#endif // !defined(OS_CHROMEOS) + return Allow(); + default: + return GpuProcessPolicy::EvaluateSyscall(sysno); +Index: chromium-browser-46.0.2490.13/third_party/ffmpeg/ffmpeg.gyp +=== +--- chromium-browser-46.0.2490.13.orig/third_party/ffmpeg/ffmpeg.gyp chromium-browser-46.0.2490.13/third_party/ffmpeg/ffmpeg.gyp +@@ -267,7 +267,7 @@ + '-fno-omit-frame-pointer', + ], + }], # target_arch == "ia32" +-['target_arch == "arm"', { ++['target_arch == "arm" or target_arch =="arm64" ', { + # On arm we use gcc to compile the assembly. + 'sources': [ + '<@(asm_sources)', +Index: chromium-browser-46.0.2490.13/third_party/boringssl/boringssl.gyp +=== +--- chromium-browser-46.0.2490.13.orig/third_party/boringssl/boringssl.gyp chromium-browser-46.0.2490.13/third_party/boringssl/boringssl.gyp +@@ -40,6 +40,7 @@ + 'conditions': [ + ['OS == "linux" or OS == "android"', { + 'sources': [ '<@(boringssl_linux_aarch64_sources)' ], ++ 'cflags': [ '-march=armv8-a+crypto', ], + }, { + 'defines': [ 'OPENSSL_NO_ASM' ], + }], diff --git a/debian/patches/aarch64_openmax_clang.patch b/debian/patches/aarch64_openmax_clang.patch new file mode 100644 index 000..82ac45d --- /dev/null +++ b/debian/patches/aarch64_openmax_clang.patch @@ -0,0 +1,273 @@ +From 7f322e1714aca3d77f826a313bbbe106950ad67e Mon Sep 17 00:00:00 2001 +From: Riku Voipio +Date: Fri, 16 Oct 2015 16:29:58 +0300 +Subject: [PATCH] arm64: use correct syntax for FMUL + +While the current syntax is accepted by gcc, clang refuses it. According +to ARM ARM, it seems gcc is a bit too flexible, and clang is correct to +refuse it. +--- + third_party/openmax_dl/dl/sp/src/arm/arm64/ComplexToRealFixup.S | 2 +-
Bug#799939: chromium: does not build / is not available for armhf
Hi, I didn't notice these messages since I was on the CC list. > ../../media/base/audio_video_metadata_extractor.cc:116:17: error: use > of undeclared identifier 'avcodec_get_name'; did you mean > 'avcodec_get_type' You need ffmpeg packages backports. The libav in jessie is too old. I have now package down at: http://repo.linaro.org/ubuntu/linaro-staging/pool/main/c/chromium-browser/ Apart from the debian/chromium wrapper script, the arm64 build works great. Didn't test armhf build yet. debdiff attached. Commentary: - the clang -> clang-3.7 diff is probably unneeded now that clang-3.6 was fixed. - binutils is needed for: #801879 - openmax changes submitted to https://code.google.com/p/webrtc/issues/detail?id=5090 - gpu, ffmpeg, boringssl fixes not sent upstream yet diff -Nru chromium-browser-46.0.2490.13/debian/changelog chromium-browser-46.0.2490.13/debian/changelog --- chromium-browser-46.0.2490.13/debian/changelog 2015-09-05 20:45:44.0 +0300 +++ chromium-browser-46.0.2490.13/debian/changelog 2015-10-16 13:58:31.0 +0300 @@ -1,3 +1,11 @@ +chromium-browser (46.0.2490.13-1.1) UNRELEASED; urgency=medium + + * armhf and arm64 buildd + * build with clang-3.7 since older clangs are broken on armhf + * use gcc for build on arm64 since asm file fail to compile + + -- Riku VoipioFri, 25 Sep 2015 18:07:49 + + chromium-browser (46.0.2490.13-1) experimental; urgency=medium * New upstream beta release. diff -Nru chromium-browser-46.0.2490.13/debian/control chromium-browser-46.0.2490.13/debian/control --- chromium-browser-46.0.2490.13/debian/control 2015-09-05 20:44:49.0 +0300 +++ chromium-browser-46.0.2490.13/debian/control 2015-10-20 16:25:31.0 +0300 @@ -8,7 +8,8 @@ Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-chromium/pkg-chromium.git Homepage: http://www.chromium.org/Home Build-Depends: - clang (>= 3.5), + binutils (>= 2.25.1-7.1) [armhf], + clang-3.7, debhelper (>= 9), gyp, python3, @@ -85,7 +86,7 @@ Standards-Version: 3.9.6 Package: chromium -Architecture: i386 amd64 +Architecture: i386 amd64 armhf arm64 Built-Using: ${Built-Using} Depends: ${misc:Depends}, @@ -106,7 +107,7 @@ This package contains the web browser component. Package: chromium-dbg -Architecture: i386 amd64 +Architecture: i386 amd64 armhf arm64 Section: debug Priority: extra Built-Using: ${Built-Using} @@ -135,7 +136,7 @@ ro, ru, sk, sl, sr, sv, sw, ta, te, th, tr, uk, vi, zh-CN, zh-TW Package: chromedriver -Architecture: i386 amd64 +Architecture: i386 amd64 armhf arm64 Depends: ${misc:Depends}, ${shlibs:Depends}, diff -Nru chromium-browser-46.0.2490.13/debian/patches/0001-arm64-use-correct-syntax-for-FMUL.patch chromium-browser-46.0.2490.13/debian/patches/0001-arm64-use-correct-syntax-for-FMUL.patch --- chromium-browser-46.0.2490.13/debian/patches/0001-arm64-use-correct-syntax-for-FMUL.patch 1970-01-01 02:00:00.0 +0200 +++ chromium-browser-46.0.2490.13/debian/patches/0001-arm64-use-correct-syntax-for-FMUL.patch 2015-10-19 12:52:32.0 +0300 @@ -0,0 +1,273 @@ +From 7f322e1714aca3d77f826a313bbbe106950ad67e Mon Sep 17 00:00:00 2001 +From: Riku Voipio +Date: Fri, 16 Oct 2015 16:29:58 +0300 +Subject: [PATCH] arm64: use correct syntax for FMUL + +While the current syntax is accepted by gcc, clang refuses it. According +to ARM ARM, it seems gcc is a bit too flexible, and clang is correct to +refuse it. +--- + third_party/openmax_dl/dl/sp/src/arm/arm64/ComplexToRealFixup.S | 2 +- + .../armSP_FFTInv_CCSToR_F32_preTwiddleRadix2_s.S | 2 +- + third_party/openmax_dl/dl/sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix2_s.S | 17 + third_party/openmax_dl/dl/sp/src/arm/arm64/armSP_FFT_CToC_FC32_Radix4_s.S | 51 -- + .../arm/arm64/armSP_FFT_CToC_FC32_Radix8_fs_s.S| 16 +++ + 5 files changed, 46 insertions(+), 42 deletions(-) + +Index: chromium-browser-46.0.2490.13/third_party/openmax_dl/dl/sp/src/arm/arm64/ComplexToRealFixup.S +=== +--- chromium-browser-46.0.2490.13.orig/third_party/openmax_dl/dl/sp/src/arm/arm64/ComplexToRealFixup.S chromium-browser-46.0.2490.13/third_party/openmax_dl/dl/sp/src/arm/arm64/ComplexToRealFixup.S +@@ -93,7 +93,7 @@ + #define qT2 v18.2s + #define qT3 v20.2s + +-#define half v0.2s ++#define half v0.s + #define dZip v21.2s + #define dZip8bv21.8b + +@@ -106,7 +106,7 @@ + + clz order, subFFTNum// N = 2^order + +-RSB order,order,#63 ++rsb order,order,#63 + MOV subFFTSize,subFFTNum// subFFTSize = N/2 + //MOV subFFTNum,N + mov argDst, pDst +@@ -127,7 +127,7 @@ + MOV zero,#0 + movdX0rs[1],zero + lsl step,subFFTSize, #3 // step = N/2 * 8 bytes +-movdX0i[1],zero ++
Bug#799939: chromium: does not build / is not available for armhf
Small update: Apparently those weird errors I was getting have been related to teh toolchain. The update to Jessie 8.2 (from 8.1) of my build-system made it go away. Instead, I am now presented with a new message: ../../media/base/audio_video_metadata_extractor.cc:116:17: error: use of undeclared identifier 'avcodec_get_name'; did you mean 'avcodec_get_type' I dont think this will be hard to work around (just wondering if it has surfaced when Riku tried to build). 2015-10-13 21:57 GMT+02:00 Josua Mayer: > I tried to build with Riku's patch, but I end up with a build error > that says error: '_Complex __int128' is invalid > I don't have a clue where that message comes from. Perhaps somebody > else can try building it on 32-bit arm hardware? > > I attached my logfile in case anybody wants to have a peek. > > 2015-10-13 15:43 GMT+02:00 Riku Voipio : >> On Tue, Oct 13, 2015 at 11:48:04AM +0300, Riku Voipio wrote: >>> Notice it needs a fix to objcopy/strip in binutils to handle stripping a > >>> 2GB file. >>> I'm still working on cleaning up that patch. >> >> The patch for binutils as attached to the upstream bug: >> >> https://sourceware.org/bugzilla/show_bug.cgi?id=19123 >> >> And resulted packages at: >> >> https://people.debian.org/~riku/chromium/ >> >> Riku
Bug#799939: chromium: does not build / is not available for armhf
Hi, With the following patch I got chromium for armhf built. This was with arm64 machine in armhf chroot, so full 4G available. I assume for native armhf 3/1 memsplit is needed. Notice it needs a fix to objcopy/strip in binutils to handle stripping a > 2GB file. I'm still working on cleaning up that patch. Riku
Bug#799939: chromium: does not build / is not available for armhf
Hi, this time with the patch. Riku diff -Nru chromium-browser-46.0.2490.13/debian/changelog chromium-browser-46.0.2490.13/debian/changelog --- chromium-browser-46.0.2490.13/debian/changelog 2015-09-05 17:45:44.0 + +++ chromium-browser-46.0.2490.13/debian/changelog 2015-10-13 08:26:24.0 + @@ -1,3 +1,9 @@ +chromium-browser (46.0.2490.13-1.1) UNRELEASED; urgency=medium + + * armhf build + + -- Riku VoipioFri, 25 Sep 2015 18:07:49 + + chromium-browser (46.0.2490.13-1) experimental; urgency=medium * New upstream beta release. diff -Nru chromium-browser-46.0.2490.13/debian/control chromium-browser-46.0.2490.13/debian/control --- chromium-browser-46.0.2490.13/debian/control 2015-09-05 17:44:49.0 + +++ chromium-browser-46.0.2490.13/debian/control 2015-09-25 18:09:09.0 + @@ -85,7 +85,7 @@ Standards-Version: 3.9.6 Package: chromium -Architecture: i386 amd64 +Architecture: i386 amd64 armhf arm64 Built-Using: ${Built-Using} Depends: ${misc:Depends}, @@ -106,7 +106,7 @@ This package contains the web browser component. Package: chromium-dbg -Architecture: i386 amd64 +Architecture: i386 amd64 armhf arm64 Section: debug Priority: extra Built-Using: ${Built-Using} @@ -135,7 +135,7 @@ ro, ru, sk, sl, sr, sv, sw, ta, te, th, tr, uk, vi, zh-CN, zh-TW Package: chromedriver -Architecture: i386 amd64 +Architecture: i386 amd64 armhf arm64 Depends: ${misc:Depends}, ${shlibs:Depends}, diff -Nru chromium-browser-46.0.2490.13/debian/patches/fix-clang-wanring chromium-browser-46.0.2490.13/debian/patches/fix-clang-wanring --- chromium-browser-46.0.2490.13/debian/patches/fix-clang-wanring 1970-01-01 00:00:00.0 + +++ chromium-browser-46.0.2490.13/debian/patches/fix-clang-wanring 2015-10-12 11:36:56.0 + @@ -0,0 +1,17 @@ +Index: chromium-browser-46.0.2490.13/build/common.gypi +=== +--- chromium-browser-46.0.2490.13.orig/build/common.gypi chromium-browser-46.0.2490.13/build/common.gypi +@@ -2643,10 +2643,10 @@ + '-Wno-deprecated-register', + + # TODO(hans): Get this cleaned up, http://crbug.com/428099 +-'-Wno-inconsistent-missing-override', ++#'-Wno-inconsistent-missing-override', + + # TODO(thakis): Enable this, crbug.com/507717 +-'-Wno-shift-negative-value', ++#'-Wno-shift-negative-value', + ], + }, + 'includes': [ 'set_clang_warning_flags.gypi', ], diff -Nru chromium-browser-46.0.2490.13/debian/patches/series chromium-browser-46.0.2490.13/debian/patches/series --- chromium-browser-46.0.2490.13/debian/patches/series 2015-09-06 04:49:58.0 + +++ chromium-browser-46.0.2490.13/debian/patches/series 2015-10-12 11:35:58.0 + @@ -15,3 +15,4 @@ system/clang.patch system/ffmpeg.patch fix.patch +fix-clang-wanring diff -Nru chromium-browser-46.0.2490.13/debian/rules chromium-browser-46.0.2490.13/debian/rules --- chromium-browser-46.0.2490.13/debian/rules 2015-09-05 17:44:49.0 + +++ chromium-browser-46.0.2490.13/debian/rules 2015-10-13 07:33:07.0 + @@ -6,6 +6,8 @@ # enable all build hardening flags export DEB_BUILD_MAINT_OPTIONS=hardening=+all +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) + # linker flags to avoid memory allocation issues on i386 export LDFLAGS+=-Wl,--no-keep-memory -Wl,--reduce-memory-overheads -Wl,--hash-size=7919 @@ -15,6 +17,24 @@ # treat all warnings as errors defines=werror= +ifeq (armhf,$(DEB_HOST_ARCH)) +# non-NEON armv7 machines are rare and the benifit of NEON is major. Autodetection +# didn't compile, so I suggest we enable NEON for the benefit of vast majority +# use arm_use_neon=1 and arm_fpu=neon for speed +defines += \ +sysroot= \ +arm_neon=1 \ +arm_use_neon=1 \ +use_cups=1 \ +v8_use_arm_eabi_hardfloat=true \ +arm_fpu=neon \ +arm_float_abi=hard \ +arm_thumb=1 \ +armv7=1 \ +remove_webcore_debug_symbols=1 \ +arm_version=7 +endif + # use clang instead of gcc defines+=clang=1 defines+=clang_use_chrome_plugins= @@ -134,8 +153,9 @@ override_dh_fixperms: dh_fixperms --exclude chrome-sandbox +# readelf oom override_dh_strip: - dh_strip --dbg-package chromium-dbg + dh_strip -v --dbg-package chromium-dbg override_dh_gencontrol: dh_gencontrol -- -VBuilt-Using="$(shell dpkg-query -f '$${source:Package} (= $${source:Version}), ' -W libjs-jquery libjs-jquery-flot)"
Bug#799939: chromium: does not build / is not available for armhf
On Tue, Oct 13, 2015 at 11:48:04AM +0300, Riku Voipio wrote: > Notice it needs a fix to objcopy/strip in binutils to handle stripping a > > 2GB file. > I'm still working on cleaning up that patch. The patch for binutils as attached to the upstream bug: https://sourceware.org/bugzilla/show_bug.cgi?id=19123 And resulted packages at: https://people.debian.org/~riku/chromium/ Riku
Bug#799939: chromium: does not build / is not available for armhf
Sadly I did not manage to produce any successful build yet. Instead I am reliably running into this bug: https://code.google.com/p/chromium/issues/detail?id=508897 So now I am retrying with this patchset: https://codereview.chromium.org/1236863006/#ps160001 Hopefully it works; attaching the patch jsut in case somebody else wants to give building a try. --- a/chrome/browser/ui/views/profiles/profile_chooser_view.cc +++ b/chrome/browser/ui/views/profiles/profile_chooser_view.cc @@ -50,6 +50,7 @@ #include "ui/gfx/path.h" #include "ui/gfx/skia_util.h" #include "ui/gfx/text_elider.h" +#include "ui/gfx/vector_icons_public.h" #include "ui/native_theme/native_theme.h" #include "ui/views/controls/button/blue_button.h" #include "ui/views/controls/button/image_button.h" --- a/chrome/chrome_browser_ui.gypi +++ b/chrome/chrome_browser_ui.gypi @@ -2921,6 +2921,9 @@ }], ['OS!="mac"', { 'sources': [ '<@(chrome_browser_ui_views_non_mac_sources)' ], + 'dependencies': [ +'../ui/gfx/gfx.gyp:gfx_vector_icons', + ], 'conditions': [ ['enable_extensions==1', { 'sources': [ '<@(chrome_browser_ui_views_extensions_non_mac_sources)' ], --- a/ui/gfx/gfx.gyp +++ b/ui/gfx/gfx.gyp @@ -408,41 +408,6 @@ 'text_utils_skia.cc', ], }, { # desktop platforms - 'variables': { -'vector_icons_cc_file': '<(INTERMEDIATE_DIR)/ui/gfx/vector_icons.cc', -'vector_icons_public_h_file': '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/vector_icons_public.h', - }, - 'include_dirs': [ -'<(SHARED_INTERMEDIATE_DIR)', - ], - 'sources': [ -'<(vector_icons_cc_file)', -'<(vector_icons_public_h_file)', - -'paint_vector_icon.cc', -'paint_vector_icon.h', -'vector_icons.h', - ], - 'actions': [ -{ - # GN version: //ui/gfx:aggregate_vector_icons - 'action_name': 'aggregate_vector_icons', - 'inputs': [ -'vector_icons/', - ], - 'outputs': [ -'<(vector_icons_cc_file)', -'<(vector_icons_public_h_file)', - ], - 'action': [ 'python', - 'vector_icons/aggregate_vector_icons.py', - '--working_directory=vector_icons/', - '--output_cc=<(vector_icons_cc_file)', - '--output_h=<(vector_icons_public_h_file)', - ], - 'message': 'Aggregating vector resources.', -}, - ], }], ['use_x11==1', { 'dependencies': [ @@ -472,6 +437,55 @@ }], ], }, +# Separate from gfx to limit the impact of the hard_dependency. +{ + 'target_name': 'gfx_vector_icons', + 'type': '<(component)', + 'dependencies': [ +'<(DEPTH)/base/base.gyp:base', +'<(DEPTH)/skia/skia.gyp:skia', +'gfx', +'gfx_geometry', + ], + 'defines': [ +'GFX_IMPLEMENTATION', + ], + 'sources': [ +'paint_vector_icon.cc', +'paint_vector_icon.h', +'vector_icons.h', + ], + 'variables': { +'vector_icons_cc_file': '<(INTERMEDIATE_DIR)/ui/gfx/vector_icons.cc', +'vector_icons_public_h_file': '<(SHARED_INTERMEDIATE_DIR)/ui/gfx/vector_icons_public.h', + }, + 'include_dirs': [ +'<(SHARED_INTERMEDIATE_DIR)', + ], + 'actions': [ +{ + # GN version: //ui/gfx:aggregate_vector_icons + 'action_name': 'aggregate_vector_icons', + 'inputs': [ +'vector_icons/', + ], + 'outputs': [ +'<(vector_icons_cc_file)', +'<(vector_icons_public_h_file)', + ], + 'action': [ 'python', + 'vector_icons/aggregate_vector_icons.py', + '--working_directory=vector_icons/', + '--output_cc=<(vector_icons_cc_file)', + '--output_h=<(vector_icons_public_h_file)', + ], + 'message': 'Aggregating vector resources.', + 'process_outputs_as_sources': 1, +}, + ], + # Export a hard dependency because of generated header files. + 'hard_dependency': 1, +}, { 'target_name': 'gfx_test_support', 'type': 'static_library', --- a/ui/views/controls/image_view.cc +++ b/ui/views/controls/image_view.cc @@ -11,6 +11,7 @@ #include "ui/gfx/canvas.h" #include "ui/gfx/geometry/insets.h" #include "ui/gfx/paint_vector_icon.h" +#include "ui/gfx/vector_icons_public.h" #include "ui/views/painter.h" namespace views { --- a/ui/views/controls/image_view.h +++ b/ui/views/controls/image_view.h @@ -7,11 +7,11 @@ #include
Bug#799939: chromium: does not build / is not available for armhf
Please find the patch for armhf attached. As of now it is still untested, as my buildbot is still busy building. It should work for armel too, but I did not enable that in control yet. diff -Naur chromium-browser-45.0.2454.85.orig/debian/control chromium-browser-45.0.2454.85/debian/control --- chromium-browser-45.0.2454.85.orig/debian/control 2015-06-26 22:50:40.0 +0200 +++ chromium-browser-45.0.2454.85/debian/control 2015-09-24 16:07:46.665797443 +0200 @@ -86,7 +86,7 @@ Standards-Version: 3.9.6 Package: chromium -Architecture: i386 amd64 +Architecture: i386 amd64 armhf Depends: ${misc:Depends}, ${shlibs:Depends}, @@ -105,7 +105,7 @@ This package contains the web browser component. Package: chromium-dbg -Architecture: i386 amd64 +Architecture: i386 amd64 armhf Section: debug Priority: extra Depends: @@ -149,7 +149,7 @@ elements of a web page at runtime (HTML, JavaScript, CSS, etc.). Package: chromedriver -Architecture: i386 amd64 +Architecture: i386 amd64 armhf Depends: ${misc:Depends}, ${shlibs:Depends}, diff -Naur chromium-browser-45.0.2454.85.orig/debian/rules chromium-browser-45.0.2454.85/debian/rules --- chromium-browser-45.0.2454.85.orig/debian/rules 2015-04-19 20:30:39.0 +0200 +++ chromium-browser-45.0.2454.85/debian/rules 2015-09-24 16:22:44.81704 +0200 @@ -81,6 +81,15 @@ # can't use system nss since net/third_party/nss is heavily patched # can't use system ots (open text *summarizer*) since that's not google's ots (open text *sanitizer*) +# on armhf we need to tell gyp that this is a hardfloat system +# chromium defaults to soft, so there is nothing to do when targeting armel +ifeq (armhf,$(shell dpkg-architecture -qDEB_HOST_ARCH)) +defines+=arm_float_abi=hard +endif + +# don't use a sysroot for build, ever. (when targeting arm, gyp default to yes) +defines+=sysroot= + # make gyp a little more informative options+=--check \ --debug=includes \
Bug#799939: chromium: does not build / is not available for armhf
Same applies to arm64. FWIW, Chromium is available on Ubuntu. If you've got some patches to test, I can try on devices for both armhf and arm64.
Bug#799939: chromium: does not build / is not available for armhf
For armhf: make sure you use a 4GB builder, (locally i've been using the igepv5_4gb for beagleboard.org jessie image's) ubuntu's chromium-44.0.2403.89-0ubuntu1.1195 builds fine in an sbuild for jessie, with this fstab addition: tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 Regards, -- Robert Nelson https://rcn-ee.com/
Bug#799939: chromium: does not build / is not available for armhf
Package: chromium Version: 45.0.2454.85-1~deb8u1 Severity: wishlist Dear Maintainer, While chromium itself works fine on ARM, as proven by the ChromeBooks, it is not available on Debian armhf (nor armel). There are 2 things required to get this working: a) add armhf to control for all those packages that are currently only built for i386 and amd64 b) enable a few special gyp defines in rules Both of these aren't hard, and I intend to provide a minimal patch for that as soon as I have a working build. Just reporting thos on a amd64 machine; but of course it affects armhf. -- System Information: Debian Release: 8.2 APT prefers stable APT policy: (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 3.16.7-24-desktop (SMP w/4 CPU cores; PREEMPT) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/dash Init: unable to detect