Issue compiling on OSX 10.11.6 with Xcode 8.0 #8741

issue wbchen99 opened this issue on September 16, 2016
  1. wbchen99 commented at 3:13 AM on September 16, 2016: none

    <!--- Remove sections that do not apply -->

    Describe the issue

    When I upgraded my MAC OSX/10.11.6 & xcode/version 8.0 and complied bitcoin sources, I got error message as follows:

    CXX qt/qt_libbitcoinqt_a-askpassphrasedialog.o In file included from qt/askpassphrasedialog.cpp:13: In file included from ./qt/walletmodel.h:8: In file included from ./qt/paymentrequestplus.h:10: In file included from ./base58.h:17: In file included from ./chainparams.h:10: In file included from ./consensus/params.h:9: In file included from ./uint256.h:15: In file included from ./crypto/common.h:14: In file included from ./compat/endian.h:14: ./compat/byteswap.h:19:17: error: C++ requires a type specifier for all declarations inline uint16_t bswap_16(uint16_t x) ^ /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:298:21: note: expanded from macro 'bswap_16'

    define bswap_16(x) OSSwapInt16(x)

                    ^
    

    /usr/include/libkern/OSByteOrder.h:54:24: note: expanded from macro 'OSSwapInt16'

    define OSSwapInt16(x) __DARWIN_OSSwapInt16(x)

                        ^
    

    /usr/include/libkern/_OSByteOrder.h:72:19: note: expanded from macro '__DARWIN_OSSwapInt16' ((__uint16_t)(__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt16(x) : _OSSwapInt16(x))) ^ In file included from qt/askpassphrasedialog.cpp:13: In file included from ./qt/walletmodel.h:8: In file included from ./qt/paymentrequestplus.h:10: In file included from ./base58.h:17: In file included from ./chainparams.h:10: In file included from ./consensus/params.h:9: In file included from ./uint256.h:15: In file included from ./crypto/common.h:14: In file included from ./compat/endian.h:14: ./compat/byteswap.h:19:17: error: expected ')' /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:298:21: note: expanded from macro 'bswap_16'

    define bswap_16(x) OSSwapInt16(x)

                    ^
    

    /usr/include/libkern/OSByteOrder.h:54:24: note: expanded from macro 'OSSwapInt16'

    define OSSwapInt16(x) __DARWIN_OSSwapInt16(x)

                        ^
    

    /usr/include/libkern/_OSByteOrder.h:72:43: note: expanded from macro '__DARWIN_OSSwapInt16' ((__uint16_t)(__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt16(x) : _OSSwapInt16(x))) ^ ./compat/byteswap.h:19:17: note: to match this '(' /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:298:21: note: expanded from macro 'bswap_16'

    define bswap_16(x) OSSwapInt16(x)

                    ^
    

    /usr/include/libkern/OSByteOrder.h:54:24: note: expanded from macro 'OSSwapInt16'

    define OSSwapInt16(x) __DARWIN_OSSwapInt16(x)

                        ^
    

    /usr/include/libkern/_OSByteOrder.h:72:18: note: expanded from macro '__DARWIN_OSSwapInt16' ((__uint16_t)(__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt16(x) : _OSSwapInt16(x))) ^ In file included from qt/askpassphrasedialog.cpp:13: In file included from ./qt/walletmodel.h:8: In file included from ./qt/paymentrequestplus.h:10: In file included from ./base58.h:17: In file included from ./chainparams.h:10: In file included from ./consensus/params.h:9: In file included from ./uint256.h:15: In file included from ./crypto/common.h:14: In file included from ./compat/endian.h:14: ./compat/byteswap.h:21:13: error: use of undeclared identifier 'x' return (x >> Cool | ((x & 0x00ff) << Cool; ^ ./compat/byteswap.h:21:25: error: use of undeclared identifier 'x' return (x >> Cool | ((x & 0x00ff) << Cool; ^ ./compat/byteswap.h:26:17: error: expected ')' inline uint32_t bswap_32(uint32_t x) ^ /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:299:21: note: expanded from macro 'bswap_32'

    define bswap_32(x) OSSwapInt32(x)

                    ^
    

    /usr/include/libkern/OSByteOrder.h:55:24: note: expanded from macro 'OSSwapInt32'

    define OSSwapInt32(x) __DARWIN_OSSwapInt32(x)

                        ^
    

    /usr/include/libkern/_OSByteOrder.h:75:30: note: expanded from macro '__DARWIN_OSSwapInt32' (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt32(x) : _OSSwapInt32(x)) ^ ./compat/byteswap.h:26:17: note: to match this '(' /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:299:21: note: expanded from macro 'bswap_32'

    define bswap_32(x) OSSwapInt32(x)

                    ^
    

    /usr/include/libkern/OSByteOrder.h:55:24: note: expanded from macro 'OSSwapInt32'

    define OSSwapInt32(x) __DARWIN_OSSwapInt32(x)

                        ^
    

    /usr/include/libkern/_OSByteOrder.h:75:5: note: expanded from macro '__DARWIN_OSSwapInt32' (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt32(x) : _OSSwapInt32(x)) ^ In file included from qt/askpassphrasedialog.cpp:13: In file included from ./qt/walletmodel.h:8: In file included from ./qt/paymentrequestplus.h:10: In file included from ./base58.h:17: In file included from ./chainparams.h:10: In file included from ./consensus/params.h:9: In file included from ./uint256.h:15: In file included from ./crypto/common.h:14: In file included from ./compat/endian.h:14: ./compat/byteswap.h:26:17: error: functions that differ only in their return type cannot be overloaded inline uint32_t bswap_32(uint32_t x) ^ /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:299:21: note: expanded from macro 'bswap_32'

    define bswap_32(x) OSSwapInt32(x)

                    ^
    

    /usr/include/libkern/OSByteOrder.h:55:24: note: expanded from macro 'OSSwapInt32'

    define OSSwapInt32(x) __DARWIN_OSSwapInt32(x)

                        ^
    

    /usr/include/libkern/_OSByteOrder.h:75:6: note: expanded from macro '__DARWIN_OSSwapInt32' (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt32(x) : _OSSwapInt32(x)) ^ /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:337:47: note: previous implicit declaration is here static uint16 FromHost16(uint16 x) { return bswap_16(x); } ^ /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:298:21: note: expanded from macro 'bswap_16'

    define bswap_16(x) OSSwapInt16(x)

                    ^
    

    /usr/include/libkern/OSByteOrder.h:54:24: note: expanded from macro 'OSSwapInt16'

    define OSSwapInt16(x) __DARWIN_OSSwapInt16(x)

                        ^
    

    /usr/include/libkern/_OSByteOrder.h:72:19: note: expanded from macro '__DARWIN_OSSwapInt16' ((__uint16_t)(__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt16(x) : _OSSwapInt16(x))) ^ In file included from qt/askpassphrasedialog.cpp:13: In file included from ./qt/walletmodel.h:8: In file included from ./qt/paymentrequestplus.h:10: In file included from ./base58.h:17: In file included from ./chainparams.h:10: In file included from ./consensus/params.h:9: In file included from ./uint256.h:15: In file included from ./crypto/common.h:14: In file included from ./compat/endian.h:14: ./compat/byteswap.h:34:17: error: expected ')' inline uint64_t bswap_64(uint64_t x) ^ /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:300:21: note: expanded from macro 'bswap_64'

    define bswap_64(x) OSSwapInt64(x)

                    ^
    

    /usr/include/libkern/OSByteOrder.h:56:24: note: expanded from macro 'OSSwapInt64'

    define OSSwapInt64(x) __DARWIN_OSSwapInt64(x)

                        ^
    

    /usr/include/libkern/_OSByteOrder.h:78:30: note: expanded from macro '__DARWIN_OSSwapInt64' (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x)) ^ ./compat/byteswap.h:34:17: note: to match this '(' /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:300:21: note: expanded from macro 'bswap_64'

    define bswap_64(x) OSSwapInt64(x)

                    ^
    

    /usr/include/libkern/OSByteOrder.h:56:24: note: expanded from macro 'OSSwapInt64'

    define OSSwapInt64(x) __DARWIN_OSSwapInt64(x)

                        ^
    

    /usr/include/libkern/_OSByteOrder.h:78:5: note: expanded from macro '__DARWIN_OSSwapInt64' (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x)) ^ In file included from qt/askpassphrasedialog.cpp:13: In file included from ./qt/walletmodel.h:8: In file included from ./qt/paymentrequestplus.h:10: In file included from ./base58.h:17: In file included from ./chainparams.h:10: In file included from ./consensus/params.h:9: In file included from ./uint256.h:15: In file included from ./crypto/common.h:14: In file included from ./compat/endian.h:14: ./compat/byteswap.h:34:17: error: functions that differ only in their return type cannot be overloaded inline uint64_t bswap_64(uint64_t x) ^ /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:300:21: note: expanded from macro 'bswap_64'

    define bswap_64(x) OSSwapInt64(x)

                    ^
    

    /usr/include/libkern/OSByteOrder.h:56:24: note: expanded from macro 'OSSwapInt64'

    define OSSwapInt64(x) __DARWIN_OSSwapInt64(x)

                        ^
    

    /usr/include/libkern/_OSByteOrder.h:78:6: note: expanded from macro '__DARWIN_OSSwapInt64' (__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt64(x) : _OSSwapInt64(x)) ^ /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:337:47: note: previous implicit declaration is here static uint16 FromHost16(uint16 x) { return bswap_16(x); } ^ /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:298:21: note: expanded from macro 'bswap_16'

    define bswap_16(x) OSSwapInt16(x)

                    ^
    

    /usr/include/libkern/OSByteOrder.h:54:24: note: expanded from macro 'OSSwapInt16'

    define OSSwapInt16(x) __DARWIN_OSSwapInt16(x)

                        ^
    

    /usr/include/libkern/_OSByteOrder.h:72:19: note: expanded from macro '__DARWIN_OSSwapInt16' ((__uint16_t)(__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt16(x) : _OSSwapInt16(x))) ^ 8 errors generated. make[1]: *** [qt/qt_libbitcoinqt_a-askpassphrasedialog.o] Error 1 make: *** [all-recursive] Error 1

    Is the issue reproducible? yes

    List steps to reproduce below:

    I did

    1. Remove all homebrew; reinstall homebrew;
    2. brew all updated Dependencies>
    3. download new bitcoin sources from github.com/bitcoin
    4. did "make" and error shown

    Machine specs: CPU, RAM, Disk space & OS (Windows, OS X, Linux)

    MAC OSX 10.11.6 Xcode 8.0 $gcc version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 8.0.0 (clang-800.0.38) Target: x86_64-apple-darwin15.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

    $ g++ version Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 8.0.0 (clang-800.0.38) Target: x86_64-apple-darwin15.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

  2. fanquake added the label MacOSX on Sep 16, 2016
  3. fanquake renamed this:
    protobuf? error message :/usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:298:21: note: expanded from macro 'bswap_16'
    Issue compiling on OSX 10.11.6 with Xcode 8.0
    on Sep 16, 2016
  4. fanquake commented at 4:03 AM on September 16, 2016: member

    The core issue seems to be in compat/byteswap:

    #if HAVE_DECL_BSWAP_16 == 0
    inline uint16_t bswap_16(uint16_t x)
    {
        return (x >> 8) | ((x & 0x00ff) << 8);
    }
    #endif // HAVE_DECL_BSWAP16
    
    ./compat/byteswap.h:19:17: error: C++ requires a type specifier for all declarations
    inline uint16_t bswap_16(uint16_t x)
                    ^
    /usr/local/Cellar/protobuf/3.0.2/include/google/protobuf/stubs/port.h:298:21: note: expanded from macro 'bswap_16'
    #define bswap_16(x) OSSwapInt16(x)
                        ^
    /usr/include/libkern/OSByteOrder.h:54:24: note: expanded from macro 'OSSwapInt16'
    #define OSSwapInt16(x)  __DARWIN_OSSwapInt16(x)
                            ^
    /usr/include/libkern/_OSByteOrder.h:72:19: note: expanded from macro '__DARWIN_OSSwapInt16'
        ((__uint16_t)(__builtin_constant_p(x) ? __DARWIN_OSSwapConstInt16(x) : _OSSwapInt16(x)))
    
    In file included from qt/test/moc_paymentservertests.cpp:8:
    In file included from ./qt/test/paymentservertests.h:8:
    In file included from qt/test/../paymentserver.h:35:
    In file included from ./qt/paymentrequestplus.h:10:
    In file included from ./base58.h:17:
    In file included from ./chainparams.h:10:
    In file included from ./consensus/params.h:9:
    In file included from ./uint256.h:15:
    In file included from ./crypto/common.h:14:
    In file included from ./compat/endian.h:14:
    ./compat/byteswap.h:26:17: error: functions that differ only in their return type cannot be overloaded
    inline uint32_t bswap_32(uint32_t x)
    
  5. wbchen99 commented at 4:34 AM on September 16, 2016: none

    Anything related to these during compliing?

    CXX libbitcoin_util_a-utilstrencodings.o CXX libbitcoin_util_a-utiltime.o AR libbitcoin_util.a /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libbitcoin_util.a(libbitcoin_util_a-strnlen.o) has no symbols /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libbitcoin_util.a(libbitcoin_util_a-strnlen.o) has no symbols CXX wallet/libbitcoin_wallet_a-crypter.o

  6. wbchen99 commented at 4:45 AM on September 16, 2016: none

    More warnings shown:

    CXX qt/qt_libbitcoinqt_a-guiutil.o qt/guiutil.cpp:778:31: warning: 'LSSharedFileListCopySnapshot' is deprecated: first deprecated in macOS 10.11 - This functionality is no longer supported on OS X. [-Wdeprecated-declarations] CFArrayRef listSnapshot = LSSharedFileListCopySnapshot(list, NULL); ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/SharedFileList.framework/Headers/LSSharedFileList.h:617:1: note: 'LSSharedFileListCopySnapshot' has been explicitly marked deprecated here LSSharedFileListCopySnapshot( ^ qt/guiutil.cpp:785:9: warning: 'LSSharedFileListItemCopyResolvedURL' is deprecated: first deprecated in macOS 10.11 [-Wdeprecated-declarations] if(&LSSharedFileListItemCopyResolvedURL) ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/SharedFileList.framework/Headers/LSSharedFileList.h:980:1: note: 'LSSharedFileListItemCopyResolvedURL' has been explicitly marked deprecated here LSSharedFileListItemCopyResolvedURL( ^ qt/guiutil.cpp:786:26: warning: 'LSSharedFileListItemCopyResolvedURL' is deprecated: first deprecated in macOS 10.11 [-Wdeprecated-declarations] currentItemURL = LSSharedFileListItemCopyResolvedURL(item, resolutionFlags, NULL); ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/SharedFileList.framework/Headers/LSSharedFileList.h:980:1: note: 'LSSharedFileListItemCopyResolvedURL' has been explicitly marked deprecated here LSSharedFileListItemCopyResolvedURL( ^ qt/guiutil.cpp:810:67: warning: 'kLSSharedFileListSessionLoginItems' is deprecated: first deprecated in macOS 10.11 - Use a LaunchAgent, XPCService or the ServiceManagement APIs instead. [-Wdeprecated-declarations] LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL); ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/SharedFileList.framework/Headers/LSSharedFileList.h:121:20: note: 'kLSSharedFileListSessionLoginItems' has been explicitly marked deprecated here extern CFStringRef kLSSharedFileListSessionLoginItems __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_5... ^ qt/guiutil.cpp:810:38: warning: 'LSSharedFileListCreate' is deprecated: first deprecated in macOS 10.11 - This functionality is no longer supported on OS X. [-Wdeprecated-declarations] LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL); ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/SharedFileList.framework/Headers/LSSharedFileList.h:360:1: note: 'LSSharedFileListCreate' has been explicitly marked deprecated here LSSharedFileListCreate( ^ qt/guiutil.cpp:818:67: warning: 'kLSSharedFileListSessionLoginItems' is deprecated: first deprecated in macOS 10.11 - Use a LaunchAgent, XPCService or the ServiceManagement APIs instead. [-Wdeprecated-declarations] LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL); ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/SharedFileList.framework/Headers/LSSharedFileList.h:121:20: note: 'kLSSharedFileListSessionLoginItems' has been explicitly marked deprecated here extern CFStringRef kLSSharedFileListSessionLoginItems __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_5... ^ qt/guiutil.cpp:818:38: warning: 'LSSharedFileListCreate' is deprecated: first deprecated in macOS 10.11 - This functionality is no longer supported on OS X. [-Wdeprecated-declarations] LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL, kLSSharedFileListSessionLoginItems, NULL); ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/SharedFileList.framework/Headers/LSSharedFileList.h:360:1: note: 'LSSharedFileListCreate' has been explicitly marked deprecated here LSSharedFileListCreate( ^ qt/guiutil.cpp:823:51: warning: 'kLSSharedFileListItemBeforeFirst' is deprecated: first deprecated in macOS 10.11 - This functionality is no longer supported on OS X. [-Wdeprecated-declarations] LSSharedFileListInsertItemURL(loginItems, kLSSharedFileListItemBeforeFirst, NULL, NULL, bitcoinAppUrl, NUL... ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/SharedFileList.framework/Headers/LSSharedFileList.h:215:32: note: 'kLSSharedFileListItemBeforeFirst' has been explicitly marked deprecated here extern LSSharedFileListItemRef kLSSharedFileListItemBeforeFirst __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_10_5... ^ qt/guiutil.cpp:823:9: warning: 'LSSharedFileListInsertItemURL' is deprecated: first deprecated in macOS 10.11 - This functionality is no longer supported on OS X. [-Wdeprecated-declarations] LSSharedFileListInsertItemURL(loginItems, kLSSharedFileListItemBeforeFirst, NULL, NULL, bitcoinAppUrl, NUL... ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/SharedFileList.framework/Headers/LSSharedFileList.h:674:1: note: 'LSSharedFileListInsertItemURL' has been explicitly marked deprecated here LSSharedFileListInsertItemURL( ^ qt/guiutil.cpp:827:9: warning: 'LSSharedFileListItemRemove' is deprecated: first deprecated in macOS 10.11 - This functionality is no longer supported on OS X. [-Wdeprecated-declarations] LSSharedFileListItemRemove(loginItems, foundItem); ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/SharedFileList.framework/Headers/LSSharedFileList.h:812:1: note: 'LSSharedFileListItemRemove' has been explicitly marked deprecated here LSSharedFileListItemRemove( ^ 10 warnings generated.

    CXX qt/qt_libbitcoinqt_a-notificator.o qt/notificator.cpp:66:27: warning: 'LSGetApplicationForInfo' is deprecated: first deprecated in macOS 10.10 - Use LSCopyDefaultApplicationURLForContentType instead. [-Wdeprecated-declarations] OSStatus status = LSGetApplicationForInfo(kLSUnknownType, kLSUnknownCreator, CFSTR("growlTicket"), kLSRole... ^ /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Headers/LSInfoDeprecated.h:631:1: note: 'LSGetApplicationForInfo' has been explicitly marked deprecated here LSGetApplicationForInfo( ^ 1 warning generated.

  7. fanquake commented at 6:25 AM on September 16, 2016: member

    @wbchen99 The deprecation notices are not the issue here.

    If you brew uninstall protobuf and brew install homebrew/versions/protobuf260 --c++11 does compiling succeed?

  8. wbchen99 commented at 7:21 AM on September 16, 2016: none

    YES, it succeed. Thanks for help.

    1. brew uninstall protobuf
    2. brew install homebrew/versions/protobuf260 --c++11
  9. droark commented at 7:50 PM on September 16, 2016: contributor

    Thanks! Ran into this while trying to troubleshoot an Armory issue w/ Xcode 8. @fanquake - Does this mean somebody needs to file a doc PR? Will plain old protobuf get updated eventually? (I'd assume so.)

    EDIT: Uggh. Still getting errors. Will try a make clean and see if I still get the errors.

    EDIT 2: Okay, it works. I had to do a make clean. To be safe, I also re-ran autogen and configure. I suspect it's configure that really needs to be re-run, alongside make clean, in order for the fix to work. @wbchen99 - The warnings have been there for a little while. IIRC, they're related to allowing Core to be run when starting the Mac. Fixing that code isn't trivial. I've been thinking about filing a PR. Just haven't had the time to write everything.

  10. fanquake commented at 11:55 AM on September 18, 2016: member

    @droark I've opened #8754

  11. fanquake commented at 1:54 AM on September 27, 2016: member

    Closing this now that the doc changes have been merged. Issues with Protobuf > 3.0 can be tracked in #8430.

  12. fanquake closed this on Sep 27, 2016

  13. DrahtBot 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-17 12:15 UTC

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