Re: java/openjdk17: Undefined symbol "hb_face_create_for_tables" in GTK2

From: Greg Lewis <glewis_at_eyesbeyond.com>
Date: Sun, 10 Oct 2021 00:45:11 UTC
I found the problem and committed a fix.

-- Greg

On 10/9/21 4:59 PM, Greg Lewis wrote:
> The problem looks like libharfbuzz.so is not being linked into
> libfontmanager.so.  It does this when I'm building against the checked
> out tree from github, but when building from the port.  However, the
> port does seem to be detecting that it should use the system version of
> harfbuzz.
>
> I'm still looking into what might be causing this.
>
> -- Greg
>
> On 10/8/21 7:48 AM, Sérgio Siegrist wrote:
>> I stand corrected. The same happens in GTK3 too.
>>
>> In NetBeans:
>> Disabling all plugins, it gets open with openjdk17.
>> Enabling some plugins, it gets open and then it crashes with undefined
>> symbol.
>>
>> So, it doesn't crash until it tries to use libfontmanager.so somehow.
>>
>> On 01/10/2021 09:29, Sérgio Siegrist wrote:
>>> NetBeans IDE 12.5 enabled GTK3 support for its GUI. Until then, the
>>> following flag was required to enable GTK2:
>>> -J-Djdk.gtk.version=2.2
>>>
>>> Right now, NetBeans 12.5 + openjdk17 open the GUI in GTK3. But it's
>>> ugly. I prefer GTK2.
>>>
>>> But...
>>>
>>> NetBeans 12.5 + openjdk17 + GTK2 yields the following:
>>> ld-elf.so.1: /usr/local/openjdk17/lib/libfontmanager.so: Undefined
>>> symbol "hb_face_create_for_tables"
>>>
>>> And the GUI crashes.
>>>
>>> - No problem at all with openjdk16.
>>>
>>> - No problem at all with GTK3.
>>>
>>> Hence, it seems specific to openjdk17 + GTK2.
>>>
>>> (Tested on openjdk17 built locally by ports, FreeBSD 13.0-RELEASE-p4
>>> amd64)
>>>