-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Upstream gitian updates #1541
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
Upstream gitian updates #1541
Conversation
Add a check to symbol-check.py that checks that only the subset of allowed libraries is imported (to avoid incompatibilities). See 56734f4 for the earlier changes.
Forgot to add these. Also add a short description for each required library.
[Zcash: removed doc/gitian-building.md]
These are not added to the default checks because some of them depend on release-build configs. [Zcash: See 56734f4 for check-security]
glibc absorbed clock_gettime in 2.17. librt (its previous location) is safe to link in anyway for back-compat. Fixes #7420
This removes the following executables from the binary gitian release: - test_bitcoin-qt[.exe] - bench_bitcoin[.exe] @jonasschnelli and me discussed this on IRC a few days ago - unlike the normal `bitcoin_tests` which is useful to see if it is safe to run bitcoin on a certain OS/environment combination, there is no good reason to include these. Better to leave them out to reduce the download size. Sizes from the 0.12 release: ``` 2.4M bitcoin-0.12.0/bin/bench_bitcoin.exe 22M bitcoin-0.12.0/bin/test_bitcoin-qt.exe ```
This does not break any existing prefix behavior, only makes new behavior work. For example: CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure --prefix=/
The -debug tarballs/zips contain detached debugging symbols. To use them, place in the same dir as the target binary, and invoke gdb as usual. Also, because the debug symbols add a substantial space requirement, the build dirs are now deleted when they're no longer needed.
Forgot to do this in #7776.
| WRAP_DIR=$HOME/wrapped | ||
| HOSTS="i686-pc-linux-gnu x86_64-unknown-linux-gnu" | ||
| CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" | ||
| CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests" |
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.
I accidentally left --disable-bench in here (upstream added a benchmark framework in bitcoin/bitcoin#6733 with an associated disable flag that they added to gitian), but it does no harm and will mean we don't forget about adding it if we do eventually pull in bitcoin/bitcoin#6733 from upstream.
Currently it does not recognise any of the C++11 symbols. We can re-enable this when either we update it, or upstream migrates to C++11 and does so.
|
If we're maintaining the gitian build process now, can we put back |
|
Mmm. I'll try and figure out where it was deleted; if I revert that commit, then I can rework this PR to include all the documentation changes. That said, our documentation is actually going to be a little different, since instead of codifying the build process in a Markdown document, it is being codified in a Vagrant VM + Ansible. |
|
Ah OK. Would having that doc be redundant with the Vagrant+Ansible config, or is it useful to read anyway? I'll leave it up to you whether to put it back. |
|
@daira I prefer to keep the documentation in ages/zcash-gitian (which I will eventually move to our GitHub organization), and we can link to it from elsewhere. The old gitian-building.md is not going to be relevant, necessary or useful for us. It contains a lot of manual steps for Bitcoin which we have automated away. |
|
OK cool, then I withdraw the request to add it back. |
|
utACK. (I just scanned the overall diff and saw nothing objectionable; I didn't check correspondence to the upstream patches.) The workaround to ensure Windows build determinism mentioned here is probably no longer necessary since we could just use a more recent binutils that has fixed https://sourceware.org/bugzilla/show_bug.cgi?id=16192 , but it's fine for now. |
|
It might be useful to hear from @defuse as to whether he left the check-symbols changes out because they were useless to us, or for some other reason. I'm personally inclined to include them in here because it makes future upstream diffs easier, but if there's a specific reason to leave them out, it would be good to know. |
|
@bitcartel up to you if you want to land this in RC 1 (but the deterministic Gitian build process depends on this PR, and is almost completely finished). |
|
@str4d Reviewing this now. |
|
Automated tests pass. |
|
ACK |
1 similar comment
|
ACK |
|
@zkbot r+ |
|
📌 Commit 7d1c2d0 has been approved by |
|
@zkbot retry |
|
@zkbot force |
Upstream gitian updates This PR pulls in all gitian-related PRs that have been merged upstream since 0.11.2. The only ones I left out were documentation-only PRs, because we removed `doc/gitian-building.md` at some point. Here are the commits applied here, in the order shown in `git log` (ie. last to first): - bitcoin/bitcoin#7283 - fa42a67 - fa58c76 - bitcoin/bitcoin#8175 - 74c1347 - bitcoin/bitcoin#8167 - 7e7eb27 - ad38204 - b676f38 - bitcoin/bitcoin#7776 - f063863 - bitcoin/bitcoin#7424 - a81c87f ~ we already partly applied - a8ce872 - f3d3eaf ~ we already partly applied - 475813b - ~~cd27bf5~~ X we already applied - bitcoin/bitcoin#7060 - 3b468a0 ~ we removed doc/gitian-building.md - ~~99fda26~~ X we removed doc/gitian-building.md - bitcoin/bitcoin#7251 - fa09562 - bitcoin/bitcoin#6900 - ~~2cecb24~~ X we removed doc/gitian-building.md - 957c0fd - 2e31d74 - ~~0b416c6~~ X we removed QT - 9f251b7 - bitcoin/bitcoin#6854 - 579b863 ~ we already partly applied Part of #540
|
☀️ Test successful - zcash |
This PR pulls in all gitian-related PRs that have been merged upstream since 0.11.2. The only ones I left out were documentation-only PRs, because we removed
doc/gitian-building.mdat some point. Here are the commits applied here, in the order shown ingit log(ie. last to first):cd27bf5X we already applied99fda26X we removed doc/gitian-building.md2cecb24X we removed doc/gitian-building.md0b416c6X we removed QTPart of #540