Skip to content

Commit

Permalink
Freetype fails to find freetype on macos
Browse files Browse the repository at this point in the history
    src/checkdep_freetype2.c:8:10: fatal error: 'ft2build.h' file not found
    #include <ft2build.h>
             ^~~~~~~~~~~~
    2 errors generated.
    error: command '/usr/bin/gcc' failed with exit code 1

Sage skips installing zlib on macos because it is installed as part of
XCode. The freetype configuration uses freetype-config which ends up
using pkg-config to find zlib. In their infinite wisdom, Apple does
not ship the .pc file:

    vbraun@Mini-M2 local % ./bin/freetype-config
    Package zlib was not found in the pkg-config search path.
    Perhaps you should add the directory containing `zlib.pc'
    to the PKG_CONFIG_PATH environment variable
    Package 'zlib', required by 'libpng', not found
    Package zlib was not found in the pkg-config search path.
    Perhaps you should add the directory containing `zlib.pc'
    to the PKG_CONFIG_PATH environment variable
    Package 'zlib', required by 'libpng', not found

Solution is to require a zlib.pc file via PKG_CHECK_MODULES([zlib], ...
  • Loading branch information
vbraun committed Sep 15, 2024
1 parent 24698e7 commit f5d7559
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 2 deletions.
2 changes: 1 addition & 1 deletion build/pkgs/freetype/dependencies
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
libpng bzip2
libpng bzip2 zlib

----------
All lines of this file are ignored except the first.
3 changes: 2 additions & 1 deletion build/pkgs/zlib/spkg-configure.m4
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
SAGE_SPKG_CONFIGURE([zlib], [
PKG_CHECK_MODULES([zlib], [zlib >= 1.2.11], [zlib_cv_pc=yes], [zlib_cv_pc=no])
AC_CHECK_LIB([z], [inflateEnd], [zlib_cv_libz=yes], [zlib_cv_libz=no])
AC_CHECK_HEADER([zlib.h], [zlib_cv_zlib_h=yes], [zlib_cv_zlib_h=no])
if test "$zlib_cv_libz" = "yes" && test "$zlib_cv_zlib_h" = "yes"; then
if test "$zlib_cv_pc" = "yes" && "$zlib_cv_libz" = "yes" && test "$zlib_cv_zlib_h" = "yes"; then
PKG_CHECK_MODULES([LIBPNG], [libpng >= 1.2], [], [
dnl inflateValidate is needed for Sage's libpng, newer than 1.2; this ensures
dnl we have the minimum required for building zlib version
Expand Down

0 comments on commit f5d7559

Please sign in to comment.