Opened 5 years ago

Last modified 4 years ago

#50269 new defect

qt4-mac @4.8.7_3: use of undeclared CoreWLAN identifiers

Reported by: murrayeisenberg@… Owned by: michaelld (Michael Dickens)
Priority: Normal Milestone:
Component: ports Version: 2.3.4
Keywords: Cc:
Port: qt4-mac

Description

Under OS X 10.11.2 and current Xcode 7.2 (including command-line tools), I'm getting a build failure during attempted update qt4-mac 4.8.7_2 to 4.8.7_3. Error seems to be:

:info:build ld: warning: directory not found for option '-F/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.7/Library/Frameworks'

leading to:

:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_aqua_qt4-mac/qt4-mac/work/qt-everywhere-opensource-src-4.8.7" && /usr/bin/make -j8 -w all 
:info:build Exit code: 2
:error:build org.macports.build for port qt4-mac returned: command execution failed
:debug:build Error code: CHILDSTATUS 68927 2
:debug:build Backtrace: command execution failed
    while executing
"system -nice 0 $fullcmdstring"
    ("eval" body line 1)
    invoked from within
"eval system $notty $nice \$fullcmdstring"
    invoked from within
"command_exec build"
    (procedure "portbuild::build_main" line 8)
    invoked from within
"portbuild::build_main org.macports.build"
    ("eval" body line 1)
    invoked from within
"eval $procedure $targetname"
:info:build Warning: targets not executed for qt4-mac: org.macports.install org.macports.build org.macports.destroot

Attachments (3)

main.log.bz2 (704.4 KB) - added by ryandesign (Ryan Schmidt) 5 years ago.
compressed version of murrayeisenberg's log
no-rev-upgrade.txt (138.6 KB) - added by murrayeisenberg@… 5 years ago.
qt4-mac_2016-01-27_main.log (54.7 MB) - added by murrayeisenberg@… 5 years ago.
main.log for attempted upgrade 2016-01027

Change History (12)

comment:1 Changed 5 years ago by ryandesign (Ryan Schmidt)

Cc: michaelld removed
Keywords: build qt removed
Owner: changed from macports-tickets@… to michaelld@…
Summary: update to qt4-mac @4.8.7_3 build failsqt4-mac @4.8.7_3: use of undeclared CoreWLAN identifiers

The Cc field requires complete email addresses.

I've replaced your large main.log file with a compressed version of it.

The message you cited is a warning, not an error. The real errors in the log seem to be:

$ grep '^:info:build .* error: ' main.log 
:info:build ./qcorewlanengine_10_6.mm:69:88: error: use of undeclared identifier 'kCWPowerDidChangeNotification'; did you mean 'CWPowerDidChangeNotification'?
:info:build ./qcorewlanengine_10_6.mm:150:67: error: use of undeclared identifier 'kCWScanKeyMerge'
:info:build ./qcorewlanengine_10_6.mm:151:60: error: use of undeclared identifier 'kCWScanTypeFast'
:info:build ./qcorewlanengine_10_6.mm:151:78: error: use of undeclared identifier 'kCWScanKeyScanType'
:info:build ./qcorewlanengine_10_6.mm:152:70: error: use of undeclared identifier 'kCWScanKeyRestTime'
:info:build ./qcorewlanengine_10_6.mm:168:39: error: property 'interfaceState' not found on object of type 'CWInterface *'; did you mean 'interfaceName'?
:info:build ./qcorewlanengine_10_6.mm:168:67: error: use of undeclared identifier 'kCWInterfaceStateRunning'
:info:build ./qcorewlanengine_10_6.mm:181:59: error: use of undeclared identifier 'kCWSecurityModeOpen'; did you mean 'kCWSecurityNone'?
:info:build ./qcorewlanengine_10_6.mm:211:35: error: property 'interfaceState' not found on object of type 'CWInterface *'; did you mean 'interfaceName'?
:info:build ./qcorewlanengine_10_6.mm:211:63: error: use of undeclared identifier 'kCWInterfaceStateRunning'
:info:build ./qcorewlanengine_10_6.mm:468:31: error: use of undeclared identifier 'CW8021XProfile'
:info:build ./qcorewlanengine_10_6.mm:482:70: error: use of undeclared identifier 'kCWAssocKey8021XProfile'
:info:build ./qcorewlanengine_10_6.mm:503:72: error: use of undeclared identifier 'kCWScanKeyMerge'
:info:build ./qcorewlanengine_10_6.mm:504:65: error: use of undeclared identifier 'kCWScanTypeFast'
:info:build ./qcorewlanengine_10_6.mm:504:83: error: use of undeclared identifier 'kCWScanKeyScanType'
:info:build ./qcorewlanengine_10_6.mm:505:75: error: use of undeclared identifier 'kCWScanKeyRestTime'
:info:build ./qcorewlanengine_10_6.mm:506:91: error: use of undeclared identifier 'kCWScanKeySSID'
:info:build ./qcorewlanengine_10_6.mm:569:60: error: use of undeclared identifier 'kCWAssocKeyPassphrase'
:info:build ./qcorewlanengine_10_6.mm:608:53: error: use of undeclared identifier 'kCWInterfaceStateInactive'; did you mean 'kCWInterfaceModeStation'?

Changed 5 years ago by ryandesign (Ryan Schmidt)

Attachment: main.log.bz2 added

compressed version of murrayeisenberg's log

Changed 5 years ago by murrayeisenberg@…

Attachment: no-rev-upgrade.txt added

comment:2 Changed 5 years ago by neverpanic (Clemens Lang)

