Details
Description
http://doc.qt.io/qt-5/linux-requirements.html says freetype minimum working version is 2.2.0, but qtwebengine/src/3rdparty/chromium/third_party/harfbuzz-ng/src/hb-ft.cc uses FT_Reference_Face which was introduced in freetype 2.4.2.
Building Qt (WebEngine) with -system-freetype on CentOS 6.9, which has freetype 2.3.11 results in the following build errors for me:
FAILED: obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ft.o /usr/lib64/ccache/g++ -MMD -MF obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ft.o.d -DHAVE_OT -DHAVE_ICU -DHAVE_ICU_BUILTIN -DHAVE_INTEL_ATOMIC _PRIMITIVES -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_C SD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64 _SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_ DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -Igen -I../../3rdparty/chromium -I/usr/include/freetype2 -I../../3rdparty/chromium/third_part y/harfbuzz-ng/src -I../../3rdparty/chromium/third_party/icu/source/common -I../../3rdparty/chromium/third_party/icu/source/i18n -fno-strict-alia sing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pi pe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wno-unused-local-typedefs - Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-missing-field-initializers -Wno-unused-parameter -std= gnu++14 -fno-delete-null-pointer-checks -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -Wno-narrowing -c ../../3rdparty/chromium/third_pa rty/harfbuzz-ng/src/hb-ft.cc -o obj/third_party/harfbuzz-ng/harfbuzz_source/hb-ft.o ../../3rdparty/chromium/third_party/harfbuzz-ng/src/hb-ft.cc: In function 'hb_face_t* hb_ft_face_create_referenced(FT_Face)': ../../3rdparty/chromium/third_party/harfbuzz-ng/src/hb-ft.cc:550:29: error: 'FT_Reference_Face' was not declared in this scope FT_Reference_Face (ft_face); ^ ../../3rdparty/chromium/third_party/harfbuzz-ng/src/hb-ft.cc: In function 'hb_font_t* hb_ft_font_create_referenced(FT_Face)': ../../3rdparty/chromium/third_party/harfbuzz-ng/src/hb-ft.cc:663:29: error: 'FT_Reference_Face' was not declared in this scope FT_Reference_Face (ft_face);
So as far as I can see the minimal working freetype version on Linux/X11 is at least 2.4.2, perhaps higher.
Attachments
For Gerrit Dashboard: QTBUG-68439 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
230452,5 | Do make freetype checks in Qt Gui and Qt WebEngine orthogonal | 5.11 | qt/qtwebengine | Status: MERGED | +2 | 0 |