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)

main.log (157.3 KB) - added by OceanS2000 (Ocean Shen) 5 years ago.

Download all attachments as: .zip

Change History (8)

Changed 5 years ago by OceanS2000 (Ocean Shen)

Attachment: main.log added

comment:1 Changed 5 years ago by mf2k (Frank Schima)

In the future, please add the port maintainer(s) to Cc (port info --maintainers qt5-qtconnectivity), if any.

comment:2 Changed 5 years ago by mf2k (Frank Schima)

Keywords: catalina added
Owner: set to MarcusCalhoun-Lopez
Status: newassigned

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
Last edited 5 years ago by OceanS2000 (Ocean Shen) (previous) (diff)

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: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: assignedclosed

This problem seems to be fixed by the upgrade to 5.12.5.

Note: See TracTickets for help on using tickets.