Re: [gtk-osx-users] Building freetype: Fatal error: 'hb-ft.h' file not found.





On May 16, 2021, at 10:29 AM, Pascal <p p14 orange fr> wrote:


Le 16 mai 2021 à 18:04, John Ralls <jralls ceridwen us> a écrit :

On May 16, 2021, at 6:43 AM, Pascal <p p14 orange fr> wrote:

Hello John,

Unfortunately, I've the following error (Xcode 12.5):

bld% jhbuild build meta-gtk-osx-gtk3
<...>
*** Building freetype *** [16/32]
ninja  
[6/42] Building C object CMakeFiles/freetype.dir/src/autofit/autofit.c.o
FAILED: CMakeFiles/freetype.dir/src/autofit/autofit.c.o 
/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -DFT2_BUILD_LIBRARY -Dfreetype_EXPORTS -Iinclude 
-I/opt/src-2021/freetype-2.10.4/include -Iinclude/freetype/config -I/opt/xnadalib-2021/include/harfbuzz 
-I/opt/local/include -arch x86_64 
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk 
-mmacosx-version-min=10.16 -g -O0 -ggdb3 -O3 -DNDEBUG -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk 
-mmacosx-version-min=10.16 -fPIC -fvisibility=hidden -MD -MT 
CMakeFiles/freetype.dir/src/autofit/autofit.c.o -MF CMakeFiles/freetype.dir/src/autofit/autofit.c.o.d -o 
CMakeFiles/freetype.dir/src/autofit/autofit.c.o -c /opt/src-2021/freetype-2.10.4/src/autofit/autofit.c
In file included from /opt/src-2021/freetype-2.10.4/src/autofit/autofit.c:23:
In file included from /opt/src-2021/freetype-2.10.4/src/autofit/afcjk.c:28:
In file included from /opt/src-2021/freetype-2.10.4/src/autofit/afglobal.h:26:
/opt/src-2021/freetype-2.10.4/src/autofit/afshaper.h:30:10: fatal error: 'hb-ft.h' file not found
#include <hb-ft.h>
      ^~~~~~~~~
1 error generated.
[11/42] Building C object CMakeFiles/freetype.dir/src/base/ftbase.c.o

It is a comeback of last time or I've mismatched configuration files?
https://mail.gnome.org/archives/gtk-osx-users-list/2020-September/msg00007.html

Can't tell what you've messed up, but the build sequence is supposed to be 
pixman
freetype-no-harfbuzz
icu
harfbuzz-no-cairo
freetype
fontconfig
cairo
gobject-introspection
harfbuzz
fribidi
pango

and the error message indicates that harfbuzz-no-cairo didn't get installed. Look back through your build 
output to see why not. You can use `jhbuild list meta-gtk-osx-gtk3` to ensure that you haven't messed 
something up in .jhbuildrc-custom like putting one or more of those modules on the skip list.

== Here it is:

% jhbuild list meta-gtk-osx-gtk3
Loading .env environment variables...
libffi
glib
zlib
libpng
libjpeg
libtiff
libxml2
libxslt
itstool
gtk-doc
meta-gtk-osx-bootstrap
pixman
freetype-no-harfbuzz
icu
harfbuzz-no-cairo
freetype
fontconfig
cairo
gobject-introspection
harfbuzz
fribidi
pango
atk
gdk-pixbuf
xorg-util-macros
libepoxy
gtk+-3.0
gtk-mac-integration
libcroco
librsvg
adwaita-icon-theme
meta-gtk-osx-gtk3

== Logs when building:

