Today, I got this error when starting chromium: $ chrome ld-elf.so.1: /usr/local/share/chromium/chrome: Undefined symbol "hb_subset_input_set_retain_gids" Haven't tried downgrading yet, but very likely related to the update of print/harfbuzz from 2.9.1 to 3.0.0. Rebuilding chromium fails with this error: FAILED: obj/skia/skia/SkPDFSubsetFont.o c++ -MMD -MF obj/skia/skia/SkPDFSubsetFont.o.d -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"llvmorg-13-init-10392-gd3676d4b-2\" -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_CODEC_DECODES_PNG -DSK_CODEC_DE CODES_WEBP -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_GL -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_HAS_WUFFS_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_USE_PLATFORM_XCB_KHR -DSKIA_IMPLEMENTATION=1 -DSK_GAMMA_EXPON ENT=1.2 -DSK_GAMMA_CONTRAST=0.2 -DSK_DEFAULT_FONT_CACHE_LIMIT=20971520 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -DUSE_SYSTEM_LIBJPEG -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Igen -I../../third_party/skia -I../.. /third_party/wuffs/src/release/c -I../../third_party/vulkan/include -I../../third_party/vulkan-deps/vulkan-headers/src/include -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen/shim_headers/libpng_shim -Igen/shim_headers/libwebp_shim -I../../third_party/abseil-cpp -I../../third_party/boringssl/src/include -I../../third_party/protobuf/src -Igen/protoc_ out -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/zlib -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -m64 -march=x86-64 -msse3 -Xclang -fdebug-compilation-dir -Xclang . -no-canonical-prefixes -fn o-omit-frame-pointer -g0 -fvisibility=hidden -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-ignored-pragma-optimize -Wno-implicit-int-float-conversion -Wno-final-dtor-non-final-class -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-thread-safety-analysis -Wno-thread-safety-a ttributes -O2 -fdata-sections -ffunction-sections -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include -DPROTOBUF_ALLOW_DEPRECATED=1 -I/usr/local/include/libpng16 -I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/include/harfbuzz -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -std=c++14 -fno-trig raphs -Wno-trigraphs -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -std=c++17 -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include -c ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp -o obj/skia/skia/SkPDFSubsetFont.o ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:74:5: error: use of undeclared identifier 'hb_subset_input_set_retain_gids'; did you mean 'hb_subset_input_set_flags'? hb_subset_input_set_retain_gids(input.get(), true); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hb_subset_input_set_flags /usr/local/include/harfbuzz/hb-subset.h:142:1: note: 'hb_subset_input_set_flags' declared here hb_subset_input_set_flags (hb_subset_input_t *input, ^ ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:77:5: error: use of undeclared identifier 'hb_subset_input_set_drop_hints' hb_subset_input_set_drop_hints(input.get(), false); ^ ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:78:19: error: use of undeclared identifier 'hb_subset'; did you mean 'hb_set_set'? HBFace subset(hb_subset(face.get(), input.get())); ^~~~~~~~~ hb_set_set /usr/local/include/harfbuzz/hb-set.h:131:1: note: 'hb_set_set' declared here hb_set_set (hb_set_t *set, ^ ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:78:29: error: cannot initialize a parameter of type 'hb_set_t *' with an rvalue of type 'std::__1::unique_ptr<hb_face_t, SkFunctionWrapper<void (hb_face_t *), &hb_face_destroy>>::pointer' (aka 'hb_face_t *') HBFace subset(hb_subset(face.get(), input.get())); ^~~~~~~~~~ /usr/local/include/harfbuzz/hb-set.h:131:29: note: passing argument to parameter 'set' here hb_set_set (hb_set_t *set, ^ 4 errors generated.
Sorry, I've missed the removed APIs and assumed www/chromium would build fine like www/qt5-webengine. Dropping use_system_harfbuzz=true can be a workaround but Arch Linux appears to have a fix. I'll try test and land before the next package build. http://www.ipv6proxy.net/go.php?u=http://beefy16.nyi.freebsd.org/data/130amd64-default/724df9e52627/logs/errors/chromium-92.0.4515.159_1.log http://www.ipv6proxy.net/go.php?u=http://beefy16.nyi.freebsd.org/data/130amd64-default/724df9e52627/logs/errors/electron12-12.0.9_1.log https://source.chromium.org/search?q=hb_subset_input_set_retain_gids https://github.com/harfbuzz/harfbuzz/commit/d700646c33af https://github.com/archlinux/svntogit-packages/commit/b801b21ca112 https://github.com/archlinux/svntogit-community/commit/bab8ce63e17e
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=17218fbbe7992e766373e403fc91b8a6eaa8468f commit 17218fbbe7992e766373e403fc91b8a6eaa8468f Author: Jan Beich <jbeich@FreeBSD.org> AuthorDate: 2021-09-18 17:23:51 +0000 Commit: Jan Beich <jbeich@FreeBSD.org> CommitDate: 2021-09-18 21:31:34 +0000 www/chromium: unbreak after dbc5f433f858 ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:74:5: error: use of undeclared identifier 'hb_subset_input_set_retain_gids'; did you mean 'hb_subset_input_set_flags'? hb_subset_input_set_retain_gids(input.get(), true); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hb_subset_input_set_flags /usr/local/include/harfbuzz/hb-subset.h:142:1: note: 'hb_subset_input_set_flags' declared here hb_subset_input_set_flags (hb_subset_input_t *input, ^ ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:77:5: error: use of undeclared identifier 'hb_subset_input_set_drop_hints' hb_subset_input_set_drop_hints(input.get(), false); ^ ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:78:19: error: use of undeclared identifier 'hb_subset'; did you mean 'hb_set_set'? HBFace subset(hb_subset(face.get(), input.get())); ^~~~~~~~~ hb_set_set /usr/local/include/harfbuzz/hb-set.h:131:1: note: 'hb_set_set' declared here hb_set_set (hb_set_t *set, ^ ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:78:29: error: cannot initialize a parameter of type 'hb_set_t *' with an rvalue of type 'std::__1::unique_ptr<hb_face_t, SkFunctionWrapper<void (hb_face_t *), &hb_face_destroy>>::pointer' (aka 'hb_face_t *') HBFace subset(hb_subset(face.get(), input.get())); ^~~~~~~~~~ /usr/local/include/harfbuzz/hb-set.h:131:29: note: passing argument to parameter 'set' here hb_set_set (hb_set_t *set, ^ PR: 258576 Reported by: pkg-fallout, Stefan Ehmann Obtained from: Arch Linux www/chromium/Makefile | 2 +- www/chromium/files/patch-harfbuzz-3.0.0 (new) | 98 +++++++++++++++++++++++++++ 2 files changed, 99 insertions(+), 1 deletion(-)
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=3e693f24a78f51cbb7daf258bd727961b3bec046 commit 3e693f24a78f51cbb7daf258bd727961b3bec046 Author: Jan Beich <jbeich@FreeBSD.org> AuthorDate: 2021-09-18 17:23:51 +0000 Commit: Jan Beich <jbeich@FreeBSD.org> CommitDate: 2021-09-18 22:04:57 +0000 devel/electron12: unbreak after dbc5f433f858 ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:74:5: error: use of undeclared identifier 'hb_subset_input_set_retain_gids'; did you mean 'hb_subset_input_set_flags'? hb_subset_input_set_retain_gids(input.get(), true); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hb_subset_input_set_flags /usr/local/include/harfbuzz/hb-subset.h:142:1: note: 'hb_subset_input_set_flags' declared here hb_subset_input_set_flags (hb_subset_input_t *input, ^ ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:77:5: error: use of undeclared identifier 'hb_subset_input_set_drop_hints' hb_subset_input_set_drop_hints(input.get(), false); ^ ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:78:19: error: use of undeclared identifier 'hb_subset'; did you mean 'hb_set_set'? HBFace subset(hb_subset(face.get(), input.get())); ^~~~~~~~~ hb_set_set /usr/local/include/harfbuzz/hb-set.h:131:1: note: 'hb_set_set' declared here hb_set_set (hb_set_t *set, ^ ../../third_party/skia/src/pdf/SkPDFSubsetFont.cpp:78:29: error: cannot initialize a parameter of type 'hb_set_t *' with an rvalue of type 'std::__1::unique_ptr<hb_face_t, SkFunctionWrapper<void (hb_face_t *), &hb_face_destroy>>::pointer' (aka 'hb_face_t *') HBFace subset(hb_subset(face.get(), input.get())); ^~~~~~~~~~ /usr/local/include/harfbuzz/hb-set.h:131:29: note: passing argument to parameter 'set' here hb_set_set (hb_set_t *set, ^ PR: 258576 Reported by: pkg-fallout Obtained from: Arch Linux devel/electron12/Makefile | 2 +- devel/electron12/files/patch-harfbuzz-3.0.0 (new) | 98 +++++++++++++++++++++++ 2 files changed, 99 insertions(+), 1 deletion(-)
http://beefy16.nyi.freebsd.org/build.html?mastername=130amd64-default&build=724df9e52627 didn't finish before Sunday 01:00 UTC, so "chromium" package from /latest maybe missing from Sunday till Wednesday. Given ABI is compatible outside of deprecated functions removal the following may help: # mkdir -p /usr/local/etc/pkg/repos # printf 'cache: {\n url: "file:///var/cache/pkg",\n enabled: yes\n}\n' >/usr/local/etc/pkg/repos/cache.conf # pkg repo /var/cache/pkg # pkg upgrade -qy -fr cache harfbuzz harfbuzz-icu # pkg lock -qy chromium electron12 scribus-devel # echo pkg unlock -qy chromium electron12 scribus-devel | at 20:00 Wednesday
Can you commit patches for www/chromium: Bug258271 (please choose v2 patch) for devel/electron12: Bug257378 please? devel/electron12 needs equivalent change with Bug257352 for main and stable/13, already committed as git 9e6695a71d64d995e6619497626c0a780397b7c9 [1] for www/chromium. I just uploaded merged ([1] and Bug258271) patch to Bug257378. (I myself cannot test due to dependency collision, but previous, equivalent to Bug257352, patch is reported to build fine.) [1] https://cgit.FreeBSD.org/ports/commit/?id=9e6695a71d64d995e6619497626c0a780397b7c9
(In reply to Tomoaki AOKI from comment #5) I'm neither familar (to review) nor use this port (to QA). It takes too much time[1] (at least 4 hours) to test on my hardware, blocking work on other ports. The work here is complete (waiting for confirmation), so it's too late to bundle other changes in order to test together. [1] Chromium used to support https://en.wikipedia.org/wiki/Unity_build similar to Firefox but removed later, see https://groups.google.com/a/chromium.org/g/chromium-dev/c/DP9TQszzQLI/m/pZ7aC8GbDAAJ ccache wouldn't help with initial or infrequent builds (e.g., old cache is useless after a major update). It also requires fast storage and tons of space to accomodate multiple release/architectures and multiple ports. Each of those would probably want a separate CCACHE_DIR. I don't use ccache myself in order to reduce SSD wear and avoid ccache-specific issues.
pkg.freebsd.org already offers chromium-92.0.4515.159_2 for 14.0 but not 11.4/13.0. Usually, rsync to mirrors doesn't take more than 1 or 2 hours. http://www.ipv6proxy.net/go.php?u=http://beefy9.nyi.freebsd.org/data/114amd64-default/df04190969ea/logs/chromium-92.0.4515.159_2.log http://www.ipv6proxy.net/go.php?u=http://beefy9.nyi.freebsd.org/data/114amd64-default/df04190969ea/logs/errors/electron12-12.0.9_2.log (Killing timed out build after 122400 seconds) http://www.ipv6proxy.net/go.php?u=http://beefy6.nyi.freebsd.org/data/122amd64-default/df04190969ea/logs/errors/chromium-92.0.4515.159_2.log (Killing timed out build after 122400 seconds) http://www.ipv6proxy.net/go.php?u=http://beefy6.nyi.freebsd.org/data/122amd64-default/df04190969ea/logs/errors/electron12-12.0.9_2.log (Killing timed out build after 122400 seconds) http://www.ipv6proxy.net/go.php?u=http://beefy16.nyi.freebsd.org/data/130amd64-default/df04190969ea/logs/chromium-92.0.4515.159_2.log http://www.ipv6proxy.net/go.php?u=http://beefy16.nyi.freebsd.org/data/130amd64-default/df04190969ea/logs/electron12-12.0.9_2.log http://www.ipv6proxy.net/go.php?u=http://beefy18.nyi.freebsd.org/data/main-amd64-default/pdf04190969ea_s53cce2e744/logs/chromium-92.0.4515.159_2.log http://www.ipv6proxy.net/go.php?u=http://beefy18.nyi.freebsd.org/data/main-amd64-default/pdf04190969ea_s53cce2e744/logs/errors/electron12-12.0.9_2.log (bug 257378)
Looks like the updates arrived to 11.4 and 13.0. For 12.2 the package builder is too slow: either the machine needs to be replaced or MAX_EXECUTION_TIME (86400 aka 24h by default) bumped from 122400 (34h) to 172800 (48h). $ env ABI=FreeBSD:13:amd64 pkg rquery %n-%v chromium electron12 chromium-92.0.4515.159_2 electron12-12.0.9_2 $ env ABI=FreeBSD:12:amd64 pkg rquery %n-%v chromium electron12 $ env ABI=FreeBSD:11:amd64 pkg rquery %n-%v chromium electron12 chromium-92.0.4515.159_2