Opened 5 years ago
Closed 5 years ago
#58818 closed defect (fixed)
qt5-qtconnectivity @5.12.4: failed to build on macOS 10.15 public beta (19A526h)
Reported by: | OceanS2000 (Ocean Shen) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.5.4 |
Keywords: | catalina | Cc: | |
Port: | qt5-qtconnectivity |
Description
The macOS 10.15 SDK shipped with Xcode command line tools beta breaks build of qt5-qtconnectivity with an ambiguous cast.
The build log is attached.
Attachments (1)
Change History (8)
Changed 5 years ago by OceanS2000 (Ocean Shen)
comment:1 Changed 5 years ago by mf2k (Frank Schima)
comment:2 Changed 5 years ago by mf2k (Frank Schima)
Keywords: | catalina added |
---|---|
Owner: | set to MarcusCalhoun-Lopez |
Status: | new → assigned |
comment:3 Changed 5 years ago by OceanS2000 (Ocean Shen)
Sorry for not including cc field.
I tried to hack the Make to use clang-8.0
from MacPorts to build the module with upstream source, but failed with the same error. Maybe an upstream issue here?
/opt/local/bin/clang++-mp-8.0 -c -include.pch/release/QtBluetooth/objective-c++_x86_64 -pipe -stdlib=libc++ -O2 -std=c++1y -fapplication-extension -arch x86_64 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -mmacosx-version-min=10.12 -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -Winconsistent-missing-override -Wobjc-interface-ivars -Wobjc-method-access -Wobjc-multiple-method-names -Werror=unguarded-availability -Werror=unguarded-availability-new -Werror=unsupported-availability-guard -fPIC -DQT_NO_FOREACH -DQT_OSX_BLUETOOTH -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_BLUETOOTH_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -I. -I../../include -I../../include/QtBluetooth -I../../include/QtBluetooth/5.12.4 -I../../include/QtBluetooth/5.12.4/QtBluetooth -I/Users/<user>/Code/Qt512/5.12.4/clang_64/lib/QtCore.framework/Headers/5.12.4 -I/Users/<user>/Code/Qt512/5.12.4/clang_64/lib/QtCore.framework/Headers/5.12.4/QtCore -I/Users/<user>/Code/Qt512/5.12.4/clang_64/lib/QtCore.framework/Headers -I/Users/<user>/Code/Qt512/5.12.4/clang_64/lib/QtConcurrent.framework/Headers -I.moc/release -I/usr/local/opt/openssl/include -I/Users/<user>/Code/Qt512/5.12.4/clang_64/mkspecs/macx-clang -F/Users/<user>/Code/Qt512/5.12.4/clang_64/lib -o .obj/release/osxbtperipheralmanager.o osx/osxbtperipheralmanager.mm osx/osxbtperipheralmanager.mm:343:9: error: conversion from 'ObjCScopedPointer<CBPeripheralManager>' to 'bool' is ambiguous if (manager) ^~~~~~~ osx/osxbtutility_p.h:86:5: note: candidate function operator T*() const ^ /Users/<user>/Code/Qt512/5.12.4/clang_64/lib/QtCore.framework/Headers/qscopedpointer.h:132:5: note: candidate function operator RestrictedBool() const Q_DECL_NOTHROW ^ osx/osxbtperipheralmanager.mm:408:5: error: conversion from 'ObjCScopedPointer<CBPeripheralManager>' to 'bool' is ambiguous Q_ASSERT(manager); ^~~~~~~~~~~~~~~~~ /Users/<user>/Code/Qt512/5.12.4/clang_64/lib/QtCore.framework/Headers/qglobal.h:780:55: note: expanded from macro 'Q_ASSERT' # define Q_ASSERT(cond) static_cast<void>(false && (cond)) ^~~~~~ osx/osxbtutility_p.h:86:5: note: candidate function operator T*() const ^ /Users/<user>/Code/Qt512/5.12.4/clang_64/lib/QtCore.framework/Headers/qscopedpointer.h:132:5: note: candidate function operator RestrictedBool() const Q_DECL_NOTHROW ^ 2 errors generated. make[3]: *** [.obj/release/osxbtperipheralmanager.o] Error 1 make[2]: *** [release-all] Error 2 make[1]: *** [sub-bluetooth-make_first] Error 2 make: *** [sub-src-make_first] Error 2
comment:4 Changed 5 years ago by kencu (Ken)
Each version of clang is increasingly strict with standards, and code needs to be further refined to pass all the error tests with each new clang version. Upstream will no doubt come to fix it.
You might try building it with some older version of clang -- I'm not sure how old will be possible on that OS.
comment:5 Changed 5 years ago by ra1nb0w
https://github.com/qt/qtconnectivity/commit/0fc7e18bf7a24c9408602242d51a852905dfd0da.patch
https://github.com/qt/qtconnectivity/commit/8110fdd4c6d80d05934768fa808a4cb187212fe0.patch
fix the build.
They are available on qt 5.12.5
comment:6 Changed 5 years ago by pmetzger (Perry E. Metzger)
We're now at qt 5.12.5, does that fix this?
comment:7 Changed 5 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
This problem seems to be fixed by the upgrade to 5.12.5.
In the future, please add the port maintainer(s) to Cc (
port info --maintainers qt5-qtconnectivity
), if any.