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

John Ralls jralls at ceridwen.us
Thu Nov 3 18:06:48 EDT 2022



> On Nov 3, 2022, at 9:41 AM, john <jralls at ceridwen.us> wrote:
> 
> 
> 
>> 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`?

I've set up fixes for the xmlsec, libdbi and libdbi-drivers problems so once you get past this you should be able to do a clean build.

Regards,
John Ralls



More information about the gnucash-devel mailing list