-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[WIP] Update build system to Bitcoin 0.13.2 #1692
Conversation
Mention ARM executables in the release process documentation (these were introduced in bitcoin#8188). As well as that Linux tarballs have changed name to contain an architecture tuple, instead of `linux32`/`linux64`. Also mention that `-debug` files should not be uploaded (these were introduced in bitcoin#8167).
These add very simple sanity checks to ensure that the build/host toolchains have not changed since the last run. If they have, all ids will change and packages will be rebuilt. For more complicated usage (like parsing dpkg), HOST_ID_SALT/BUILD_ID_SALT may be used to introduce arbitrary data to the ids.
In some cases, failed downloads wouldn't trigger a fallback download attempt. Namely, checksum mismatches.
Checksums were being verified after download, but not again before extraction
Update FreeType, and change the download location to gnu.org. This is the other official download location listed on freetype.org
doc/release-notes.md
Outdated
@@ -31,7 +31,66 @@ Example item | |||
|
|||
Example text. | |||
|
|||
0.12.1 Change log | |||
|
|||
dash-cli: arguments privacy |
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.
-stdin is not available in Dash as of now. It is introduced in Bitcoin PR bitcoin#7550
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.
Ups, that paragraph slipped in, just wanted to merge the Linux ARM part :)
doc/release-notes.md
Outdated
properly in JSON RPC processing. This is no longer the case. This also affects | ||
the GUI debug console. | ||
|
||
C++11 and Python 3 |
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.
As far as I remember this is also not done yet in Dash
doc/release-notes.md
Outdated
RPC low-level changes | ||
---------------------- | ||
|
||
- `gettxoutsetinfo` UTXO hash (`hash_serialized`) has changed. There was a divergence between |
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.
References bitcoin#7848, which is also not in Dash yet
doc/release-notes.md
Outdated
32-bit and 64-bit platforms, and the txids were missing in the hashed data. This has been | ||
fixed, but this means that the output will be different than from previous versions. | ||
|
||
- Full UTF-8 support in the RPC API. Non-ASCII characters in, for example, |
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.
Didn't check this, but I'd assume also not done in Dash yet.
doc/release-notes.md
Outdated
------------------- | ||
|
||
Various code modernizations have been done. The Dash Core code base has | ||
started using C++11. This means that a C++11-capable compiler is now needed for |
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.
Same. As far as I remember, this is not in Dash yet (I have many C++11 related PRs in my pile of backported PRs)
7418261
to
aa21798
Compare
- create a script to handle split debug. This will also eventually need to check targets, and use dsymutil for osx. - update config.guess/config.sub for bdb for aarch64. - temporarily disable symbol checks for arm/aarch64 - quit renaming to linux32/linux64 and use the host directly This also adds a hack to work around an Ubuntu bug in the gcc-multilib package: https://bugs.launchpad.net/ubuntu/+source/gcc-defaults-armhf-cross/+bug/1347820 The problem is that gcc-multilib conflicts with the aarch toolchain. gcc-multilib installs a symlink that points /usr/include/asm -> /usr/include/x86_64-linux-gnu/asm. Without this link, gcc -m32 can't find asm/errno.h (and others), since /usr/include/x86_64-linux-gnu isn't in its default include path. But /usr/include/i386-linux-gnu is (though it doesn't exist on disk). So work around the problem by linking /usr/include/i386-linux-gnu/asm -> /usr/include/x86_64-linux-gnu/asm. The symlink fix is actually quite reasonable, but echoing the password into sudo is nasty, and should probably be addressed in gitian itself. It makes more sense to enable passwordless sudo for the build user by default.
C_INCLUDE_PATH and CPLUS_INCLUDE_PATH work globally as though -isystem was used for each invocation. Since that changes the build results, force a rebuild of x86 depends by adding the value to $HOST_ID_SALT.
The non-pkg-config case can't use pkg-config to check the version. Also, make sure that the check is properly guarded in the case of missing pkg-config macros.
- guard PKG_PROG_PKG_CONFIG with an m4_ifdef. If not building for windows, require it - add nops as necessary in case the ifdef reduces the if/then to nothing - AC_SUBST some missing _LIBS. These were split out over time, but not all were properly substituted. They continued to work if pkg-config is installed because it does the AC_SUBST itself
Github-Pull: bitcoin#8920 Rebased-From: 6dd3723
@codablock what commit are you refering to? I am adding all build system related stuff. |
This reverts commit 5c62fed.
@schinzelh 2354e50 this one too. |
Changes the error message from: ./autogen.sh: 9: ./autogen.sh: autoreconf: not found To: configuration failed, please install autoconf first
This fixes build with glibc 2.25 caused by conflict with CHAR_WIDTH macro from TS 18661-1:2014. Also, a patch is added to remove some redundant declarations from fcobjs.c file because they may conflict with include file autogenerated by gperf. Signed-off-by: Oleg Girko <ol@infoserver.lv>
Setting PKG_CONFIG_SYSROOT_DIR environment variable to "/" for building Qt makes pkgconf behave strange (remove "/" prefix instead of adding it). And it makes no sense to set this variable for old pkgconfig anyway. Signed-off-by: Oleg Girko <ol@infoserver.lv>
This is necessary on FreeBSD and MacOSX, at least. See bitcoin#8834 (comment)
Add missing pieces for PR #1692
Need rebase EDIT: postponing this, @codablock probably has all this covered in his set of backports |
Just verified that all backports PRs/commits from this PR are included in the 0.14 backports. We can probably close this one. |
@codablock looks like c6c2c4e and 3adac27 are not part of |
Missed these as I only used the list from the PR description. Cherry-picked them into #1884 |
Closing in fav of all already backported patches and #1884 |
Our build system is missing some upstream commits, catching up with Bitcoin 0.13.2