-
Notifications
You must be signed in to change notification settings - Fork 38.6k
[Qt] Bump to Qt5.6.1 #8210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Qt] Bump to Qt5.6.1 #8210
Conversation
8725277 to
802dc3d
Compare
|
If you compile OSX binaries over depends, you now need the MacOSX10.11.tar.gz SDK. |
|
What advantages does 5.6.1 have over 5.5.0? |
|
The release notes for Qt5.6 are here: https://blog.qt.io/blog/2016/03/16/qt-5-6-released/ The reason why I'd like to see this go in before 0.13 is the missing HiDPI support for linux and windows in 5.5 I know, most devs don't care about HiDPI, but almost every laptops and screens sold today support HiDPI. |
953349e to
6b5e9d8
Compare
clang: 3.7.1 cctools: 877.8 ld64: 253.9
0f4d4cd to
737d78b
Compare
|
As I remember there are quite a few upstream issues solved in 5.6.1, from HiDPI to crashes and window manager integration. |
|
Why does this need the OSX toolchain bump? |
|
I ran into Qt compile issues (c++11 atomic issues) with MaxOSX10.9 clang compiler. Haven't tracked it down and I think a toolchain bump to 10.11 is necessary for #7770 anyways and does not affect the minimum required platform, |
|
Ah sorry yes I missed the atomic thing. Makes sense. |
|
There are some issues which I could not already solve LinuxSomehow it links against libdbus-1.so now and will be rejected by MinGWIt doesn't find OSXWorks! |
737d78b to
dae7378
Compare
dae7378 to
6194d9a
Compare
contrib/devtools/symbol-check.py
Outdated
| b'libxcb.so.1', # part of X11 | ||
| b'libfontconfig.so.1', # font support | ||
| b'libfreetype.so.6', # font parsing | ||
| b'libdbus-1.so.3', # inter process communication (notification system) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@theuni: Is this a problem? I guess Qt links to libdbus dynamic anyways? And we disable the static library (https://github.com/bitcoin/bitcoin/blob/master/depends/packages/dbus.mk#L9).
|
One TODO you could add here is dropping dbus from the qt build. |
|
Compiles now on all three gitian platform: https://bitcoin.jonasschnelli.ch/pulls/8210/ The remaining question: |
|
Travis fails because of a missing file (MacOSX10.11.sdk.tar.gz) on bitcoincore.org. Must be placed there by @theuni. |
Can we temporarily use a different host? I wouldn't mind using mine, until we find a permenant solution: https://download.visucore.com/bitcoin/MacOSX10.11.sdk.tar.gz |
|
I uploaded this before I left, #8184 should show it being found.
|
|
Looks like we might need to whitelist a new range at bitcoincore.org for
the generic build image. The download fails with "access denied". I can fix
next week if there's no workaround in place yet.
...stupid SDK restrictions...
|
|
Iirc there's a --runtime-dbus (or so) introduced in 5.6 or 5.7 that makes
the desired behavior explicit. That, combined with deleting the dbus
dependency (and even the package itself) should fix the NEEDED problem.
|
If anything the windows gitian executables seem to be working fine. |
@theuni Did you find any bugs? |
|
@MarcoFalke The pkg-config issue was fixed with 0c928cb. I just tested to see if the xcb issue was reintroduced, and it wasn't. So it looks like we're all good here. |
|
Good to hear. Thanks for having a look. |
Darwin build fixes Includes fixes cherry-picked from the following upstream PRs: - bitcoin/bitcoin#7136 - Only the third commit (to avoid a merge conflict) - bitcoin/bitcoin#7302 - Excluding the first commit, which is unnecessary (we use Boost 1.62) - bitcoin/bitcoin#7487 - bitcoin/bitcoin#7606 - bitcoin/bitcoin#7711 - bitcoin/bitcoin#7165 - bitcoin/bitcoin#8002 - bitcoin/bitcoin#8210 - Only the second commit - bitcoin/bitcoin#9114
Darwin build fixes Includes fixes cherry-picked from the following upstream PRs: - bitcoin/bitcoin#7136 - Only the third commit (to avoid a merge conflict) - bitcoin/bitcoin#7302 - Excluding the first commit, which is unnecessary (we use Boost 1.62) - bitcoin/bitcoin#7487 - bitcoin/bitcoin#7606 - bitcoin/bitcoin#7711 - bitcoin/bitcoin#7165 - bitcoin/bitcoin#8002 - bitcoin/bitcoin#8210 - Only the second commit - bitcoin/bitcoin#9114
Darwin build fixes Includes fixes cherry-picked from the following upstream PRs: - bitcoin/bitcoin#7136 - Only the third commit (to avoid a merge conflict) - bitcoin/bitcoin#7302 - Excluding the first commit, which is unnecessary (we use Boost 1.62) - bitcoin/bitcoin#7487 - bitcoin/bitcoin#7606 - bitcoin/bitcoin#7711 - bitcoin/bitcoin#7165 - bitcoin/bitcoin#8002 - bitcoin/bitcoin#8210 - Only the second commit - bitcoin/bitcoin#9114
2759597 Only pass -lQt5PlatformSupport if >=Qt5.6 (Jonas Schnelli) 59d063d Use runtime linking of QT libdbus, use custom/temp. SDK URL (Jonas Schnelli) 6194d9a Fix bitcoin_qt.m4 and fix-xcb-include-order.patch (Jonas Schnelli) f6eb4e2 [depends] OpenSSL 1.0.1k - update config_opts (fanquake) f25209a depends: bump OSX toolchain (Cory Fields)
2759597 Only pass -lQt5PlatformSupport if >=Qt5.6 (Jonas Schnelli) 59d063d Use runtime linking of QT libdbus, use custom/temp. SDK URL (Jonas Schnelli) 6194d9a Fix bitcoin_qt.m4 and fix-xcb-include-order.patch (Jonas Schnelli) f6eb4e2 [depends] OpenSSL 1.0.1k - update config_opts (fanquake) f25209a depends: bump OSX toolchain (Cory Fields)
e8fabd9 build: prune dbus from depends (fanquake) Pull request description: Since #8210 (59d063d), we've been passing `-dbus-runtime` when configuring Qt. ``` qtbase-opensource-src-5.9.7 $ ./configure -h | grep -i dbus -no-dbus ............. Do not build the Qt D-Bus module -dbus-linked ......... Build Qt D-Bus and link to libdbus-1 [auto] -dbus-runtime ........ Build Qt D-Bus and dynamically load libdbus-1 [no] ``` This means we don't actually seem to be using the `D-Bus` we build in depends. This was pointed out by theuni at the time, [here](#7993 (comment)) and [here](#8210 (comment)), but was never followed up. dongcarl also bought it up as part of #16150. I've tested building and running `bitcoin-qt` using depends on Debian. Needs further testing. ACKs for top commit: laanwj: code review ACK e8fabd9 Tree-SHA512: 164e6e52b6f97c04aef42bd185e2a157bc1a42103840f9404c5a795749f45a8c2c35f35873395a3a56398b3cd5955496b90d9c885d929b434c9bc871695abe20
e8fabd9 build: prune dbus from depends (fanquake) Pull request description: Since bitcoin#8210 (59d063d), we've been passing `-dbus-runtime` when configuring Qt. ``` qtbase-opensource-src-5.9.7 $ ./configure -h | grep -i dbus -no-dbus ............. Do not build the Qt D-Bus module -dbus-linked ......... Build Qt D-Bus and link to libdbus-1 [auto] -dbus-runtime ........ Build Qt D-Bus and dynamically load libdbus-1 [no] ``` This means we don't actually seem to be using the `D-Bus` we build in depends. This was pointed out by theuni at the time, [here](bitcoin#7993 (comment)) and [here](bitcoin#8210 (comment)), but was never followed up. dongcarl also bought it up as part of bitcoin#16150. I've tested building and running `bitcoin-qt` using depends on Debian. Needs further testing. ACKs for top commit: laanwj: code review ACK e8fabd9 Tree-SHA512: 164e6e52b6f97c04aef42bd185e2a157bc1a42103840f9404c5a795749f45a8c2c35f35873395a3a56398b3cd5955496b90d9c885d929b434c9bc871695abe20
6fdf5da depends: only use dbus with qt on linux (fanquake) Pull request description: Since #8210 we've been passing `-dbus-runtime` when configuring Qt, however D-Bus isn't used on macOS or Windows. So rather than blanket passing `-dbus-runtime`, only use D-Bus when building for linux, and disable it for Windows and macOS. This also saves some time building qt in depends (for windows or macOS). This gist contains a diff of the symbols in a macOS bitcoin-qt after applying this change: https://gist.github.com/fanquake/317e5c9c7d1b5e37a0c1ce8001af18c4. ACKs for top commit: laanwj: ACK 6fdf5da Tree-SHA512: 7c7df6036f27dae6adb807edf94cd26b4dafa3728976d219a68f7388b6477777b35acebd507320e4469c9f2fcf016b311c82e0b12d50546cb5ab66a1e955e464
6fdf5da depends: only use dbus with qt on linux (fanquake) Pull request description: Since bitcoin#8210 we've been passing `-dbus-runtime` when configuring Qt, however D-Bus isn't used on macOS or Windows. So rather than blanket passing `-dbus-runtime`, only use D-Bus when building for linux, and disable it for Windows and macOS. This also saves some time building qt in depends (for windows or macOS). This gist contains a diff of the symbols in a macOS bitcoin-qt after applying this change: https://gist.github.com/fanquake/317e5c9c7d1b5e37a0c1ce8001af18c4. ACKs for top commit: laanwj: ACK 6fdf5da Tree-SHA512: 7c7df6036f27dae6adb807edf94cd26b4dafa3728976d219a68f7388b6477777b35acebd507320e4469c9f2fcf016b311c82e0b12d50546cb5ab66a1e955e464
Enable macOS cross-compilation Includes code cherry-picked from the following upstream PRs: - bitcoin/bitcoin#7809 - The `native_cctools` fix. - bitcoin/bitcoin#8210 - The macOS toolchain bump. - bitcoin/bitcoin#9891 - bitcoin/bitcoin#15581 - The `tar` change. - bitcoin/bitcoin#16049 - The `native_cctools` change. Build instructions: - Fetch `MacOSX10.11.sdk` from e.g. https://github.com/phracker/MacOSX-SDKs/releases - Extract it into `depends/SDKs` (creating that folder first) - `HOST=x86_64-apple-darwin11 ./zcutil/build.sh`
e8fabd9 build: prune dbus from depends (fanquake) Pull request description: Since #8210 (59d063d), we've been passing `-dbus-runtime` when configuring Qt. ``` qtbase-opensource-src-5.9.7 $ ./configure -h | grep -i dbus -no-dbus ............. Do not build the Qt D-Bus module -dbus-linked ......... Build Qt D-Bus and link to libdbus-1 [auto] -dbus-runtime ........ Build Qt D-Bus and dynamically load libdbus-1 [no] ``` This means we don't actually seem to be using the `D-Bus` we build in depends. This was pointed out by theuni at the time, [here](bitcoin/bitcoin#7993 (comment)) and [here](bitcoin/bitcoin#8210 (comment)), but was never followed up. dongcarl also bought it up as part of #16150. I've tested building and running `bitcoin-qt` using depends on Debian. Needs further testing. ACKs for top commit: laanwj: code review ACK e8fabd9 Tree-SHA512: 164e6e52b6f97c04aef42bd185e2a157bc1a42103840f9404c5a795749f45a8c2c35f35873395a3a56398b3cd5955496b90d9c885d929b434c9bc871695abe20
6fdf5da depends: only use dbus with qt on linux (fanquake) Pull request description: Since bitcoin#8210 we've been passing `-dbus-runtime` when configuring Qt, however D-Bus isn't used on macOS or Windows. So rather than blanket passing `-dbus-runtime`, only use D-Bus when building for linux, and disable it for Windows and macOS. This also saves some time building qt in depends (for windows or macOS). This gist contains a diff of the symbols in a macOS bitcoin-qt after applying this change: https://gist.github.com/fanquake/317e5c9c7d1b5e37a0c1ce8001af18c4. ACKs for top commit: laanwj: ACK 6fdf5da Tree-SHA512: 7c7df6036f27dae6adb807edf94cd26b4dafa3728976d219a68f7388b6477777b35acebd507320e4469c9f2fcf016b311c82e0b12d50546cb5ab66a1e955e464
Based on (#8053) credits to @fanquake.
Includes osx toolchain bump from @theuni (#8184).