Skip to content
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

Merged
merged 2 commits into from
Oct 24, 2023
Merged

Conversation

fwcd
Copy link
Member

@fwcd fwcd commented Oct 2, 2023

This fixes an issue that prevents Qt 5 from building under Xcode 15 (macOS 14 Sonoma), namely:

Project ERROR: failed to parse default search paths from compiler output

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:

ERROR: Feature 'system-sqlite' was enabled, but the pre-condition 'features.sql-sqlite && libs.sqlite3' failed.

@fwcd
Copy link
Member Author

fwcd commented Oct 4, 2023

Note: Upstream vcpkg recently added the same patch:

@daschuer
Copy link
Member

daschuer commented Oct 6, 2023

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?

@daschuer
Copy link
Member

daschuer commented Oct 6, 2023

Can it be a caching issue? Are there some left over binaries from before the system upgrade?

@fwcd
Copy link
Member Author

fwcd commented Oct 19, 2023

Unfortunately, this seems to happen on clean builds too. This is the failure:

Installing 1/13 qt5-base:arm64-osx...
Building qt5-base[core]:arm64-osx...
-- [OVERLAY] Loading triplet configuration from: /Users/<user>/git/m1xxx-2.4/vcpkg/overlay/triplets/arm64-osx.cmake
-- Installing port from location: /Users/<user>/git/m1xxx-2.4/vcpkg/overlay/osx/qt5-base
-- Figuring out qt target mkspec. Target arch arm64
-- Target mkspec set to: macx-aarch64-clang
-- Host mkspec set to: macx-aarch64-clang
-- Using cached qtbase-everywhere-src-5.12.5.tar.xz.
-- Cleaning sources at /Users/<user>/git/m1xxx-2.4/vcpkg/buildtrees/qt5-base/src/5.12.5-1585bf5e53.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /Users/<user>/git/m1xxx-2.4/vcpkg/downloads/qtbase-everywhere-src-5.12.5.tar.xz
-- Applying patch patches/winmain_pro.patch
-- Applying patch patches/windows_prf.patch
-- Applying patch patches/qt_app.patch
-- Applying patch patches/gui_configure.patch
-- Applying patch patches/nsimage_qimage.patch
-- Applying patch patches/QCocoaDrag-avoid-using-the-deprecated-API-if-possibl.patch
-- Applying patch patches/arm64_qiosurfacegraphicsbuffer.patch
-- Applying patch patches/arm64_qcocoahelper.patch
-- Applying patch patches/arm64_send_super_stret.patch
-- Applying patch patches/replace_result_of.patch
-- Applying patch patches/scrollbars_style.patch
-- Applying patch patches/qmake_xcode15.patch
-- Using source at /Users/<user>/git/m1xxx-2.4/vcpkg/buildtrees/qt5-base/src/5.12.5-1585bf5e53.clean
-- Configuring arm64-osx-dbg
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message):
    Command failed: /Users/<user>/git/m1xxx-2.4/vcpkg/buildtrees/qt5-base/src/5.12.5-1585bf5e53.clean/configure -confirm-license -opensource -verbose -system-zlib -system-libjpeg -system-libpng -system-freetype -system-pcre -system-doubleconversion -system-sqlite -qt-harfbuzz -nomake examples -nomake tests -platform macx-aarch64-clang -static LIBJPEG_LIBS=/Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libjpeg.a ZLIB_LIBS=/Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libz.a "LIBPNG_LIBS=/Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libpng16d.a /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libz.a" PCRE2_LIBS=/Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libpcre2-16.a "FREETYPE_LIBS=/Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libfreetyped.a /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libbz2d.a /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libpng16d.a /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libz.a /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libbrotlidec-static.a /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libbrotlicommon-static.a" QMAKE_LIBS_PRIVATE+=/Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libbz2d.a QMAKE_LIBS_PRIVATE+=/Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libpng16d.a "PSQL_LIBS=/Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libpq.a /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libssl.a /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libcrypto.a -ldl -lpthread" "SQLITE_LIBS=/Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libsqlite3.a -ldl -lpthread" "HARFBUZZ_LIBS=/Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/libharfbuzz.a -framework ApplicationServices" -debug -prefix /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx -hostprefix /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/tools/qt5/debug -archdatadir /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/tools/qt5/debug -datadir /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/share/qt5/debug -plugindir /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/plugins -qmldir /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/qml -headerdir /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/include/qt5 -libexecdir /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/tools/qt5/debug -bindir /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/bin -libdir /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib -I /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/include -I /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/include/qt5 -L /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib -L /Users/<user>/git/m1xxx-2.4/vcpkg/installed/arm64-osx/debug/lib/manual-link -xplatform macx-aarch64-clang
    Working Directory: /Users/<user>/git/m1xxx-2.4/vcpkg/buildtrees/qt5-base/arm64-osx-dbg
    Error code: 3
    See logs for more information:
      /Users/<user>/git/m1xxx-2.4/vcpkg/buildtrees/qt5-base/config-arm64-osx-dbg-out.log
      /Users/<user>/git/m1xxx-2.4/vcpkg/buildtrees/qt5-base/config-arm64-osx-dbg-err.log

