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





On Jan 17, 2022, at 12:21 PM, Pascal <p p14 orange fr> wrote:


Le 18 mai 2021 à 23:53, John Ralls <jralls ceridwen us> a écrit :
...
Examining the config.log from the year-ago build shows complaints about not finding libbrotlidec, so with 
autotools it's definitely an optional package. Brotli is off by default in CMakeLists.txt (CmakeCache.txt 
has
CMakeCache.txt:BROTLIDEC_INCLUDE_DIRS:PATH=BROTLIDEC_INCLUDE_DIRS-NOTFOUND
CMakeCache.txt:BROTLIDEC_LIBRARIES:FILEPATH=BROTLIDEC_LIBRARIES-NOTFOUND
CMakeCache.txt:FT_WITH_BROTLI:BOOL=OFF
).

So my guess about Debian is that the packager built freetype2 with libbrotlidec installed but didn't 
include it in the package dependencies. They fixed that by adding it to the package dependencies rather 
than rebuilding it without brotli. As usual, that has nothing whatsoever to do with gtk-osx.

Interestingly https://ports.macports.org/port/freetype/summary shows their freetype2 depends on brotli 
while https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/freetype.rb shows Homebrew's doesn't.

Hello John,

Good guess, then I took some times to dig in my logs:

*** Configuring freetype-no-harfbuzz *** [13/32]
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/xnadalib-2021 -DCMAKE_INSTALL_LIBDIR=lib -G Ninja 
-DCMAKE_DISABLE_FIND_PACKAGE_HarfBuzz=TRUE -DCMAKE_DISABLE_FIND_PACKAGE_BZip2=TRUE -D 
BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_NAME_DIR="/usr/local/xnadalib-2021/lib" 
/usr/local/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
-- Found ZLIB: /usr/local/xnadalib-2021/lib/libz.dylib (found version "1.2.11") 
-- Found PNG: /usr/local/xnadalib-2021/lib/libpng.dylib (found version "1.6.37") 
CMake Warning (dev) at 
/usr/local/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):
 /usr/local/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.

-- Found PkgConfig: /usr/local/xnadalib-2021/bin/pkg-config (found version "0.29.2") 
CMake Warning (dev) at 
/usr/local/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  

The configuration script had found BrotliDec in MacPorts folders: /opt/local.
However I take care to keep away MacPorts when building GTK-OSX. 

How to prevent the search in /opt/local?

Looking at CMakeLists.txt, even Brotli is set off, it is looked for (line 90):
#                    -D CMAKE_DISABLE_FIND_PACKAGE_BrotliDec=TRUE [...]

Or else is it possible to add this option?

Pascal,

You know darned well what my answer is for how to keep MacPorts or Homebrew from interfering with Gtk-OSX: 
Don't install either of them. 

Since you insist on breaking that rule it's up to you to figure out how to work around it. I'm certainly not 
going to spend time and corrupt my mac by installing MacPorts so that I can test for you.

I suppose that you tried starting a login shell with a clean .zsh_profile and that it didn't work. Did you 
try creating a user? If nothing else works a macOS VM should be sufficiently insulated from whatever you've 
done to the host system.

Brotli is a compression scheme that I guess is used for some fonts. I don't see any real value to adding it 
to Gtk-OSX.

Regards,
John Ralls



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