Skip to content

Commit

Permalink
Backport move to Ubuntu Bionic and GCC7 in Gitian builds (#2225)
Browse files Browse the repository at this point in the history
* Add stdin, stdout, stderr to ignored export list

* Merge bitcoin#13171: Change gitian-descriptors to use bionic instead

c1afe32 Change gitian-descriptors to use bionic instead (Chun Kuan Lee)

Pull request description:

  I have tested this with Ubuntu Bionic host with lxc 3.0.0, the gitian-build for Windows and MacOSX work fine, but there is an issue about it for Linux. Failed at check-symbol:
  ```
  test/test_bitcoin: symbol __divmoddi4 from unsupported version GCC_7.0.0
  test/test_bitcoin: symbol log2f from unsupported version GLIBC_2.27
  qt/bitcoin-qt: symbol __divmoddi4 from unsupported version GCC_7.0.0
  qt/bitcoin-qt: symbol log2f from unsupported version GLIBC_2.27
  ```
  I think this should be fixed in `./configure --enable-glibc-back-compat`

  Should not be merged before bitcoin#13177 devrandom/gitian-builder#178

  Close bitcoin#12511

Tree-SHA512: 257d75d5b6864e105279f7a7b992fbbd7903cdbe3300b66dacec0a783d267707d9dbbfe0e64a36983ca1eca50a2a5e1cdb222b6d3745ccc3e5fc5636c88b581f

* Use IN6ADDR_ANY_INIT instead of in6addr_any

This is the same fix as bitcoin@fc6a9f2
Couldn't backport the original commit as we are missing some refactorings.
  • Loading branch information
codablock authored and UdjinM6 committed Aug 13, 2018
1 parent 1767e34 commit c09f57b
Show file tree
Hide file tree
Showing 8 changed files with 22 additions and 21 deletions.
2 changes: 1 addition & 1 deletion contrib/devtools/symbol-check.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@

# Ignore symbols that are exported as part of every executable
IGNORE_EXPORTS = {
'_edata', '_end', '_init', '__bss_start', '_fini', '_IO_stdin_used'
'_edata', '_end', '_init', '__bss_start', '_fini', '_IO_stdin_used', 'stdin', 'stdout', 'stderr'
}
READELF_CMD = os.getenv('READELF', '/usr/bin/readelf')
CPPFILT_CMD = os.getenv('CPPFILT', '/usr/bin/c++filt')
Expand Down
6 changes: 3 additions & 3 deletions contrib/gitian-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -259,13 +259,13 @@ then
if [[ -n "$USE_LXC" ]]
then
sudo apt-get install lxc
bin/make-base-vm --suite trusty --arch amd64 --lxc
bin/make-base-vm --suite bionic --arch amd64 --lxc
elif [[ -n "$USE_DOCKER" ]]
then
sudo apt-get install docker-ce
bin/make-base-vm --suite trusty --arch amd64 --docker
bin/make-base-vm --suite bionic --arch amd64 --docker
else
bin/make-base-vm --suite trusty --arch amd64
bin/make-base-vm --suite bionic --arch amd64
fi
popd
fi
Expand Down
16 changes: 8 additions & 8 deletions contrib/gitian-descriptors/gitian-linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@
name: "dash-linux-0.12"
enable_cache: true
suites:
- "trusty"
- "bionic"
architectures:
- "amd64"
packages:
- "curl"
- "g++-aarch64-linux-gnu"
- "g++-4.8-aarch64-linux-gnu"
- "gcc-4.8-aarch64-linux-gnu"
- "g++-7-aarch64-linux-gnu"
- "gcc-7-aarch64-linux-gnu"
- "binutils-aarch64-linux-gnu"
- "g++-arm-linux-gnueabihf"
- "g++-4.8-arm-linux-gnueabihf"
- "gcc-4.8-arm-linux-gnueabihf"
- "g++-7-arm-linux-gnueabihf"
- "gcc-7-arm-linux-gnueabihf"
- "binutils-arm-linux-gnueabihf"
- "g++-4.8-multilib"
- "gcc-4.8-multilib"
- "g++-7-multilib"
- "gcc-7-multilib"
- "binutils-gold"
- "git-core"
- "git"
- "pkg-config"
- "autoconf"
- "libtool"
Expand Down
2 changes: 1 addition & 1 deletion contrib/gitian-descriptors/gitian-osx-signer.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: "dash-dmg-signer"
suites:
- "trusty"
- "bionic"
architectures:
- "amd64"
packages:
Expand Down
4 changes: 2 additions & 2 deletions contrib/gitian-descriptors/gitian-osx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
name: "dash-osx-0.12"
enable_cache: true
suites:
- "trusty"
- "bionic"
architectures:
- "amd64"
packages:
- "ca-certificates"
- "curl"
- "g++"
- "git-core"
- "git"
- "pkg-config"
- "autoconf"
- "librsvg2-bin"
Expand Down
2 changes: 1 addition & 1 deletion contrib/gitian-descriptors/gitian-win-signer.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: "dash-win-signer"
suites:
- "trusty"
- "bionic"
architectures:
- "amd64"
packages:
Expand Down
9 changes: 5 additions & 4 deletions contrib/gitian-descriptors/gitian-win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
name: "dash-win-0.12"
enable_cache: true
suites:
- "trusty"
- "bionic"
architectures:
- "amd64"
packages:
- "curl"
- "g++"
- "git-core"
- "git"
- "pkg-config"
- "autoconf"
- "libtool"
Expand All @@ -22,6 +22,7 @@ packages:
- "ca-certificates"
- "python"
- "python3"
- "rename"
remotes:
- "url": "https://github.com/dashpay/dash.git"
"dir": "dash"
Expand All @@ -30,7 +31,7 @@ script: |
WRAP_DIR=$HOME/wrapped
HOSTS="i686-w64-mingw32 x86_64-w64-mingw32"
CONFIGFLAGS="--enable-reduce-exports --disable-bench --disable-gui-tests"
FAKETIME_HOST_PROGS="g++ ar ranlib nm windres strip objcopy"
FAKETIME_HOST_PROGS="ar ranlib nm windres strip objcopy"
FAKETIME_PROGS="date makensis zip"
HOST_CFLAGS="-O2 -g"
HOST_CXXFLAGS="-O2 -g"
Expand Down Expand Up @@ -109,7 +110,7 @@ script: |
for prog in gcc g++; do
echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog}
echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${i}-${prog}
echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
echo "REAL=\`which -a ${i}-${prog}-posix | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
echo '# Add the gcc version to the wrapper so that ccache takes this into account (we use CCACHE_COMPILERCHECK=content)' >> ${WRAP_DIR}/${i}-${prog}
echo "# `${prog} --version | head -1`" >> ${WRAP_DIR}/${i}-${prog}
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
Expand Down
2 changes: 1 addition & 1 deletion src/init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1546,7 +1546,7 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
if (!mapMultiArgs.count("-bind") && !mapMultiArgs.count("-whitebind")) {
struct in_addr inaddr_any;
inaddr_any.s_addr = INADDR_ANY;
fBound |= Bind(connman, CService(in6addr_any, GetListenPort()), BF_NONE);
fBound |= Bind(connman, CService((in6_addr)IN6ADDR_ANY_INIT, GetListenPort()), BF_NONE);
fBound |= Bind(connman, CService(inaddr_any, GetListenPort()), !fBound ? BF_REPORT_ERROR : BF_NONE);
}
if (!fBound)
Expand Down

0 comments on commit c09f57b

Please sign in to comment.