gtk4: harfbuzz build fails at [89/220]
I am running gvsbuild on win 11 (both 22h1 and 22h2, since i just got the update today, so that didn't seem to do anything), msys2 and visual studio 2022 are freshly installed (the latter with only desktop c++ selected.) I've followed (and re-followed) every step of the build process, but when trying to build gtk4, harfbuzz errors out in the same way, no matter what I do.
[... (starting at the first error in that harfbuzz building process]
[76/220] Compiling C++ object util/hb-view.exe.p/hb-view.cc.obj FAILED: util/hb-view.exe.p/hb-view.cc.obj "cl" "-Iutil\hb-view.exe.p" "-Iutil" "-I..\util" "-I." "-I.." "-Isrc" "-I..\src" "-IC:/gtk-build/gtk/x64/release/include/freetype2" "-IC:/gtk-build/gtk/x64/release/bin/include/cairo" "-IC:/gtk-build/gtk/x64/release/bin/include" "-IC:/gtk-build/gtk/x64/release/bin/include/libpng16" "-IC:/gtk-build/gtk/x64/release/include/glib-2.0" "-IC:/gtk-build/gtk/x64/release/lib/glib-2.0/include" "/MD" "/nologo" "/showIncludes" "/utf-8" "/Zc:__cplusplus" "/W2" "/EHsc" "/GR-" "/std:c++14" "/permissive-" "/O2" "/Zi" "/wd4018" "/wd4146" "/wd4244" "/wd4305" "/utf-8" "/EHs-" "/EHc-" "-DHAVE_CONFIG_H" "/Fdutil\hb-view.exe.p\hb-view.cc.pdb" /Foutil/hb-view.exe.p/hb-view.cc.obj "/c" ../util/hb-view.cc cl : Command line warning D9025 : overriding '/EHs' with '/EHs-' cl : Command line warning D9025 : overriding '/EHc' with '/EHc-' C:\gtk-build\build\x64\release\harfbuzz\util\helper-cairo-ft.hh(32): fatal error C1083: Cannot open include file: 'cairo-ft.h': No such file or directory [82/220] Compiling C++ object util/hb-shape.exe.p/hb-shape.cc.obj cl : Command line warning D9025 : overriding '/EHs' with '/EHs-' cl : Command line warning D9025 : overriding '/EHc' with '/EHc-' [83/220] Compiling C++ object src/harfbuzz-subset.dll.p/hb-subset-repacker.cc.obj cl : Command line warning D9025 : overriding '/EHs' with '/EHs-' cl : Command line warning D9025 : overriding '/EHc' with '/EHc-' [84/220] Compiling C++ object util/hb-subset.exe.p/hb-subset.cc.obj cl : Command line warning D9025 : overriding '/EHs' with '/EHs-' cl : Command line warning D9025 : overriding '/EHc' with '/EHc-' [85/220] Compiling C++ object util/hb-ot-shape-closure.exe.p/hb-ot-shape-closure.cc.obj cl : Command line warning D9025 : overriding '/EHs' with '/EHs-' cl : Command line warning D9025 : overriding '/EHc' with '/EHc-' [86/220] Compiling C++ object src/harfbuzz-subset.dll.p/graph_gsubgpos-context.cc.obj cl : Command line warning D9025 : overriding '/EHs' with '/EHs-' cl : Command line warning D9025 : overriding '/EHc' with '/EHc-' [88/220] Compiling C++ object src/harfbuzz-subset.dll.p/hb-subset-plan.cc.obj cl : Command line warning D9025 : overriding '/EHs' with '/EHs-' cl : Command line warning D9025 : overriding '/EHc' with '/EHc-' [89/220] Compiling C++ object src/harfbuzz-subset.dll.p/hb-subset.cc.obj cl : Command line warning D9025 : overriding '/EHs' with '/EHs-' cl : Command line warning D9025 : overriding '/EHc' with '/EHc-' ninja: build stopped: subcommand failed. Traceback (most recent call last): File "C:\Users\[userdirectory]\.local\pipx\venvs\gvsbuild\lib\site-packages\gvsbuild\utils\builder.py", line 531, in build if self.__build_one(p): File "C:\Users\[userdirectory]\.local\pipx\venvs\gvsbuild\lib\site-packages\gvsbuild\utils\builder.py", line 667, in __build_one skip_deps = proj.build() File "C:\Users\[userdirectory]\.local\pipx\venvs\gvsbuild\lib\site-packages\gvsbuild\projects\harfbuzz.py", line 42, in build Meson.build(self) File "C:\Users\[userdirectory]\.local\pipx\venvs\gvsbuild\lib\site-packages\gvsbuild\utils\base_builders.py", line 56, in build self.builder.exec_ninja(params="install", working_dir=ninja_build) File "C:\Users\[userdirectory]\.local\pipx\venvs\gvsbuild\lib\site-packages\gvsbuild\utils\builder.py", line 989, in exec_ninja self.__execute( File "C:\Users\[userdirectory]\.local\pipx\venvs\gvsbuild\lib\site-packages\gvsbuild\utils\builder.py", line 1045, in __execute subprocess.check_call(args, cwd=working_dir, env=env, shell=True) File "C:\Python310\lib\subprocess.py", line 369, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command 'ninja install' returned non-zero exit status 1. Error: harfbuzz build failed
I am absolutely clueless as to why this happens, as I am trying to setup gtk for the first time to try and build some GUIs in Rust with gtk4-rs (mainly to practise my rust skills in something more complex).
Hi @Valhrafnaz, thanks for the report. What build command are you running?
gvsbuild build gtk4
@Valhrafnaz Did you try running --clean, and if that still fails, did you try running --from-scratch?
Can't test that anymore since I have given up on using gtk entirely, but I had some other issues with harfbuzz which resulted from the dll being grabbed from an OpenJDK install instead of the correct location. I assume that was what was happening here as well.
Ok, if you do try to use it again and are still having this problem, please feel free to reopen the issue.