% jhbuild build meta-gtk-osx-gtk3
Loading .env environment variables...
*** Checking out libffi *** [1/32]
*** Skipping libffi (package and dependencies not updated) *** [1/32]
*** Checking out glib *** [2/32]
*** Skipping glib (package and dependencies not updated) *** [2/32]
*** Checking out zlib *** [3/32]
*** Skipping zlib (package and dependencies not updated) *** [3/32]
*** Checking out libpng *** [4/32]
*** Skipping libpng (package and dependencies not updated) *** [4/32]
*** Checking out libjpeg *** [5/32]
*** Skipping libjpeg (package and dependencies not updated) *** [5/32]
*** Checking out libtiff *** [6/32]
*** Skipping libtiff (package and dependencies not updated) *** [6/32]
*** Checking out libxml2 *** [7/32]
*** Skipping libxml2 (package and dependencies not updated) *** [7/32]
*** Checking out libxslt *** [8/32]
*** Skipping libxslt (package and dependencies not updated) *** [8/32]
*** Checking out itstool *** [9/32]
*** Skipping itstool (package and dependencies not updated) *** [9/32]
*** Checking out gtk-doc *** [10/32]
*** Skipping gtk-doc (package and dependencies not updated) *** [10/32]
*** Checking out pixman *** [12/32]
*** Skipping pixman (package and dependencies not updated) *** [12/32]
*** Checking out freetype-no-harfbuzz *** [13/32]
*** Skipping freetype-no-harfbuzz (package and dependencies not updated) *** [13/32]
*** Checking out icu *** [14/32]
*** Skipping icu (package and dependencies not updated) *** [14/32]
*** Checking out harfbuzz-no-cairo *** [15/32]
*** Skipping harfbuzz-no-cairo (package and dependencies not updated) *** [15/32]
*** Checking out freetype *** [16/32]
*** Configuring freetype *** [16/32]
cmake -DCMAKE_INSTALL_PREFIX=/opt/xnadalib-2021 -DCMAKE_INSTALL_LIBDIR=lib -G Ninja 
-DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE -D BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release 
-DCMAKE_INSTALL_NAME_DIR="/opt/xnadalib-2021/lib" /opt/src-2021/freetype-2.10.4
-- The C compiler identification is AppleClang 12.0.5.12050022
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Warning (dev) at /opt/xnadalib-2021/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:438 
(message):
 The package name passed to `find_package_handle_standard_args` (PkgConfig)
 does not match the name of the calling package (HarfBuzz).  This can lead
 to problems in calling code that expects `find_package` result variables
 (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
 /opt/xnadalib-2021/share/cmake-3.20/Modules/FindPkgConfig.cmake:70 (find_package_handle_standard_args)
 builds/cmake/FindHarfBuzz.cmake:35 (include)
 CMakeLists.txt:212 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PkgConfig: /opt/xnadalib-2021/bin/pkg-config (found version "0.29.2") 
CMake Warning (dev) at /opt/xnadalib-2021/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:438 
(message):
 The package name passed to `find_package_handle_standard_args` (harfbuzz)
 does not match the name of the calling package (HarfBuzz).  This can lead
 to problems in calling code that expects `find_package` result variables
 (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
 builds/cmake/FindHarfBuzz.cmake:67 (find_package_handle_standard_args)
 CMakeLists.txt:212 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found harfbuzz: /opt/xnadalib-2021/include/harfbuzz (found version "2.8.0") 
-- Found ZLIB: /opt/xnadalib-2021/lib/libz.dylib (found version "1.2.11") 
-- Found PNG: /opt/xnadalib-2021/lib/libpng.dylib (found version "1.6.37") 
CMake Warning (dev) at /opt/xnadalib-2021/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:438 
(message):
 The package name passed to `find_package_handle_standard_args` (PkgConfig)
 does not match the name of the calling package (BrotliDec).  This can lead
 to problems in calling code that expects `find_package` result variables
 (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
 /opt/xnadalib-2021/share/cmake-3.20/Modules/FindPkgConfig.cmake:70 (find_package_handle_standard_args)
 builds/cmake/FindBrotliDec.cmake:22 (include)
 CMakeLists.txt:236 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /opt/xnadalib-2021/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:438 
(message):
 The package name passed to `find_package_handle_standard_args` (brotlidec)
 does not match the name of the calling package (BrotliDec).  This can lead
 to problems in calling code that expects `find_package` result variables
 (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
 builds/cmake/FindBrotliDec.cmake:43 (find_package_handle_standard_args)
 CMakeLists.txt:236 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found brotlidec: /opt/local/include  
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for fcntl.h
-- Looking for fcntl.h - found
-- Configuring done
CMake Warning (dev):
 Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
 --help-policy CMP0042" for policy details.  Use the cmake_policy command to
 set the policy and suppress this warning.

 MACOSX_RPATH is not specified for the following targets:

  freetype

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /opt/src-2021/cache/jhbuild/build/freetype-2.10.4
*** Building freetype *** [16/32]
ninja  
[6/42] Building C object CMakeFiles/freetype.dir/src/autofit/autofit.c.o
FAILED: CMakeFiles/freetype.dir/src/autofit/autofit.c.o 
/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -DFT2_BUILD_LIBRARY -Dfreetype_EXPORTS -Iinclude 
-I/opt/src-2021/freetype-2.10.4/include -Iinclude/freetype/config -I/opt/xnadalib-2021/include/harfbuzz 
-I/opt/local/include -arch x86_64 
-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk 
-mmacosx-version-min=10.16 -g -O0 -ggdb3 -O3 -DNDEBUG -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk 
-mmacosx-version-min=10.16 -fPIC -fvisibility=hidden -MD -MT 
CMakeFiles/freetype.dir/src/autofit/autofit.c.o -MF CMakeFiles/freetype.dir/src/autofit/autofit.c.o.d -o 
CMakeFiles/freetype.dir/src/autofit/autofit.c.o -c /opt/src-2021/freetype-2.10.4/src/autofit/autofit.c
In file included from /opt/src-2021/freetype-2.10.4/src/autofit/autofit.c:23:
In file included from /opt/src-2021/freetype-2.10.4/src/autofit/afcjk.c:28:
In file included from /opt/src-2021/freetype-2.10.4/src/autofit/afglobal.h:26:
/opt/src-2021/freetype-2.10.4/src/autofit/afshaper.h:30:10: fatal error: 'hb-ft.h' file not found
#include <hb-ft.h>
        ^~~~~~~~~
1 error generated.
[11/42] Building C object CMakeFiles/freetype.dir/src/base/ftbase.c.o
ninja: build stopped: subcommand failed.
*** Error during phase build of freetype: ########## Error running ninja   *** [16/32]

Thus, I build harbuzz again:
% jhbuild buildone harfbuzz-no-cairo
No more success with freetype when building meta-gtk-osx-gtk3.

Thus, I uninstall it:
% jhbuild unistall harfbuzz-no-cairo 
No more success with freetype when building meta-gtk-osx-gtk3.

Any thought?

Pascal,

Yeah. You need to figure out why harfbuzz-no-cairo didn't install the header. Study the logs. Try 
force-rebuilding (e.g. jhbuild buildone -f -c harfbuzz-no-cairo) and paying close attention to any errors and 
to what gets installed. When you find something that looks funny dig in and figure out why it did that.

Regards,
John Ralls



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]