-
Notifications
You must be signed in to change notification settings - Fork 37.7k
Description
New macOS releases have historically led to unpleasant surprises, so I decided to run the beta on an older machine. I installed both the beta of macOS and Xcode, and made the latter default using sudo xcode-select --switch /Applications/Xcode-beta.app/Contents/Developer
.
Note that Apple switched the default shell to zsh: https://support.apple.com/kb/HT208050
Beta 3
TL&DR: binaries still work, but building QT from source doesn't and depends seems broken
The existing binary on my system kept working fine. I was also able to download and install v0.18 from bitcoincore.org.
Compling master (536590f) from source source fails, see (log).
Using Homebrew with boost
1.70.0 and qt 5.13.0
.
The tests produce a bunch of warnings:
test/util_threadnames_tests.cpp:64:5: note: in instantiation of function template specialization 'boost::test_tools::tt_detail::check_frwd<boost::test_tools::tt_detail::equal_impl_frwd, unsigned long, int>' requested here
BOOST_CHECK_EQUAL(names.size(), 100);
^
/usr/local/include/boost/test/tools/old/interface.hpp:154:45: note: expanded from macro 'BOOST_CHECK_EQUAL'
#define BOOST_CHECK_EQUAL( L, R ) BOOST_TEST_TOOL_IMPL( 0, \
^
/usr/local/include/boost/test/tools/old/interface.hpp:67:47: note: expanded from macro 'BOOST_TEST_TOOL_IMPL'
BOOST_PP_IF( frwd_type, report_assertion, check_frwd ) ( \
These warnings also occur in the Solaris problem in #15708.
QT produces warnings:
CXX qt/libbitcoinqt_a-bitcoinunits.o
qt/bitcoinamountfield.cpp:124:24: warning: 'width' is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
int w = fm.width(BitcoinUnits::format(BitcoinUnits::BTC, BitcoinUnits::maxMoney(), false, BitcoinUnits::separatorAlways));
^
/usr/local/Cellar/qt/5.13.0/lib/QtGui.framework/Headers/qfontmetrics.h:107:5: note: 'width' has been explicitly marked deprecated here
QT_DEPRECATED_X("Use QFontMetrics::horizontalAdvance")
^
/usr/local/Cellar/qt/5.13.0/lib/QtCore.framework/Headers/qglobal.h:294:33: note: expanded from macro 'QT_DEPRECATED_X'
# define QT_DEPRECATED_X(text) Q_DECL_DEPRECATED_X(text)
^
/usr/local/Cellar/qt/5.13.0/lib/QtCore.framework/Headers/qcompilerdetection.h:649:55: note: expanded from macro 'Q_DECL_DEPRECATED_X'
# define Q_DECL_DEPRECATED_X(text) __attribute__ ((__deprecated__(text)))
^
And finally QT throws an error:
CXX qt/libbitcoinqt_a-networkstyle.o
qt/guiutil.cpp:365:14: error: no matching function for call to 'objc_msgSend'
id app = objc_msgSend((id) objc_getClass("NSApplication"), sel_registerName("sharedApplication"));
^~~~~~~~~~~~
/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/message.h:63:1: note: candidate function not viable: requires 0 arguments, but 2 were provided
objc_msgSend(void /* id self, SEL op, ... */ )
^
qt/guiutil.cpp:366:5: error: no matching function for call to 'objc_msgSend'
objc_msgSend(app, sel_registerName("activateIgnoringOtherApps:"), YES);
^~~~~~~~~~~~
/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/objc/message.h:63:1: note: candidate function not viable: requires 0 arguments, but 3 were provided
objc_msgSend(void /* id self, SEL op, ... */ )
^
2 errors generated.
make[2]: *** [qt/libbitcoinqt_a-guiutil.o] Error 1
I can ./configure --without-gui
and run the test suite.
I reinstalled all of homebrew, but still get the above warnings and errors.
Using depends instead, I'm unable to build protobuf (see log). When I strip out protobuf, Boost fails in the same way as #13601 (log). However in this case xcode-select --install
doesn't make the issue go away, and the other workaround /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
no longer exists. See also this dicussion.