forked from jralls/gtk-osx-build
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
3 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FYI I found this commit doesn't build under GitHub runner arm64:
https://github.com/cpatulea/gtk-osx-build/actions/runs/7847269080/job/21415854218
It does build on my laptop (also arm64).
I'll keep looking at it and try to find a fix.
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
vs
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CFLAGS / CXXFLAGS are set to:
looks like the culprit is this argument:
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minimal repro:
I guess there's some conflict..
-I
says to use the command-line tools, but-isysroot
says to use Xcode0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one gets picked up by jhbuild (https://gitlab.gnome.org/GNOME/gtk-osx/-/blob/master/jhbuildrc-gtk-osx?ref_type=heads#L252):
This one gets picked up by libvpx (https://github.com/webmproject/libvpx/blob/58731e2b7aed9b07c9b500e6dfa5eca04053e51d/build/make/configure.sh#L921):
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried dropping the jhbuild isysroot entirely:
everything build successfully (GitHub runner, arm64):
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@totaam do you know why there are explicit
-I${sdkdir}/usr/include
?I looked through history of gtk-osx, it was added here: https://gitlab.gnome.org/GNOME/gtk-osx/-/commit/76b3fc008983e9ac40e0fdeda6849550701e2d20 with comment:
but it seems
-isysroot
should be sufficient, and indeed the build works (see above) without-I
.0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's from 15 years ago!
I think it's fair to assume that (most / all) of these libraries have been fixed since.
I think it's best to discuss this with upstream, @jralls will know more about this than we do.
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That commit is from Richard Hult's efforts to create a framework bundle for the Gtk stack. It was an interesting idea, but it didn't really make sense in the days when autotools was the only show in town. Apple has done it for a few things--Python3 comes to mind--and it still doesn't work very well.
However it's true that
jhbuildrc-gtk-osx
sets both-[IL] ${sdkdir}/usr/(?:include|lib)
and-isysroot ${sdkdir}
. I added the-isysroot
args in https://gitlab.gnome.org/GNOME/gtk-osx/-/commit/53e9916068a12ebd6657de3355a6c89157dbba56 with a note that they don't work on 10.4. I guess I should have removed the-I
and-L
bits from the flags when I dropped support for 10.4, but missed it.I haven't seen the
error before. Kind of surprising that I haven't unless it's a new "feature" of libc++ that it has its own stdint.h that's different from .../usr/include/stdint.h (and I just did a diff, they're very different).
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jralls how would you feel about a patch like this: cpatulea@52dc697
Here's a GitHub action run showing the gtk-osx build succeeded in both x86_64 and arm64: https://github.com/cpatulea/gtk-osx-build/actions/runs/8147128260 (for arm64, the build itself succeeded, there was a failure only on an upload step at the end).
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cpatulea Not comfortable at all unless it works on older macOS/Xcode versions too. It should, but it needs to be tested with macOS 10.14 and the corresponding Xcode. I'm travelling and won't be able to do that for at least a month.
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm confused about your earlier message, you wrote:
I took this to mean you no longer intend to support 10.4.
Would you be able to clarify?
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cpatulea 10.4 vs 10.14!
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup. And when the macOS 15 beta drops after WWDC in June the minimum supported will be 10.15.
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All right, how about dropping -I/-L only for Mac OS >= 12: cpatulea@12b5d78
GitHub actions tests using Mac OS 12 and 14 so this shows the build works on those versions.
If this is still not acceptable, please let me know what path you would prefer. My goal is to get the Xpra gtk-osx-build working, under both Mac OS 12 and 14 (the GitHub actions environments), with latest package versions (libvpx 1.14.0). This is a preparation step for addressing some actual bugs in Xpra packaging for Mac OS (#27).
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about some patience? I'll be able to test on a 10.14 VM in April. Go ahead and submit your PR and I'll merge it after I've tested it.
You can of course in the meantime use your modified jhbuildrc-gtk-osx for your own debugging, or you can use the production one and override the flags settings in your jhbuildrc-custom.
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cpatulea I'd happily take the change to drop
-I/-L
alone as xpra no longer supports MacOS < 12:gtk-osx-build/jhbuildrc-custom
Line 3 in 4602ec7
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jralls sorry, did not mean to rush you. Will wait to hear back from you.
@totaam Great! Here's the PR: #39 Note it also requires changes to gtk-osx-setup.sh -- see the PR for details.
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cpatulea, @totaam: https://gitlab.gnome.org/GNOME/gtk-osx/-/commit/e83596cc2e83552664735a222ad9f0480db74e2a. Thanks!
0a1a8d8
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, thank you.