[GNC-dev] Various failures while building MacOS/Quartz from source

john jralls at ceridwen.us
Thu Nov 3 12:41:30 EDT 2022



> On Nov 3, 2022, at 1:56 AM, Jim DeLaHunt <list+gnucash at jdlh.com> wrote:
> 
> On 2022-11-01 12:58, John Ralls wrote:
> 
>> 
>>> On Oct 31, 2022, at 9:46 PM, Jim DeLaHunt <list+gnucash at jdlh.com> wrote:
>>> 
>>> I am continuing my attempt to build GnuCash 4.11 from source  on macOS 12.6 (M1 CPU), following the instructions at https://wiki.gnucash.org/wiki/MacOS/Quartz ....
>>> 
>>> In the next 46,000 lines of output, there were about six failures:
>>> 
>>> 1. during phase build of
>>>   freetype:/Users/gtkdeveloper/gnucash/src/freetype-2.11.1/src/autofit/afshaper.h:30:10:
>>>   fatal error: 'hb-ft.h' file not found
>>> ...[2 through 6 elided]...
>>> 
>> Jim,
>> 
>> I just did a test build and it worked. There are a couple of minor fixups required in makefiles for xml-sec (your #4) and libdbi (#6), and libdbidrivers is broken and requires a manual step as a workaround.
>> 
>> Failures 2 and 3 are because you didn't fix #1. #1's error  indicates that it failed because harfbuzz-no-cairo built without freetype; that's probably because freetype-no-harfbuzz failed and you tried to keep going....
> 
> Interesting. Thank you for the insights.
> 
> I searched the stdout from my build attempt. I did not find any diagnostic line about installing a file 'hb-ft.h'. I did see diagnostics which seemed to say that freetype-no-harfbuzz and harfbuzz-no-cairo installed without error.
> 
> Which module should install file 'hb-ft.h'? harfbuzz-no-cairo, perhaps?

Yes.
[SNIP]
> Run-time dependency freetype2 found: NO (tried pkgconfig, framework and cmake)
[SNIP]
>   Font callbacks (the more the merrier)
>     FreeType         : NO

Which is why it didn't install hb-ft.h, nor, presumably, build the corresponding objects.

[SNIP]

> There is a file 'hb-ft.h' as part of harfbuzz 4.1.0[1].
> 
> [1] <https://github.com/harfbuzz/harfbuzz/blob/4.1.0/src/>
> 
> I see "installing" messages for 33 files in /Users/gtkdeveloper/gnucash/src/harfbuzz-4.1.0/src/hb-*.h. I count 39 such filenames in harfbuzz [1].
> 
> The hb-*.h files not installed seem to be: hb-ft.h, hb-directwrite.h, hb-gdi.h, hb-graphite2.h, hb-uniscribe.h, hb-version.h.
> I recognise directwrite, gid, and uniscribe as Windows subsystems, and graphite2 as another text renderer, all reasonably not installed on Harfbuzz for macOS. I don't understand why hb-ft.h or hb-version.h would not be installed. But I have not investigated that yet.
> 
> Any further insights you might be able to share?

So the question is now why didn't pkg-config find Freetype?

Does /Users/gtkdeveloper/gnucash/lib/pkgconfig/freetype2.pc exist? (It should, the installation is right after your elision note.)
If so, does starting a shell (`jhbuild shell`) and running `pkg-config --modversion freetype2` return a version string?
If not, what is the result of `echo $PKG_CONFIG_PATH`?

Regards,
John Ralls




More information about the gnucash-devel mailing list