Call Stack (most recent call first):
  overlay/osx/qt5-base/cmake/configure_qt.cmake:118 (vcpkg_execute_required_process)
  overlay/osx/qt5-base/portfile.cmake:255 (configure_qt)
  scripts/ports.cmake:147 (include)


error: building qt5-base:arm64-osx failed with: BUILD_FAILED

...and here are the logs:

config-arm64-osx-dbg-err.log
config-arm64-osx-dbg-out.log

@fwcd
Copy link
Member Author

fwcd commented Oct 19, 2023

For some reason it can't find the sqlite3 built by vcpkg. The upstream qt5-base build works:

working-config-arm64-osx-dbg-err.log
working-config-arm64-osx-dbg-out.log

With the upstream qt5-base (5.15.11) we get:

Checking for SQLite (version 3)...
Trying source 0 (type pkgConfig) of library sqlite3 ...
pkg-config use disabled globally.
  => source produced no result.
Trying source 1 (type inline) of library sqlite3 ...
+ cd /Users/<user>/git/vcpkg/buildtrees/qt5-base/arm64-osx-dbg/config.tests/sqlite3 && /Users/<user>/git/vcpkg/buildtrees/qt5-base/arm64-osx-dbg/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static warn_off console single_arch" 'QMAKE_LIBDIR += /Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib /Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/manual-link' 'INCLUDEPATH += /Users/<user>/git/vcpkg/installed/arm64-osx/include /Users/<user>/git/vcpkg/installed/arm64-osx/include/qt5' QMAKE_LIBS_PRIVATE+=/Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libbz2d.a 'QMAKE_LIBS_PRIVATE+=/Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libpng16d.a /Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libz.a' QMAKE_LIBS_PRIVATE+=/Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libzstd.a QMAKE_CC=cc QMAKE_CXX=c++ QMAKE_AR=ar QMAKE_RANLIB=ranlib QMAKE_STRIP=strip QMAKE_NM=nm QMAKE_RC= QMAKE_MT= QMAKE_AR+=qc QMAKE_LINK=c++ QMAKE_LINK_SHLIB=c++ QMAKE_LINK_C=cc QMAKE_LINK_C_SHLIB=cc 'QMAKE_CFLAGS_DEBUG+=-fPIC -g  -isysroot "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk" -arch arm64 -mmacosx-version-min=12' 'QMAKE_CXXFLAGS_DEBUG+=-fPIC -g  -isysroot "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk" -arch arm64 -mmacosx-version-min=12' 'QMAKE_LFLAGS+=-isysroot "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk" -arch arm64 -mmacosx-version-min=12' 'QMAKE_LFLAGS_SHLIB+=-isysroot "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk" -arch arm64 -mmacosx-version-min=12' 'QMAKE_LFLAGS_PLUGIN+=-isysroot "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk" -arch arm64 -mmacosx-version-min=12' 'QMAKE_USE += sqlite3' 'QMAKE_LIBS_SQLITE3 = /Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libsqlite3.a -ldl -lpthread' 'QMAKE_DEPENDS_SQLITE3_CC = ZLIB' 'QMAKE_DEPENDS_SQLITE3_LD = ZLIB' 'QMAKE_LIBS_ZLIB = /Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libz.a' /Users/<user>/git/vcpkg/buildtrees/qt5-base/arm64-osx-dbg/config.tests/sqlite3
> Project WARNING: Qt has only been tested with version 12 of the platform SDK, you're using 14.
> Project WARNING: This is an unsupported configuration. You may experience build issues, and by using
> Project WARNING: the 14.0 SDK you are opting in to new features that Qt has not been prepared for.
> Project WARNING: Please downgrade the SDK you use to build your app to version 12, or configure
> Project WARNING: with CONFIG+=sdk_no_version_check when running qmake to silence this warning.
+ cd /Users/<user>/git/vcpkg/buildtrees/qt5-base/arm64-osx-dbg/config.tests/sqlite3 && MAKEFLAGS= /usr/bin/make
> c++ -c -pipe -stdlib=libc++ -g -fPIC -g -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -arch arm64 -mmacosx-version-min=12 -std=gnu++11  -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -mmacosx-version-min=12 -w -fPIC  -I. -I/Users/<user>/git/vcpkg/installed/arm64-osx/include -I/Users/<user>/git/vcpkg/installed/arm64-osx/include/qt5 -I/Users/<user>/git/vcpkg/buildtrees/qt5-base/src/5.15.11-13623e1e19.clean/mkspecs/macx-clang -o main.o main.cpp
> c++ -stdlib=libc++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -arch arm64 -mmacosx-version-min=12 -headerpad_max_install_names  -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -mmacosx-version-min=12 -Wl,-rpath,@executable_path/../Frameworks -o sqlite3 main.o   -L/Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib -L/Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/manual-link /Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libsqlite3.a -ldl -lpthread /Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libz.a   /Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libbz2d.a /Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libpng16d.a /Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libz.a /Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libzstd.a
> ld: warning: ignoring duplicate libraries: '/Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libz.a'
> ld: warning: search path '/Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/manual-link' not found
> ld: warning: object file (/Users/<user>/git/vcpkg/installed/arm64-osx/debug/lib/libsqlite3.a[2](sqlite3.c.o)) was built for newer 'macOS' version (14.0) than being linked (12.0)
 => source accepted.
