We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 5065

Summary: the TTF's configure script can't find the libfreetype library
Product: SDL_ttf Reporter: Nicolas C <nicolas.castagne>
Component: miscAssignee: Sam Lantinga <slouken>
Status: WAITING --- QA Contact: Sam Lantinga <slouken>
Severity: normal    
Priority: P2 CC: nicolas.castagne
Version: 2.0.15   
Hardware: x86   
OS: macOS 10.15   
Attachments: A first config.log file
A second config.log file

Description Nicolas C 2020-03-28 10:15:14 UTC
Hello,

On various computers with Mac OS X Catalina, SDL ttf's configure script could not find the libfreetype2, while it has been freshly installed.


OS : Mac OS X Catalina

Distribution : SDL2_ttf-2.0.15.zip

Reproducibility : apparently always on Mac OS X Catalina, but I cannot be sure.

Symptoms :

    the SDL2 is compiled from source and installed in /usr/local

    Compiling and installing the libfreetype2 sources included in the SDL2_ttf archive runs fine.

    libfreetype is then installed in /usr/local

    which freetype-config returns /usr/local/bin/free-type-config : OK

    freetype-config --prefix returns /usr/local : OK

    freetype-config --version returns 22.1.16 : OK

    Then, the configure script of SDL2_ttf fails with :

checking for FreeType – version >= 7.0.1… no
configure: WARNING: The FreeType test program failed to run. If your system uses shared libraries and they are installed outside the normal system library path, make sure the variable LD_LIBRARY_PATH (or whatever is appropriate for your system) is correctly set.

configure: error: *** Unable to find FreeType2 library (http://www.freetype.org/)

    Runing the configure script with

…/configure --with-ft-prefix=/usr/local

ends up with the same error

Remarks :

    As far as my students told me, installing the latest libfreetype ends up with the same error with the configure script

    As far I know, but I am not sure, this problem occured on all our student’s Mac equiped with Catalina : it was reported by 7 out of our 200 students

    At least once, the problem occurs when another libfreetype lib was previously installed in a non standard directory ($HOME/anaconda3)

    I cannot reproduce the issue myself (I am not under Catalina).

    We did not have the opportunity to test with the night build of TTF so far

I guess there should be a simple workarround, but I can’t figure it out !
Thank you
Comment 1 Nicolas C 2020-03-29 16:31:15 UTC
The same problem occurs on (at least one) Mac Os X.14
Comment 2 Sam Lantinga 2020-03-30 17:34:32 UTC
Can you attach the config.log from the affected system?
Comment 3 Sam Lantinga 2020-03-30 22:28:16 UTC
For what it's worth, I just upgraded to Mac OS X Catalina, and I'm not seeing the issue here.
Comment 4 Nicolas C 2020-03-31 19:16:13 UTC
I attach a first config.log script.
This is not very informative though, since in that specific case, freetype-config was found in an old and particular install dir /Users/gianina.frimu/anaconda3/bin/freetype-config - due to my student's bash PATH.

I will upload ASAP other config.log files, with a corrected path to freetype-config in /usr/local/bin.
I asked studients for those, but it requires some time.

Thanks
Comment 5 Nicolas C 2020-03-31 19:18:51 UTC
Created attachment 4284 [details]
A first config.log file

Here is a first config.log script.

In that specific case, freetype-config was found in an old and particular install dir  - due to my student's bash PATH : /Users/gianina.frimu/anaconda3/bin/freetype-config 

Hence, this first config.log file is not very informative, I am affraid.

I will upload ASAP other config.log files, with a corrected PATH to /usr/local/bin, and/or with the --with-ft-prefix configure option.

I asked studients for those, but it requires some time.

Thanks
Comment 6 Sam Lantinga 2020-03-31 22:17:31 UTC
Well that's the problem. They should remove the old FreeType installations, or at least change their path while running the SDL_ttf configure so the old installation isn't found.
Comment 7 Nicolas C 2020-04-01 20:01:23 UTC
In reply to Sam Lantinga from comment #6)
> Well that's the problem. They should remove the old FreeType installations,
> or at least change their path while running the SDL_ttf configure so the old
> installation isn't found.

Thank you Sam. I was not clear enough when posting this first log file.

The problem remains with a corrected path, and also with --with-ft-prefix=/usr/local

I upload another log file in the next 2 min
Comment 8 Nicolas C 2020-04-01 20:07:34 UTC
Created attachment 4285 [details]
A second config.log file

Here is another log file. 

In that case, the ttf was configured with the --with-ft-prefix=/usr/local option, refencing a fresh freetype install.

The conftest reports a missing libpng.

It is hard for me to be sure, since I do not have access to my student's failing machines ; but at least on my own X.15, a libpng was provided with the OS.

I will upload later another log file, w/o --with-ft-prefix, but a corrected PATH.

Thanks
Comment 9 Nicolas C 2020-04-01 20:15:54 UTC
Reopening, after uploading a more appropriate config.log.
Comment 10 Sam Lantinga 2020-04-03 11:41:05 UTC
I think the question is why does FreeType detect libpng?

Here's the FreeType configure output on my Catalina system:
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for BZIP2... no
checking for BZ2_bzDecompress in -lbz2... yes
checking bzlib.h usability... yes
checking bzlib.h presence... yes
checking for bzlib.h... yes
checking for LIBPNG... no
checking for libpng-config... no
checking for HARFBUZZ... no
checking for library containing clock_gettime... none required
checking for python3... python3
checking for pip3... pip3
checking for `docwriter' Python module... no
configure: creating ./config.status
config.status: creating ftoption.h
config.status: creating unix-cc.mk
config.status: creating unix-def.mk
config.status: creating ftconfig.h
config.status: executing libtool commands
configure:

Library configuration:
  external zlib: yes (autoconf test)
  bzip2:         yes (autoconf test)
  libpng:        no
  harfbuzz:      no