Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#64402 closed defect (worksforme)

gtk3: build fails with undefined macro HB_VERSION_ATLEAST

Reported by: TruePath (Peter Gerdes) Owned by: mascguy (Christopher Nielsen)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: monterey Cc:
Port: gtk3

Description

Attempting to upgrade GTK3 fails for me (OS X 12, Apple Silicon) with the error that HB_VERSION_ATLEAST is undefined.

This problem seems to have been noted and fixed upstream (see this patch https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4302 ).

Probably one just needs to use a source that includes this pull request or add this in as a patch.

If you need log files I can provide them but it doesn't really seem necessary given that the link already describes the issue and includes a patch.

Attachments (1)

log-for-gtk3.txt (995.8 KB) - added by TruePath (Peter Gerdes) 2 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 Changed 2 years ago by mascguy (Christopher Nielsen)

Keywords: monterey added
Owner: set to mascguy
Status: newassigned
Summary: GTK3 Fails with undefined macro HB_VERSION_ATLEASTgtk3: build fails with undefined macro HB_VERSION_ATLEAST
Version: 2.7.1

comment:2 in reply to:  description Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to TruePath:

This problem seems to have been noted and fixed upstream (see this patch https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4302 ).

The title of that MR ("Fix building with Pango before 1.44.0") makes me doubtful about whether it relates to the problem you're seeing, since MacPorts does not have "Pango before 1.44.0"; MacPorts has pango 1.50.3. Still, that MR does look like it fixes some other errors in the code and might be useful.

If you need log files I can provide them but it doesn't really seem necessary given that the link already describes the issue and includes a patch.

Certainly providing the main.log file could be useful. We show successful builds of gtk3 on all OS versions on our build machines as of December 28, 2021, so something may be different on your machine that could be revealed in the log.

comment:3 Changed 2 years ago by TruePath (Peter Gerdes)

Well I tried applying the patches and it worked. I saw the bit about the old versions of pango as well and it seemed weird but it worked for me.

I'll see if I can dig up main.log from the failure.

Changed 2 years ago by TruePath (Peter Gerdes)

Attachment: log-for-gtk3.txt added

comment:4 Changed 2 years ago by TruePath (Peter Gerdes)

I didn't still have the main.log file but I was able to find the terminal output for the attempt sudo port -d install gtk3 above which I believe should have most of the information. I've attached the file.

Last edited 2 years ago by TruePath (Peter Gerdes) (previous) (diff)

comment:5 in reply to:  4 Changed 2 years ago by mascguy (Christopher Nielsen)

Resolution: worksforme
Status: assignedclosed

As Ryan mentioned previously, this port is building successfully on both of our ARM buildbots. And since you're building the same thing - the X11 variant - I'm reluctant to apply this patch.

So, closing for now. If others experience the same thing, we can certainly revisit.

comment:6 Changed 2 years ago by TruePath (Peter Gerdes)

Yes, please don't apply the patch if you don't understand the need. I couldn't tell you what it does if my life depended on it and randomly changing things until they seem to compile seems like a bad idea. I was just hoping I could point people to a solution and save them some time.

Glad to hear that no one else is having the problem. Maybe the issue was specific to the version of xcode I was using or there was something weird about my system (I may have accidentally left the beta version of xcode selected as the default compiler). Sorry to waste you time.

comment:7 Changed 2 years ago by mascguy (Christopher Nielsen)

No worries, you didn't waste our time. And indeed, it's great to bring things like this to our attention!

Note: See TracTickets for help on using tickets.