#52531 closed defect (fixed)
qt5-qtwebengine: unknown class name 'CBCentralManagerDelegate'
Reported by: | skymoo (Adam Mercer) | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | mkae (Marko Käning), vs-never@…, RJVB (René Bertin), andrewpaulreeves (Andrew Reeves), tim-rohrer (tim.rohrer) | |
Port: | qt5-qtwebengine |
Description (last modified by skymoo (Adam Mercer))
Getting the following build error with qt5-qtwebengine
on El Capitan, with Xcode8:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtwebengine/work/qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/device/bluetooth/bluetooth_low_energy_discovery_manager_mac.mm:46:16: error: unknown class name 'CBCentralManagerDelegate'; did you mean 'CBCentralManager'? :info:build : NSObject<CBCentralManagerDelegate> { :info:build ^~~~~~~~~~~~~~~~~~~~~~~~ :info:build CBCentralManager :info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt5/qt5-qtwebengine/work/qtwebengine-opensource-src-5.6.1/src/3rdparty/chromium/base/mac/sdk_forward_declarations.h:44:8: note: 'CBCentralManager' declared here :info:build @class CBCentralManager; :info:build ^
Full build log is attached
Attachments (2)
Change History (28)
Changed 8 years ago by skymoo (Adam Mercer)
comment:1 Changed 8 years ago by skymoo (Adam Mercer)
Description: | modified (diff) |
---|
comment:2 Changed 8 years ago by mkae (Marko Käning)
Cc: | mk@… added |
---|
comment:6 Changed 8 years ago by mkae (Marko Käning)
Cc: | RJVB added |
---|---|
Version: | 2.3.4 |
RJVB, what did you do in qt5-kde
to fix this?
comment:7 Changed 8 years ago by RJVB (René Bertin)
Did you even build QWE on 10.11? This doesn't ring a bell for me at all.
I suppose an answer can be found via google, but I'm currently grappling with QWE 5.7.0 ...
I do see that that version introduces some changes but still uses NSObject<CBCentralManagerDelegate> but presumable defines that @protocol in sdk_forward_declarations.h :
@protocol CBCentralManagerDelegate; @protocol CBCentralManagerDelegate<NSObject> - (void)centralManagerDidUpdateState:(CBCentralManager*)central; - (void)centralManager:(CBCentralManager*)central didDiscoverPeripheral:(CBPeripheral*)peripheral advertisementData:(NSDictionary*)advertisementData RSSI:(NSNumber*)RSSI; @end
comment:8 Changed 8 years ago by mkae (Marko Käning)
Oh, realized only now, that this also fails for qt5-kde-qtwebengine
when I built kf5-baseapps
...
comment:9 Changed 8 years ago by andrewpaulreeves (Andrew Reeves)
Cc: | andrewpaulreeves added |
---|
comment:10 Changed 8 years ago by ken-cunningham-webuse
as you point out, it seems to be getting hung up on the bluetooth code. When my simplistic attempts to repair the bluetooth code in the offending file failed, I tried just disabling bluetooth in the build
qtconnectivity { 79b26da05686ec6cc57188e87383f9f97c309f10 5a35abf6b515091e4b181b78d0ed82249972bf93f227d52c70531417c448d919 "" "" "qtbase qtdeclarative qtxmlpatterns" # {"Qt Bluetooth" "Qt NFC"} {"Qt NFC"} "" "variant overrides: " }
but that didn't work. Chromium tried to build it anyway. I noticed this
-DDEVICE_BLUETOOTH_IMPLEMENTATION
in the build line, and that seemed ripe to be turned off, but I couldn't locate the right place to disable it.
comment:11 Changed 8 years ago by RJVB (René Bertin)
You only handled the dependency declaration here. There may be a simple configure option to disable bluetooth support, and in that case you can add it to the port's configure.args definition . Otherwise you'll have to search the build system files and create a patch for those.
Oh, and you were attacking the qtconnectivity subport. That's not the one you want for this issue. Much as I wonder why qtwebengine would need to have its own lowlevel bluetooth stuff, I can see some one might want to use QtConnectivity to do BT-related things.
comment:12 Changed 8 years ago by tim-rohrer (tim.rohrer)
Cc: | tim-rohrer added |
---|
comment:13 Changed 8 years ago by josephsacco
I see the same issues when attempting to build on an iMac running OS X 10.12.1. I also noticed that version 5.7 of qt5 is now the current version. Maybe it is time to update.
-Joseph
comment:14 Changed 8 years ago by RJVB (René Bertin)
Qt 5.6 is a LTS release; issues like this ought to be addressed in the next point release.
You're not wrong though, 5.6 will not see new development/features but as far as QWE is concerned we should wait at least for 5.7.1 and maybe even 5.8 .
Chromium has lots of (hidden) configure options, but I don't see anything to disable bluetooth. I don't think it'd be a big loss to disable it (for the moment), but that'd require hacking into the build system. I'm attaching an *untested* patch which aims to do that, please apply it and see how that affects the build.
Changed 8 years ago by RJVB (René Bertin)
Attachment: | patch-qwe-disable-bt-560.diff added |
---|
comment:15 Changed 8 years ago by tim-rohrer (tim.rohrer)
Noob question. Is that patch already applied to the source port install downloads to build QWE? Or would we need to apply the diff locally before building?
comment:16 Changed 8 years ago by RJVB (René Bertin)
No, this is a patch I just made; you'll have to apply it yourself using something like
> sudo port clean qt5-qtwebengine > sudo port -no patch qt5-qtwebengine > sudo sh -c "cd `port work qt5-qtwebengine`/qtwebengine* ; patch -Np0 -i /path/to/patch-qwe-disable-bt-560.diff" > sudo port -no build qt5-qtwebengine > sudo port install qt5-qtwebengine
comment:17 Changed 8 years ago by slarew
Cc: | slarew added |
---|
comment:18 Changed 8 years ago by slarew
Cc: | mkae, vs-never@hotmail.com, slarew, RJVB, andrewpaulreeves, tim-rohrer, slarew → mkae, vs-never@hotmail.com, RJVB, andrewpaulreeves, tim-rohrer, slarew |
---|
comment:19 Changed 8 years ago by slarew
Cc: | slarew removed |
---|
comment:20 Changed 8 years ago by slarew
Cc: | slarew added |
---|
comment:21 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Status: | new → accepted |
---|
14c4198/macports-ports added qtwebengine patches.
Did this by chance fix the problem?
comment:22 Changed 8 years ago by skymoo (Adam Mercer)
Looks like it did, at least on Sierra, I'll check my El Capitan system when I get into work.
comment:23 Changed 8 years ago by skymoo (Adam Mercer)
Looks like this did the trick on El Capitan as well.
comment:24 Changed 8 years ago by tim-rohrer (tim.rohrer)
I was able to install the py35-pyqt5. Thank you!
comment:25 Changed 8 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:26 Changed 10 months ago by slarew
Cc: | slarew removed |
---|
Cc Me!