depends: Qt fails to build on osx 10.9.5 #5353

issue fanquake opened this issue on November 23, 2014
  1. fanquake commented at 7:05 AM on November 23, 2014: member

    Compilation is fine up until Qt. Which fails with,

    Fetching qt...
    Extracting qt...
    /bitcoin/depends/sources/qt-everywhere-opensource-src-5.2.1.tar.gz: OK
    Preprocessing qt...
    patching file qtbase/src/plugins/platforms/xcb/xcb-plugin.pro
    patching file qtbase/src/widgets/kernel/qwidgetwindow.cpp
    Configuring qt...
    grep: \c: No such file or directory
    grep: ^# *define *QT_VERSION_STR: No such file or directory
    Cannot process version from qglobal.h: 
    Cannot proceed.
    make: *** [/bitcoin/depends/work/build/x86_64-apple-darwin13.4.0/qt/5.2.1-8b85bf74239/qtbase/.stamp_configured] Error 1
    
  2. laanwj added the label Mac on Nov 24, 2014
  3. theuni commented at 5:22 PM on November 24, 2014: member

    I can't reproduce this.

    The line in question comes from qt's configure: QT_VERSION=grep '^# *define *QT_VERSION_STR' "$relpath"/src/corelib/global/qglobal.h

    Edit: $relpath is: defined above as: relpath=dirname $0 relpath=(cd "$relpath"; /bin/pwd) @fanquake is it possible that you have some odd version of grep installed that may be the root cause of some of your problems?

  4. fanquake commented at 1:04 AM on November 25, 2014: member

    @theuni I've found the cause. Not a bitcoin issue.

  5. fanquake closed this on Nov 25, 2014

  6. fanquake commented at 1:23 AM on November 25, 2014: member

    I spoke to soon.

    moc main.mm
    objective-c main.mm
    objective-c qcocoaintegration.mm
    objective-c qcocoatheme.mm
    objective-c qcocoabackingstore.mm
    objective-c qcocoawindow.mm
    objective-c qnsview.mm
    qnsview.mm:616:9: warning: 'NSInputManager' is deprecated: first deprecated in OS X 10.6 - Use NSTextInputContext instead [-Wdeprecated-declarations]
            NSInputManager* inputManager = [NSInputManager currentInputManager];
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSInputManager.h:56:12: note: 
          'NSInputManager' has been explicitly marked deprecated here
    [@interface](/bitcoin-bitcoin/contributor/interface/) NSInputManager : NSObject <NSTextInput> {
               ^
    qnsview.mm:616:41: warning: 'NSInputManager' is deprecated: first deprecated in OS X 10.6 - Use NSTextInputContext instead [-Wdeprecated-declarations]
            NSInputManager* inputManager = [NSInputManager currentInputManager];
                                            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSInputManager.h:56:12: note: 
          'NSInputManager' has been explicitly marked deprecated here
    [@interface](/bitcoin-bitcoin/contributor/interface/) NSInputManager : NSObject <NSTextInput> {
               ^
    qnsview.mm:616:56: warning: 'currentInputManager' is deprecated: first deprecated in OS X 10.6 [-Wdeprecated-declarations]
            NSInputManager* inputManager = [NSInputManager currentInputManager];
                                                           ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSInputManager.h:78:1: note: 
          'currentInputManager' has been explicitly marked deprecated here
    + (NSInputManager *) currentInputManager NS_DEPRECATED_MAC(10_0, 10_6);
    ^
    qnsview.mm:617:27: warning: 'wantsToHandleMouseEvents' is deprecated: first deprecated in OS X 10.6 [-Wdeprecated-declarations]
            if ([inputManager wantsToHandleMouseEvents]) {
                              ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSInputManager.h:107:1: note: 
          'wantsToHandleMouseEvents' has been explicitly marked deprecated here
    - (BOOL) wantsToHandleMouseEvents NS_DEPRECATED_MAC(10_0, 10_6);
    ^
    qnsview.mm:618:27: warning: 'handleMouseEvent:' is deprecated: first deprecated in OS X 10.6 [-Wdeprecated-declarations]
                [inputManager handleMouseEvent:theEvent];
                              ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSInputManager.h:109:1: note: 
          'handleMouseEvent:' has been explicitly marked deprecated here
    - (BOOL) handleMouseEvent:(NSEvent*)theMouseEvent NS_DEPRECATED_MAC(10_0, 10_6);
    ^
    5 warnings generated.
    objective-c qnsviewaccessibility.mm
    objective-c qcocoaautoreleasepool.mm
    objective-c qnswindowdelegate.mm
    objective-c qcocoaglcontext.mm
    objective-c qcocoanativeinterface.mm
    objective-c qcocoaeventdispatcher.mm
    objective-c qcocoaapplicationdelegate.mm
    qcocoaapplicationdelegate.mm:127:28: error: cannot initialize a parameter of type 'id<NSFileManagerDelegate>' with an lvalue of type 'NSObject<NSApplicationDelegate> *'
            [NSApp setDelegate:reflectionDelegate];
                               ^~~~~~~~~~~~~~~~~~
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSFileManager.h:109:47: note: 
          passing argument to parameter 'delegate' here
    [@property](/bitcoin-bitcoin/contributor/property/) (assign) id <NSFileManagerDelegate> delegate NS_AVAILABLE(10_5, 2_0);
                                                  ^
    1 error generated.
    make[4]: *** [.obj/qcocoaapplicationdelegate.o] Error 1
    make[3]: *** [sub-cocoa-make_first] Error 2
    make[2]: *** [sub-platforms-make_first] Error 2
    make[1]: *** [sub-plugins] Error 2
    make: *** [/Users/michael/Github/bitcoin/depends/work/build/x86_64-apple-darwin13.4.0/qt/5.2.1-8b85bf74239/qtbase/.stamp_built] Error 2
    
  7. fanquake reopened this on Nov 25, 2014

  8. jonasschnelli commented at 12:19 PM on November 26, 2014: contributor

    As far as i know this is a common Qt issue when building Qt on 10.10. Try to install Qt over homebrew. You can also install multiple Qt Versions like Qt.4.8 and Qt 5.2.x. Homebrew supports version switching over symlinks (check http://stackoverflow.com/questions/3987683/homebrew-install-specific-version-of-formula).

  9. jonasschnelli commented at 12:20 PM on November 26, 2014: contributor

    Because it's a Qt Bug i think this can be closed.

  10. fanquake commented at 12:29 PM on November 26, 2014: member

    @jonasschnelli I'm building on 10.9.5. My regular build does use homebrew (5.3.2) without issue. The build that is failing is for the depends system..

  11. theuni commented at 7:46 PM on December 8, 2014: member

    @fanquake You'll need to specify an older SDK, it looks like QT doesn't like building with 10.10. IIRC there's a configure option in qt's build for that. Something like -sdk 10.9.

    I suppose we should hard-code the SDK that gets used for the depends system, but that's tough on native OSX builds, because it may not exist. For example, 10.7 sdk which we currently use for releases isn't likely to be installed on 10.10 systems.

  12. theuni commented at 6:31 PM on December 31, 2014: member
  13. fanquake commented at 11:30 PM on January 1, 2015: member

    Nice. Tested Fixed.

  14. fanquake closed this on Jan 1, 2015

  15. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-21 18:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me