test config.qtbase_sqldrivers.libraries.sqlite3 succeeded

whereas our qt5-base produces

Checking for SQLite (version 3)...
Trying source 0 (type pkgConfig) of library sqlite3 ...
pkg-config use disabled globally.
  => source produced no result.
Trying source 1 (type inline) of library sqlite3 ...
None of [libdl.dylib libdl.tbd libdl.a] found in [] and global paths.
None of [libpthread.dylib libpthread.tbd libpthread.a] found in [] and global paths.
  => source produced no result.
test config.qtbase_sqldrivers.libraries.sqlite3 FAILED

@fwcd
Copy link
Member Author

fwcd commented Oct 19, 2023

Unfortunately, using Qt 5.12.12 doesn't fix the issue either: https://github.com/fwcd/vcpkg/tree/mixxx/qt-5.12.12-xcode15

@fwcd
Copy link
Member Author

fwcd commented Oct 19, 2023

Okay, so I could reproduce the issue using the upstream qt5-base package by downgrading it to Qt 5.12.12 and by using our patches: https://github.com/fwcd/vcpkg/tree/downgrade-qt-5.12.12 (de2c3d0 being the relevant commit).

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...

@daschuer
Copy link
Member

Checking for SQLite (version 3)...
Trying source 0 (type pkgConfig) of library sqlite3 ...
pkg-config use disabled globally.
  => source produced no result.

This is suspicious

@fwcd
Copy link
Member Author

fwcd commented Oct 19, 2023

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 source 1 (type inline) below doesn't seem to work, which is supposed to locate the sqlite3 libs from vcpkg...

@fwcd
Copy link
Member Author

fwcd commented Oct 19, 2023

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.

@fwcd
Copy link
Member Author

fwcd commented Oct 19, 2023

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.

@fwcd fwcd marked this pull request as ready for review October 19, 2023 15:32
@fwcd
Copy link
Member Author

fwcd commented Oct 19, 2023

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.

@daschuer
Copy link
Member

The difference between Qt 5.14.2 build is that the path to dl and pthread is not expanded.

5.14.2

'QMAKE_LIBS_SQLITE3 = /Users/runner/mixxx-vcpkg/installed/arm64-osx-min1100/debug/lib/libsqlite3.a -ldl -lpthread' 

5.12.5

'QMAKE_LIBS_SQLITE3 = /Users/runner/mixxx-vcpkg/installed/arm64-osx-min1100/debug/lib/libsqlite3.a /Applications/Xcode_12.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/usr/lib/libdl.tbd /Applications/Xcode_12.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk/usr/lib/libpthread.tbd' 

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?

