Opened 2 years ago
Last modified 2 years ago
#65544 assigned defect
qt(55|56|57)-qtconnectivity: error: use of undeclared identifier 'IOBluetoothAddServiceDict', 'IOBluetoothRemoveServiceWithRecordHandle'
Reported by: | chrstphrchvz (Christopher Chavez) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.2 |
Keywords: | Cc: | ||
Port: | qt55-qtconnectivity qt56-qtconnectivity qt57-qtconnectivity |
Description
qt55-qtconnectivity, qt56-qtconnectivity, and qt57-qtconnectivity use APIs which were removed in the macOS 10.15 SDK:
/usr/bin/clang -c -pipe -O2 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk -std=c++11 -stdlib=libc++ -mmacosx-version-min=12.0 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -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_OSX_BLUETOOTH -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.5.1 -I../../include/QtBluetooth/5.5.1/QtBluetooth -I/opt/local/libexec/qt5/lib/QtCore.framework/Headers -I/opt/local/libexec/qt5/lib/QtConcurrent.framework/Headers -I.moc -I/opt/local/libexec/qt5/mkspecs/macx-clang -F/opt/local/libexec/qt5/lib qbluetoothserviceinfo_osx.mm -o .obj/qbluetoothserviceinfo_osx.o qbluetoothserviceinfo_osx.mm:158:33: error: use of undeclared identifier 'IOBluetoothAddServiceDict' const IOReturn status = IOBluetoothAddServiceDict((CFDictionaryRef)serviceDict.data(), &recordRef); ^ qbluetoothserviceinfo_osx.mm:216:13: error: use of undeclared identifier 'IOBluetoothRemoveServiceWithRecordHandle'; did you mean 'BluetoothSDPServiceRecordHandle'? IOBluetoothRemoveServiceWithRecordHandle(newRecordHandle); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk/System/Library/Frameworks/IOBluetooth.framework/Headers/Bluetooth.h:2918:18: note: 'BluetoothSDPServiceRecordHandle' declared here typedef uint32_t BluetoothSDPServiceRecordHandle; ^ qbluetoothserviceinfo_osx.mm:253:9: error: use of undeclared identifier 'IOBluetoothRemoveServiceWithRecordHandle'; did you mean 'BluetoothSDPServiceRecordHandle'? IOBluetoothRemoveServiceWithRecordHandle(serviceRecordHandle); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.0.sdk/System/Library/Frameworks/IOBluetooth.framework/Headers/Bluetooth.h:2918:18: note: 'BluetoothSDPServiceRecordHandle' declared here typedef uint32_t BluetoothSDPServiceRecordHandle; ^
Ports will likely need to be marked known_fail yes
for now. If someone wants these ports to build on 10.15 and later (and possibly 10.14 with Xcode 11), consider looking into backporting the upstream change for 10.9 and later (https://invent.kde.org/qt/qt/qtconnectivity/-/commit/6b6b4fea), as done by fink for Qt 5.7 (https://github.com/fink/fink-distributions/blob/master/10.9-libcxx/stable/main/finkinfo/libs/qt5-qtconnectivity-xcode11.3.patch).
Note: See
TracTickets for help on using
tickets.
In 67cf76cfab9cb38d87597ba8fde4067258de40b6/macports-ports (master):