-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[qt5-base] Add patch for Xcode 15 #87
Conversation
Note: Upstream vcpkg recently added the same patch: |
system-sqlite is a Qt feature, bypassing the vendored SQLite build of Qt I guess the message appears when you are trying to build the VCPG environment at home native on an Arm64, right? Can you attache all Qt Log files, the same we provide as artifact of our GitHub workflow run? |
Can it be a caching issue? Are there some left over binaries from before the system upgrade? |
Unfortunately, this seems to happen on clean builds too. This is the failure:
...and here are the logs: |
For some reason it can't find the working-config-arm64-osx-dbg-err.log With the upstream
whereas our
|
Unfortunately, using Qt 5.12.12 doesn't fix the issue either: https://github.com/fwcd/vcpkg/tree/mixxx/qt-5.12.12-xcode15 |
Okay, so I could reproduce the issue using the upstream Thus the issue has likely been fixed somewhere between Qt 5.12.12 and 5.15.11. Now we'll just need to find the patch... |
This is suspicious |
Well, both the CI build and the succeeding Qt 5.15 build produce that output, so that's probably to be expected. What is strange, however, is that the |
Okay, I've narrowed down the range, Qt 5.13.2 has the issue, Qt 5.14.0 doesn't... Here's the diff: qt/qtbase@v5.13.2...v5.14.0. |
Alternative, we could of course just move to Qt 5.14 and save ourselves the efforts of finding the right patch to backport. This would make a few patches redundant and bump the macOS version requirement from macOS 10.12 to 10.13... assuming that we've fixed all of the waveform issues. I could understand if that's perhaps a bit too much of a change for the 2.4 release though. |
Marking this PR as ready for review, since this patch will be useful one way or the other (as evidenced by the fact that both upstream and Homebrew have added it). I've also opened a PR for Qt 5.14.2 (#90), feel free to leave some thoughts on that there. |
The difference between Qt 5.14.2 build is that the path to dl and pthread is not expanded. 5.14.2
5.12.5
In the log you proved, we don't see the innovation of the test in config.tests/sqlite3, Is it visible with your 5.14.2 build? |
This can be a candidate: |
In your failing log we can see that exactly these libraries are not found.
The libraries are passed here: https://github.com/mixxxdj/vcpkg/blob/2.4/overlay/osx/qt5-base/portfile.cmake#L244C14-L244C25 Maybe it helps to pass here the full path of libdl.a and libpthread.a on your system. |
Is the LD_LIBRARY_PATH environment variable set? Maybe you can run the test manually and find out what helps to make it succeed:
|
I'll test the patch you linked later, but I probably don't have the time to dig into it in detail right now... Note that we should be able to test it in CI since |
qt/qtbase@eda2862 yields the same error unfortunately. |
This patch: daschuer@fef038f |
Ah interesting, thanks for digging into this! I still don't understand why newer Qt versions build fine, but I've tried the patch and it seems to build fine on Sonoma, so let's use it.
It seems to indeed be the case that
If we peek inside Xcode's SDK, we can verify that these libraries are indeed symlinks to $ cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
$ ls -la usr/lib/{libpthread,libdl}.tbd
lrwxr-xr-x 1 root wheel 13 Sep 25 16:02 usr/lib/libdl.tbd -> libSystem.tbd
lrwxr-xr-x 1 root wheel 13 Sep 25 16:02 usr/lib/libpthread.tbd -> libSystem.tbd The strange part is why adding
Somehow it can't find the macOS SDK which is strange. Since it's fixed in newer Qt versions, I would assume this is a bug on Qt's part. But anyway, I've cherry-picked your commit onto this branch so we can move forward here, thanks again for investigating this! |
Can confirm that the built Mixxx works! |
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.
LGTM, Thank you.
This fixes an issue that prevents Qt 5 from building under Xcode 15 (macOS 14 Sonoma), namely:
The issue was identified by Homebrew maintainers and fixed by backporting a patch from Qt 6 (which this PR adds):
This problem didn't surface in CI yet, since the runners use an older macOS/Xcode version. Still, it would be pretty useful to have this patch so developers can keep building 2.4 environments on their own Macs.
Marked as a draft for now, since there seems to be another error, even after applying this patch, namely: