Opened 8 years ago

Closed 7 years ago

#52203 closed defect (fixed)

10.12 SDK breaks qt5-qtconnectivity build

Reported by: howarth.at.macports@… Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc: ctreleaven (Craig Treleaven), astroboylrx (Rixin Li), larsvancasteren@…, wybosys@…, me@…, 3add3287 (3add3287), mamoll (Mark Moll), sebastian@…, vs-never@…, mkae (Marko Käning), axet (Alexey Kuznetsov), skymoo (Adam Mercer), raimue (Rainer Müller)
Port: qt5-qtconnectivity

Description

The 10.12 SDK breaks the build of qt5-qtconnectivity under Xcode 8 on 10.11 with the error...

/usr/bin/clang++ -c -pipe -stdlib=libc++ -stdlib=libc++ -O2 -std=c++1z -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.11 -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -fPIC -DQT_NO_MTDEV -DQT_NO_LIBUDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DQT_OSX_BLUETOOTH -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.6.1 -I../../include/QtBluetooth/5.6.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 -o .obj/osxbtutility.o osx/osxbtutility.mm
osx/osxbtutility.mm:171:14: error: property 'data' cannot be found in forward class object 'CBUUID'
    if (uuid.data.length == 2) {
        ~~~~ ^
osx/osxbtutility_p.h:58:8: note: forward declaration of class here
@class CBUUID;
       ^
osx/osxbtutility.mm:174:66: error: property 'data' cannot be found in forward class object 'CBUUID'
        const uchar *const src = static_cast<const uchar *>(uuid.data.bytes);
                                                            ~~~~ ^
osx/osxbtutility_p.h:58:8: note: forward declaration of class here
@class CBUUID;
       ^
osx/osxbtutility.mm:176:21: error: property 'data' cannot be found in forward class object 'CBUUID'
    } else if (uuid.data.length == 16) {
               ~~~~ ^
osx/osxbtutility_p.h:58:8: note: forward declaration of class here
@class CBUUID;
       ^
osx/osxbtutility.mm:178:71: error: property 'data' cannot be found in forward class object 'CBUUID'
        const quint8 *const source = static_cast<const quint8 *>(uuid.data.bytes);
                                                                 ~~~~ ^
osx/osxbtutility_p.h:58:8: note: forward declaration of class here
@class CBUUID;
       ^
osx/osxbtutility.mm:184:36: error: property 'data' cannot be found in forward class object 'CBUUID'
                           << uuid.data.length << " bytes length";
                              ~~~~ ^
osx/osxbtutility_p.h:58:8: note: forward declaration of class here
@class CBUUID;
       ^
osx/osxbtutility.mm:188:14: error: property 'data' cannot be found in forward class object 'CBUUID'
    if (uuid.data.length != 16) // TODO: warning?
        ~~~~ ^
osx/osxbtutility_p.h:58:8: note: forward declaration of class here
@class CBUUID;
       ^
osx/osxbtutility.mm:213:41: warning: receiver 'CBUUID' is a forward class and corresponding @interface may not exist [-Wreceiver-forward-class]
    ObjCStrongReference<CBUUID> cbUuid([CBUUID UUIDWithCFUUID:cfUuid], true); //true == retain.
                                        ^~~~~~
osx/osxbtutility_p.h:58:8: note: forward declaration of class here
@class CBUUID;
       ^
osx/osxbtutility.mm:213:48: warning: class method '+UUIDWithCFUUID:' not found (return type defaults to 'id') [-Wobjc-method-access]
    ObjCStrongReference<CBUUID> cbUuid([CBUUID UUIDWithCFUUID:cfUuid], true); //true == retain.
                                               ^~~~~~~~~~~~~~
2 warnings and 6 errors generated.
make: *** [.obj/osxbtutility.o] Error 1

Substituting the 10.11 SDK from Xcode 7.3.1 eliminates the compile failure.

Attachments (1)

patch-qtconn-for-10.12.diff (2.2 KB) - added by RJVB (René Bertin) 7 years ago.

Download all attachments as: .zip

Change History (20)

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

Cc: mcalhoun@… removed
Owner: changed from macports-tickets@… to mcalhoun@…

comment:2 Changed 8 years ago by ctreleaven (Craig Treleaven)

Cc: ctreleaven@… added

Cc Me!

comment:3 Changed 8 years ago by astroboylrx (Rixin Li)

Cc: astroboylrx@… added

Cc Me!

comment:4 Changed 7 years ago by larsvancasteren@…

Cc: larsvancasteren@… added

Cc Me!

comment:5 Changed 7 years ago by wybosys@…

Cc: wybosys@… added

Cc Me!

comment:6 Changed 7 years ago by me@…

Cc: me@… added

Cc Me!

comment:7 Changed 7 years ago by 3add3287 (3add3287)

Cc: torstenb@… added

Cc Me!

comment:8 Changed 7 years ago by mamoll (Mark Moll)

Cc: mmoll@… added

Cc Me!

comment:9 Changed 7 years ago by sebastian@…

Cc: sebastian@… added

Cc Me!

comment:10 Changed 7 years ago by vs-never@…

Cc: vs-never@… added

Cc Me!

comment:11 Changed 7 years ago by RJVB (René Bertin)

I'm pretty sure I've stumbled across fragments of instructions on how to install the 10.11 SDK in Xcode 8 in recent google searches. That could at least provide a temporary workaround until a better fix is found.

Edit: it's been my experience with Qt5 that it is a good idea in general to use the platform-specific SDK (or at the very least, specify the SDK to be used explicitly rather than letting the build system and/or compiler figure out which one to use).

Last edited 7 years ago by RJVB (René Bertin) (previous) (diff)

comment:12 Changed 7 years ago by mkae (Marko Käning)

Cc: mk@… added

Cc Me!

comment:13 Changed 7 years ago by axet (Alexey Kuznetsov)

Cc: axet@… added

Cc Me!

comment:14 Changed 7 years ago by RJVB (René Bertin)

A patch has been proposed upstream: https://codereview.qt-project.org/#/c/172619/; I'll attach it to this ticket (it's already included in my port:qt5-kde but only tested on 10.9)

Changed 7 years ago by RJVB (René Bertin)

Attachment: patch-qtconn-for-10.12.diff added

comment:15 Changed 7 years ago by mkae (Marko Käning)

The patch fixed building qt5-kde on El Capitan 10.11.6 - containing only the 10.12 SDK.

Thanks, René, for investigating this!

comment:16 Changed 7 years ago by mamoll (Mark Moll)

The patch fixes the build on MacOS Sierra 10.12 with 10.12 SDK.

comment:17 Changed 7 years ago by skymoo (Adam Mercer)

Cc: ram@… added

Cc Me!

comment:18 Changed 7 years ago by raimue (Rainer Müller)

Cc: raimue@… added

Cc Me!

comment:19 Changed 7 years ago by raimue (Rainer Müller)

Resolution: fixed
Status: newclosed

Thank you! Patch added to Portfile in r153655.

Note: See TracTickets for help on using tickets.