Looks like there used to be a patch for this at source:trunk/dports/aqua/qt4-mac/files/patch-src_plugins_bearer_corewlan_qcorewlanengine.mm.diff@119771 in response to #40852 that was removed in r119772 because it was supposed to be no longer needed. The relevant question is why your system still tries to use it.

Rev-upgrade marks your qt4-mac as broken because of:

Could not open /opt/local/lib/libmng.1.dylib: Error opening or reading file (referenced from /opt/local/libexec/qt4/share/plugins/imageformats/libqmng.dylib)
DEBUG: Marking /opt/local/libexec/qt4/share/plugins/imageformats/libqmng.dylib as broken

libmng currently provides /opt/local/lib/libmng.2.dylib, so this finding is correct. The mng image format plugin for your qt4-mac installation is broken and needs to be rebuilt.

comment:3 in reply to:  2 Changed 5 years ago by murrayeisenberg@…

Replying to cal@…:

Looks like there used to be a patch for this at source:trunk/dports/aqua/qt4-mac/files/patch-src_plugins_bearer_corewlan_qcorewlanengine.mm.diff@119771 in response to #40852 that was removed in r119772 because it was supposed to be no longer needed. The relevant question is why your system still tries to use it.

Rev-upgrade marks your qt4-mac as broken because of:

Could not open /opt/local/lib/libmng.1.dylib: Error opening or reading file (referenced from /opt/local/libexec/qt4/share/plugins/imageformats/libqmng.dylib)
DEBUG: Marking /opt/local/libexec/qt4/share/plugins/imageformats/libqmng.dylib as broken

libmng currently provides /opt/local/lib/libmng.2.dylib, so this finding is correct. The mng image format plugin for your qt4-mac installation is broken and needs to be rebuilt.

Sorry, but I have no idea what I'm supposed to do here (there's no such port as libqmng or mng). How should I proceed?

Also, the earlier diagnosis by ryandesign pointed to an error in undeclared CoreWLAN identifiers. What's the relationship of that?

comment:4 Changed 5 years ago by neverpanic (Clemens Lang)

The undeclared CoreWLAN identifiers are unrelated to libmng. libmng is why MacPorts considers your qt4-mac installation broken and attempts to rebuild it (against the newer copy of libmng), CoreWLAN is why it fails to rebuild. The patches and commits I linked are related to CoreWLAN – it seems the issues you are seeing should already be resolved with Qt 4.8.x. The maintainer will have to find out why it doesn't work for you.

Note that while there is no port libqmng or mng, there is a libmng port. There isn't anything you can do with it to fix it though, the problem needs to be fixed by rebuilding qt4-mac.

comment:5 Changed 5 years ago by michaelld (Michael Dickens)

This is quite strange. You're trying to build on OS X 10.11, but for some reason the qcorewlan code either has the incorrect value for __MAC_OS_X_VERSION_MAX_ALLOWED or MAC_OS_X_VERSION_10_7. The code in question is "qt-everywhere-opensource-src-4.8.7/src/plugins/bearer/corewlan/qcorewlanengine.mm" line 65, which reads:

#if __MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7

This switch was added a long time ago & has worked nicely for -everyone- that I know of since it's addition. It's really strange that your setup is the first I've encountered where this switch isn't working.

I find nothing strange or odd in the log file. Just out of curiosity, did you do a full clean before trying to install? Sometimes cruft happens & that's the best way to get rid of it:

sudo port clean qt4-mac
sudo port upgrade qt4-mac

That's really my best idea right now. That and maybe Xcode didn't get installed correctly somehow & to try reinstalling it?

Anyway, I have no idea what the issue might be. Maybe this info will trigger someone else's neurons to have a solution.

comment:6 in reply to:  5 Changed 5 years ago by murrayeisenberg@…

Replying to michaelld@…:

This is quite strange. You're trying to build on OS X 10.11, but for some reason the qcorewlan code either has the incorrect value for __MAC_OS_X_VERSION_MAX_ALLOWED or MAC_OS_X_VERSION_10_7. The code in question is "qt-everywhere-opensource-src-4.8.7/src/plugins/bearer/corewlan/qcorewlanengine.mm" line 65, which reads:

#if __MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7

This switch was added a long time ago & has worked nicely for -everyone- that I know of since it's addition. It's really strange that your setup is the first I've encountered where this switch isn't working.

I find nothing strange or odd in the log file. Just out of curiosity, did you do a full clean before trying to install? Sometimes cruft happens & that's the best way to get rid of it:

sudo port clean qt4-mac
sudo port upgrade qt4-mac

That's really my best idea right now. That and maybe Xcode didn't get installed correctly somehow & to try reinstalling it?

Certainly I executed "sudo port clean qt4-mac" before attempting upgrade again. (I even did a clean re-install of Xcode 7.2 and the corresponding command-line tools, just in case.)

And the defect is persisting now with OS X 10.11.3.

comment:7 Changed 5 years ago by michaelld (Michael Dickens)

Just for kicks and grins, can you attach the build log from the clean start, from after updating Xcode & the CLI tools? I doubt it'll help but you never know.

comment:8 Changed 5 years ago by murrayeisenberg@…

Per request from michaelld, attached is main.log from my latest attempt to upgrade qt4-mac, after a clean re-install of Xcode 7.2 and the corresponding command-line tools under OS X 10.11.3. The upgrade was attempted after a "sudo port clean qt4-mac", of course.

Changed 5 years ago by murrayeisenberg@…

Attachment: qt4-mac_2016-01-27_main.log added

main.log for attempted upgrade 2016-01027

comment:9 Changed 4 years ago by ken-cunningham-webuse

deleted

Last edited 4 years ago by ken-cunningham-webuse (previous) (diff)
Note: See TracTickets for help on using tickets.