[tlbuild] Strange build failures on Mac OS X 10.6

Mojca Miklavec mojca.miklavec.lists at gmail.com
Mon Jun 29 11:09:06 CEST 2020


Hi,

Since a while I've been experiencing strange build errors of TeX Live
sources on Mac OS X 10.6. The strange thing is that two presumably
equivalent builders behave in a different way. One works and the other
one doesn't. I suspect that one of the systems has one particular
package installed that's missing on the other system (I cannot check
for quite a while because I didn't yet set up remote access to one of
the machines; but I do have access to the failing machine) and there
might be some minor configure bug that's somehow accessing the system
library instead of the local one.

Here are some build logs (one failing and one working):
- https://build.contextgarden.net/#/builders/32/builds/303/steps/2/logs/stdio
- https://build.contextgarden.net/#/builders/9/builds/366/steps/2/logs/stdio

Below is the contents of the failing config.log. Any ideas are welcome.

configure:6005: checking png.h presence
configure:6005: /opt/local/bin/clang-mp-9.0 -arch x86_64 -E
-I/opt/buildbot/workers/texlive/texlive/darwin10-x86_64.prg/build/Work/libs/libpng/include
-I/opt/buildbot/workers/texlive/texlive/darwin10-x86_64.prg/build/Work/libs/zlib/include
 conftest.c
configure:6005: $? = 0
configure:6005: result: yes
configure:6005: checking for png.h
configure:6005: result: yes
configure:6021: checking for FT_Init_FreeType
configure:6021: /opt/local/bin/clang-mp-9.0 -arch x86_64 -o conftest
-Os -isysroot /Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6
-I/opt/buildbot/workers/texlive/texlive/darwin10-x86_64.prg/build/Work/libs/freetype2/freetype2
-I/opt/buildbot/workers/texlive/texlive/darwin10-x86_64.prg/build/Work/libs/libpng/include
-I/opt/buildbot/workers/texlive/texlive/darwin10-x86_64.prg/build/Work/libs/zlib/include
 -Os -L/Developer/SDKs/MacOSX10.6.sdk/usr/lib -isysroot
/Developer/SDKs/MacOSX10.6.sdk -mmacosx-version-min=10.6 conftest.c
/opt/buildbot/workers/texlive/texlive/darwin10-x86_64.prg/build/Work/libs/freetype2/libfreetype.a
/opt/buildbot/workers/texlive/texlive/darwin10-x86_64.prg/build/Work/libs/libpng/libpng.a
/opt/buildbot/workers/texlive/texlive/darwin10-x86_64.prg/build/Work/libs/zlib/libz.a
 >&5
Undefined symbols for architecture x86_64:
  "_BrotliDecoderDecompress", referenced from:
      _sfnt_open_font in libfreetype.a(sfnt.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
configure:6021: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "gd (TeX Live)"
| #define PACKAGE_TARNAME "gd--tex-live-"
| #define PACKAGE_VERSION "2.3.0"
| #define PACKAGE_STRING "gd (TeX Live) 2.3.0"
| #define PACKAGE_BUGREPORT "tex-k at tug.org"
| #define PACKAGE_URL ""
| #define PACKAGE "gd--tex-live-"
| #define VERSION "2.3.0"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_ERRNO_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_STDDEF_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_UNISTD_H 1
| #define ZLIB_CONST 1
| #define HAVE_ZLIB_H 1
| #define HAVE_PNG_H 1
| /* end confdefs.h.  */


| /* Define FT_Init_FreeType to an innocuous variant, in case
<limits.h> declares FT_Init_FreeType.
|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
| #define FT_Init_FreeType innocuous_FT_Init_FreeType
|
| /* System header to define __stub macros and hopefully few prototypes,
|     which can conflict with char FT_Init_FreeType (); below.
|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
|     <limits.h> exists even on freestanding compilers.  */
|
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|
| #undef FT_Init_FreeType
|
| /* Override any GCC internal prototype to avoid an error.
|    Use char because int might match the return type of a GCC
|    builtin and then its argument prototype would still apply.  */
| #ifdef __cplusplus
| extern "C"
| #endif
| char FT_Init_FreeType ();
| /* The GNU C library defines this for functions which it implements
|     to always fail with ENOSYS.  Some functions are actually named
|     something starting with __ and the normal name is an alias.  */
| #if defined __stub_FT_Init_FreeType || defined __stub___FT_Init_FreeType
| choke me
| #endif
|
| int
| main ()
| {
| return FT_Init_FreeType ();
|   ;
|   return 0;
| }
configure:6021: result: no
configure:6025: error: libfreetype2 not found

Google returns some hits like
    https://trac.macports.org/ticket/60544
but it's not yet clear to me what exactly is going on. And both
systems have been kept updated at nearly the same time in the past.

Thank you,
    Mojca


More information about the tlbuild mailing list.