@daschuer
Copy link
Member

This can be a candidate:
qt/qtbase@eda2862

@daschuer
Copy link
Member

In your failing log we can see that exactly these libraries are not found.

None of [libdl.dylib libdl.tbd libdl.a] found in [] and global paths.
None of [libpthread.dylib libpthread.tbd libpthread.a] found in [] and global paths.

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.
A final solution my look them up via find_library()

@daschuer
Copy link
Member

Is the LD_LIBRARY_PATH environment variable set?

Maybe you can run the test manually and find out what helps to make it succeed:

cd /Users/runner/mixxx-vcpkg/buildtrees/qt5-base/arm64-osx-min1100-dbg/config.tests/sqlite3 && /Users/runner/mixxx-vcpkg/buildtrees/qt5-base/arm64-osx-min1100-dbg/bin/qmake "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static warn_off console single_arch" 'QMAKE_LIBDIR += /Users/runner/mixxx-vcpkg/installed/arm64-osx-min1100/debug/lib /Users/runner/mixxx-vcpkg/installed/arm64-osx-min1100/debug/lib/manual-link' 'INCLUDEPATH += /Users/runner/mixxx-vcpkg/installed/arm64-osx-min1100/include /Users/runner/mixxx-vcpkg/installed/arm64-osx-min1100/include/qt5' QMAKE_LIBS_PRIVATE+=/Users/runner/mixxx-vcpkg/installed/arm64-osx-min1100/debug/lib/libbz2d.a QMAKE_LIBS_PRIVATE+=/Users/runner/mixxx-vcpkg/installed/arm64-osx-min1100/debug/lib/libpng16d.a -early "CONFIG += cross_compile" 'QMAKE_USE += sqlite3' 'QMAKE_LIBS_SQLITE3 = /Users/runner/mixxx-vcpkg/installed/arm64-osx-min1100/debug/lib/libsqlite3.a -ldl -lpthread' 'QMAKE_DEPENDS_SQLITE3_CC = ZLIB' 'QMAKE_DEPENDS_SQLITE3_LD = ZLIB' 'QMAKE_LIBS_ZLIB = /Users/runner/mixxx-vcpkg/installed/arm64-osx-min1100/debug/lib/libz.a' /Users/runner/mixxx-vcpkg/buildtrees/qt5-base/arm64-osx-min1100-dbg/config.tests/sqlite3

@fwcd
Copy link
Member Author

fwcd commented Oct 20, 2023

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 /Application/Xcode_15.0.app should be available in macos-13 runners.

@fwcd
Copy link
Member Author

fwcd commented Oct 20, 2023

qt/qtbase@eda2862 yields the same error unfortunately.

@daschuer
Copy link
Member

This patch: daschuer@fef038f
fixes the issue for me. I think that XCode 15 has no libpthread because it is build in.
The original sqlite CMakeLists.txt uses find_package(Threads) which handles the situation. This is not available in the qt5 vcpkg because we have no cmake project() call.

@fwcd
Copy link
Member Author

fwcd commented Oct 23, 2023

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.

I think that XCode 15 has no libpthread because it is built in.

It seems to indeed be the case that -lpthread and -ldl are redundant on macOS. Quoting Apple's docs:

The libSystem library also includes functions that you would normally expect to find in libc and libm, RPC services, and a name resolver. Because libSystem is automatically linked into your application, you do not need to explicitly add it to the compiler’s link line. For your convenience, many of these libraries exist as symbolic links to libSystem, so while explicitly linking against -lm (for example) is not needed, it will not cause an error.

If we peek inside Xcode's SDK, we can verify that these libraries are indeed symlinks to libSystem:

$ 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 -lpthread or -ldl causes trouble. It would likely build fine, even though it confuses Qt's library lookup:

None of [libdl.dylib libdl.tbd libdl.a] found in [] and global paths.
None of [libpthread.dylib libpthread.tbd libpthread.a] found in [] and global paths.

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!

@fwcd
Copy link
Member Author

fwcd commented Oct 23, 2023

Can confirm that the built Mixxx works!

Copy link
Member

@daschuer daschuer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, Thank you.

@daschuer daschuer merged commit 9e85dfd into mixxxdj:2.4 Oct 24, 2023
@fwcd fwcd deleted the mixxx/fix-qt5-xcode15 branch October 24, 2023 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants