Update CrOS HarfBuzz to >= 1.4.2 |
|||||||||||
Issue descriptionRequired for issue 669453 , OpenType variations, since the axis parametrization functions in HarfBuzz are starting to be available only from that version. Jungshik, could you help with this? Thank you.
,
Feb 27 2017
,
Feb 27 2017
Please jump to 1.4.3
,
Mar 7 2017
It's updated to 1.4.2 before you filed this bug on Feb 25 :-) https://chromium-review.googlesource.com/c/444323/ I saw 1.4.3 released since. Can go up one more time.
,
Mar 7 2017
,
Mar 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ed7d4f727ec41f735788d6096dbe4b45f7f54279 commit ed7d4f727ec41f735788d6096dbe4b45f7f54279 Author: drott <drott@chromium.org> Date: Tue Mar 28 16:58:06 2017 Remove HarfBuzz version specific compile conditional BUG= 696570 TBR=jshin Review-Url: https://codereview.chromium.org/2735233004 Cr-Commit-Position: refs/heads/master@{#460137} [modify] https://crrev.com/ed7d4f727ec41f735788d6096dbe4b45f7f54279/third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp
,
Mar 30 2017
This caused build failure on my environment. I'm using sdk veyron_speedy R59-9403.0.0. How can I fix this?
CXX obj/third_party/WebKi...ource/platform/platform/HarfBuzzFace.o
FAILED: obj/third_party/WebKit/Source/platform/platform/HarfBuzzFace.o
/usr/local/google/home/bashi/chromium/.cros_cache/common/goma+2/gomacc armv7a-cros-linux-gnueabi-g++ -B/usr/local/google/home/bashi/chromium/.cros_cache/chrome-
sdk/tarballs/veyron_speedy+9186.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/arm
v7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold -MMD -MF obj/third_party/WebKit
/Source/platform/platform/HarfBuzzFace.o.d -DBLINK_PLATFORM_IMPLEMENTATION=1 -DINSIDE_BLINK -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_ASH=1 -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSI
NG_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONS
TANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DOS_CHROMEOS -DNDEBUG -D
NVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DUSE_EGL -DSK_IGNORE_LINEONLY_AA_CONV
EX_PATH_OPTS -DSK_SUPPORT_GPU=1 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DENABLE_LAYOUT_UNIT_IN_INLINE_BOXES=0 -DENABLE
_OILPAN=1 -DWTF_USE_CONCATENATED_IMPULSE_RESPONSES=1 -DWTF_USE_WEBAUDIO_FFMPEG=1
-DWTF_USE_DEFAULT_RENDER_THEME=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0
-DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUSE_LIBJPEG_TURBO=1 -Igen/blink -I../../third_party/ffmpeg -I../.. -Igen -I../../third_party
/WebKit/Source/platform -I../../third_party/WebKit/Source -I../../third_party/WebKit -Igen/blink -Igen/third_party/WebKit -I../../third_party/khronos -I../../gp
u -I../../third_party/libwebp -I../../skia/config -I../../skia/ext -I../../third
_party/skia/include/c -I../../third_party/skia/include/config -I../../third_part
y/skia/include/core -I../../third_party/skia/include/effects -I../../third_party
/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/s
kia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/ski
a/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/i
nclude/utils -I../../third_party/skia/include/gpu -I../../third_party/skia/src/g
pu -I../../third_party/skia/src/sksl -I../../third_party/libwebm/source -I../../
third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../
../third_party/boringssl/src/include -I/usr/local/google/home/bashi/chromium/.cr
os_cache/chrome-sdk/tarballs/veyron_speedy+9186.0.0+sysroot_chromeos-base_chrome
os-chrome.tar.xz/usr/include/nss -I/usr/local/google/home/bashi/chromium/.cros_c
ache/chrome-sdk/tarballs/veyron_speedy+9186.0.0+sysroot_chromeos-base_chromeos-c
hrome.tar.xz/usr/include/nspr -I../../third_party/icu/source/common -I../../thir
d_party/icu/source/i18n -I../../third_party/libjpeg_turbo -I../../third_party/ic
cjpeg -I../../third_party/libpng -I../../third_party/zlib -I../../third_party/ot
s/include -I../../v8/include -Igen/v8/include -I../../third_party/ced/src -I/usr
/local/google/home/bashi/chromium/.cros_cache/chrome-sdk/tarballs/veyron_speedy+
9186.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz/usr/include/harfbuzz -I/us
r/local/google/home/bashi/chromium/.cros_cache/chrome-sdk/tarballs/veyron_speedy
+9186.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz/usr/include/glib-2.0 -I/u
sr/local/google/home/bashi/chromium/.cros_cache/chrome-sdk/tarballs/veyron_speed
y+9186.0.0+sysroot_chromeos-base_chromeos-chrome.tar.xz/usr/lib/glib-2.0/include
-I../../third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon -I../../thir
d_party/ffmpeg -fno-strict-aliasing -Wno-builtin-macro-redefined -D__DATE__= -D_
_TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -B../../third_party/binuti
ls/Linux_x64/Release/bin -march=armv7ve -mfloat-abi=hard -mtune=generic-armv7-a
-pthread -mfpu=neon -mthumb -Wall -Werror -Wno-psabi -Wno-unused-local-typedefs
-Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -
O2 -fno-ident -fdata-sections -ffunction-sections -g2 -gsplit-dwarf --sysroot=..
/../../.cros_cache/chrome-sdk/tarballs/veyron_speedy+9186.0.0+sysroot_chromeos-b
ase_chromeos-chrome.tar.xz -fvisibility=hidden -fvisibility-inlines-hidden -std=
gnu++11 -Wno-narrowing -Wno-literal-suffix -fno-rtti -fno-exceptions -pipe -mcpu
=cortex-a12 -mtune=cortex-a12 -mfpu=neon -mfloat-abi=hard -D__google_stl_debug_v
ector=1 -c ../../third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.c
pp -o obj/third_party/WebKit/Source/platform/platform/HarfBuzzFace.o
../../third_party/WebKit/Source/platform/fonts/shaping/HarfBuzzFace.cpp:385:27:
error: 'hb_variation_t' was not declared in this scope
decltype(hb_variation_t::tag)>::value &&
,
Mar 30 2017
Any chance you can rebase/update your dependencies? I think CrOS master has the right HarfBuzz now. As a temporary solution, you can put the version specific #ifdef's in place again, but we cannot generally not work with older versions of HarfBuzz. Usually every roll means a bug fix or improvement.
,
Mar 30 2017
same errors here.
,
Mar 30 2017
reverse this patch fixed the problem.
,
Apr 11 2017
drott@: Thanks for the reply and sorry for late response but how can I rebase/update? My workflow is: $ git rebase-update && gclient sync $ cros chrome-sdk --board=veyron_speedy $ ninja -C out/Release chrome This should update my environment and I'm currently on R59-9428.0.0 (was R59-9403.0.0) but the issue still exists. I have been used custom #ifdef's as you suggested but after today's rebase the workaround doesn't work for some reason (my device hangs). Probably this is an issue of ChromeOS build environment update? I'd really appreciate if someone (jshin@ ?) can address this issue.
,
Apr 11 2017
Unfortunately, I am not very familiar with dependency management on ChromeOS, jshin@ knows more. Where can we look up the .emerge files for R59-9428? Can you check there what HarfBuzz version is built for his system image? If it's not >= 1.4.2, this should be backported from master. I don't really know how you would get hangs from this issue though. It either builds, or it doesn't. And if there are symbol availability issues at runtime, I would not expect Chrome to start up at all, it would crash at startup with missing symbols.
,
Apr 11 2017
I'm not very familiar with ChromeOS too :( I have no idea where .emerge files are. Probably I should wait for jshin@ for his advice. As for hangs it seems the root cause doesn't relate to this. Thanks for the clarification!
,
Apr 11 2017
nya@ helped me to investigate the problem and he pointed out we need to run following command when I update sdk: $ gn gen out_$SDK_BOARD/Release --args="$GN_ARGS" This solved the problem.
,
Apr 11 2017
When do we no longer have to use a manual revert commit in order to build? I just synced my Chrome source and chrome-sdk (9428.0.0) and I still need to keep the revert commit on top of my checkout.
,
Apr 12 2017
#15 Did you run `gn gen` as described in https://www.chromium.org/chromium-os/how-tos-and-troubleshooting/building-chromium-browser#TOC-Additional-instructions ? This should update your dependencies.
,
Apr 19 2017
Thanks. This line in the link #16 is very important: "However, if you exit the session or sync/update chrome the $GN_ARGS might change and you need to 'gn gen' again." Do we know how exactly run `gn gen` resolve the dependencies issue? Which flag was affected in args.gn?
,
Apr 20 2017
If you look at out/Release/args.gn you will see some build flags are updated. For example, cros_target_cxx = "armv7a-cros-linux-gnueabi-clang++ -B/work/chromium/.cros_cache/chrome-sdk/tarballs/veyron_speedy+9428.0.0+target_toolchain/usr/x86_64-pc-linux-gnu/armv7a-cros-linux-gnueabi/binutils-bin/2.25.51-gold -Wno-unknown-warning-option" The toolchain path is important.
,
Apr 20 2017
Thanks for helping with this issue, bashi@.
,
May 30 2017
,
Aug 1 2017
,
Jan 22 2018
|
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by drott@chromium.org
, Feb 27 2017