Skip to content
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

Windows build fixes #108

Merged
merged 8 commits into from
May 1, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
234 changes: 67 additions & 167 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ install:
matrix:
include:
# Build mintcoind
# Ubuntu 14.04 LTS (Trusty Tahr) is our latest (and only) Ubuntu version
# Ubuntu 16.04 LTS (Xenial Xerus) is our latest Ubuntu version
- os: linux
dist: trusty
dist: xenial
sudo: required
addons:
apt:
Expand All @@ -22,74 +22,54 @@ matrix:
- libboost-all-dev
- libqrencode-dev
- libminiupnpc-dev
- libminiupnpc8
script: cd src && make -f makefile.unix -j2

# Build mintcoind
# Cross-compile Windows 32-bit daemon
- os: linux
dist: trusty
dist: xenial
sudo: required
script: bash src/mxe-build.sh windows32

# Build mintcoind
# Cross-compile Windows 64-bit daemon
- os: linux
dist: trusty
dist: xenial
sudo: required
script: bash src/mxe-build.sh windows64

# Build mintcoind
# Ubuntu 14.04 LTS (Trusty Tahr) is our latest (and only) Ubuntu version
# Ubuntu 16.04 LTS (Xenial Xerus) is our latest Ubuntu version
# Make a 32-bit version using Debian multiarch
- os: linux
dist: trusty
dist: xenial
sudo: required
# To support 32-bit builds, we add the i386 architecture to
# Ubuntu, and then install 32-bit versions of the compiler and
# libraries needed. For details of Debian multiarch see the wiki:
#
# https://wiki.debian.org/Multiarch
#
# Even with multiarch support, we have to do a bit of a dance, for
# two reasons.
#
# First, apt-get does not seem to understand dependencies for
# the multiarch stuff, so we have to explicitly install all of
# the dependencies.
#
# Second, one of the packages is built for the "all" architecture.
# In principle this should work, but for some reason the system
# insists that to use it for the MPI libraries it needs to be for
# the "i386" architecture. So we download and repackage the .deb
# file modified to support this. For details see this Serverfault
# message:
#
# https://serverfault.com/a/383958
# Even with multiarch support, we have to do a bit of a dance.
#
# apt-get does not seem to understand dependencies for the
# multiarch stuff, so we have to explicitly install all of the
# dependencies.
before_script:
- sudo dpkg --add-architecture i386
- sudo apt-get update
- sudo apt-get install -y gcc:i386 cpp:i386 gcc-4.8:i386 binutils:i386
- sudo apt-get install -y g++:i386
- sudo apt-get install -y g++:i386 cpp:i386 gcc:i386 cpp-5:i386 gcc-5:i386 binutils:i386
- sudo apt-get install -y libssl-dev:i386
- sudo apt-get install -y libdb++-dev:i386
- sudo apt-get install -y libminiupnpc-dev:i386
- apt-get download openmpi-common:all
- ar x openmpi-common_*_all.deb
- tar xf control.tar.gz
- |
sed -i "s/^Architecture: all/Architecture: i386/" control
- tar czf control.tar.gz md5sums control
- ar rcs openmpi-common_*_all.deb debian-binary control.tar.gz data.tar.xz
- sudo dpkg -i openmpi-common_*_all.deb
- sudo apt-get install -y libboost-all-dev:i386 libboost-mpi-dev:i386 libboost-mpi-python-dev:i386 libboost-mpi-python1.54-dev:i386 libboost-mpi-python1.54.0:i386 libboost-mpi-python1.54-dev:i386 libboost-mpi1.54-dev:i386 python:i386
- sudo apt-get install -y openmpi-common:i386
- sudo apt-get install -y libboost-all-dev:i386 libboost-mpi-dev:i386 libboost-mpi-python-dev:i386 libboost-python-dev:i386 libboost-python1.58-dev:i386 python:i386
script: cd src && make -f makefile.unix -j2

# Build mintcoind static
# Ubuntu 14.04 LTS (Trusty Tahr) is our latest (and only) Ubuntu version
# Ubuntu 16.04 LTS (Xenial Xerus) is our latest Ubuntu version
- os: linux
dist: trusty
dist: xenial
sudo: required
addons:
apt:
Expand All @@ -98,121 +78,88 @@ matrix:
- libboost-all-dev
- libqrencode-dev
- libminiupnpc-dev
- libminiupnpc8
script: cd src && make -f makefile.unix -j2 STATIC="all" LDFLAGS="-static"

# Build mintcoind static
# Ubuntu 14.04 LTS (Trusty Tahr) is our latest (and only) Ubuntu version
# Ubuntu 16.04 LTS (Xenial Xerus) is our latest Ubuntu version
# Make a 32-bit version using Debian multiarch
- os: linux
dist: trusty
dist: xenial
sudo: required
# To support 32-bit builds, we add the i386 architecture to
# Ubuntu, and then install 32-bit versions of the compiler and
# libraries needed. For details of Debian multiarch see the wiki:
#
# https://wiki.debian.org/Multiarch
#
# Even with multiarch support, we have to do a bit of a dance, for
# two reasons.
#
# First, apt-get does not seem to understand dependencies for
# the multiarch stuff, so we have to explicitly install all of
# the dependencies.
#
# Second, one of the packages is built for the "all" architecture.
# In principle this should work, but for some reason the system
# insists that to use it for the MPI libraries it needs to be for
# the "i386" architecture. So we download and repackage the .deb
# file modified to support this. For details see this Serverfault
# message:
#
# https://serverfault.com/a/383958
# Even with multiarch support, we have to do a bit of a dance.
#
# apt-get does not seem to understand dependencies for the
# multiarch stuff, so we have to explicitly install all of the
# dependencies.
before_script:
- sudo dpkg --add-architecture i386
- sudo apt-get update
- sudo apt-get install -y gcc:i386 cpp:i386 gcc-4.8:i386 binutils:i386
- sudo apt-get install -y g++:i386
- sudo apt-get install -y g++:i386 cpp:i386 gcc:i386 cpp-5:i386 gcc-5:i386 binutils:i386
- sudo apt-get install -y libssl-dev:i386
- sudo apt-get install -y libdb++-dev:i386
- sudo apt-get install -y libminiupnpc-dev:i386
- apt-get download openmpi-common:all
- ar x openmpi-common_*_all.deb
- tar xf control.tar.gz
- |
sed -i "s/^Architecture: all/Architecture: i386/" control
- tar czf control.tar.gz md5sums control
- ar rcs openmpi-common_*_all.deb debian-binary control.tar.gz data.tar.xz
- sudo dpkg -i openmpi-common_*_all.deb
- sudo apt-get install -y libboost-all-dev:i386 libboost-mpi-dev:i386 libboost-mpi-python-dev:i386 libboost-mpi-python1.54-dev:i386 libboost-mpi-python1.54.0:i386 libboost-mpi-python1.54-dev:i386 libboost-mpi1.54-dev:i386 python:i386
- sudo apt-get install -y openmpi-common:i386
- sudo apt-get install -y libboost-all-dev:i386 libboost-mpi-dev:i386 libboost-mpi-python-dev:i386 libboost-python-dev:i386 libboost-python1.58-dev:i386 python:i386
script: cd src && make -f makefile.unix -j2 STATIC="all" LDFLAGS="-static"

# Build mintcoind
# Ubuntu 16.04 LTS (Xenial Xerus) not supported yet
#- os: linux
# dist: xenial
# sudo: required
# addons:
# apt:
# packages:
# - libdb++-dev
# - libboost-all-dev
# - libqrencode-dev
# - libminiupnpc-dev
# - libminiupnpc8
# script: cd src && make -f makefile.unix -j2 && python mega-copy.py mintcoind $TRAVIS_BRANCH/mintcoind.linux-ubuntu-xenial

# Build mintcoind
# OS X 10.10 (Yosemite)
#
# "pip: command not found" on Travis, so we will just not build this
# OS X 10.11 (El Capitan)
- os: osx
osx_image: xcode8
script: cd src && make -f makefile.osx -j2

# Build mintcoind static
# OS X 10.10 (Yosemite)
#
# "pip: command not found" on Travis, so we will just not build this
# OS X 10.11 (El Capitan)
- os: osx
osx_image: xcode8
script: cd src && make -f makefile.osx -j2 STATIC="all" LDFLAGS="-static"

# Build mintcoind
# OS X 10.11 (El Capitan)
# macOS 10.12 (Sierra)
- os: osx
osx_image: xcode7.3
osx_image: xcode9.2
script: cd src && make -f makefile.osx -j2

# Build mintcoind static
# OS X 10.11 (El Capitan)
# macOS 10.12 (Sierra)
- os: osx
osx_image: xcode7.3
osx_image: xcode9.2
script: cd src && make -f makefile.osx -j2 STATIC="all" LDFLAGS="-static"

# Build mintcoind
# OS X 10.12 (Sierra)
# macOS 10.13 (High Sierra)
- os: osx
osx_image: xcode8.3
osx_image: xcode10.1
script: cd src && make -f makefile.osx -j2

# Build mintcoind static
# OS X 10.12 (Sierra)
# macOS 10.13 (High Sierra)
- os: osx
osx_image: xcode8.3
osx_image: xcode10.1
script: cd src && make -f makefile.osx -j2 STATIC="all" LDFLAGS="-static"

# Build mintcoind
# OS X 10.13 (High Sierra)
# macOS 10.14 (Mojave)
- os: osx
osx_image: xcode9.3beta
osx_image: xcode10.2
script: cd src && make -f makefile.osx -j2

# Build mintcoind static
# OS X 10.13 (High Sierra)
# macOS 10.14 (Mojave)
- os: osx
osx_image: xcode9.3beta
osx_image: xcode10.2
script: cd src && make -f makefile.osx -j2 STATIC="all" LDFLAGS="-static"

# Build MintCoin-Qt
# Ubuntu 14.04 LTS (Trusty Tahr) is our latest (and only) Ubuntu version
# Ubuntu 16.04 LTS (Xenial Xerus) is our latest Ubuntu version
- os: linux
dist: trusty
dist: xenial
sudo: required
addons:
apt:
Expand All @@ -221,118 +168,71 @@ matrix:
- libboost-all-dev
- libqrencode-dev
- libminiupnpc-dev
- libminiupnpc8
- qt4-qmake
- libqt4-dev
script: qmake && make -j2

# Build MintCoin-Qt
# Ubuntu 14.04 LTS (Trusty Tahr) is our latest (and only) Ubuntu version
# Ubuntu 16.04 LTS (Xenial Xerus) is our latest Ubuntu version
# Make a 32-bit version using Debian multiarch
- os: linux
dist: trusty
dist: xenial
sudo: required
# To support 32-bit builds, we add the i386 architecture to
# Ubuntu, and then install 32-bit versions of the compiler and
# libraries needed. For details of Debian multiarch see the wiki:
#
# https://wiki.debian.org/Multiarch
#
# Even with multiarch support, we have to do a bit of a dance, for
# two reasons.
#
# First, apt-get does not seem to understand dependencies for
# the multiarch stuff, so we have to explicitly install all of
# the dependencies.
#
# Second, one of the packages is built for the "all" architecture.
# In principle this should work, but for some reason the system
# insists that to use it for the MPI libraries it needs to be for
# the "i386" architecture. So we download and repackage the .deb
# file modified to support this. For details see this Serverfault
# message:
#
# https://serverfault.com/a/383958
# Even with multiarch support, we have to do a bit of a dance.
#
# apt-get does not seem to understand dependencies for the
# multiarch stuff, so we have to explicitly install all of the
# dependencies.
before_script:
- sudo dpkg --add-architecture i386
- sudo apt-get update
- sudo apt-get install -y gcc:i386 cpp:i386 gcc-4.8:i386 binutils:i386
- sudo apt-get install -y g++:i386
- sudo apt-get install -y g++:i386 cpp:i386 gcc:i386 cpp-5:i386 gcc-5:i386 binutils:i386
- sudo apt-get install -y libssl-dev:i386
- sudo apt-get install -y libdb++-dev:i386
- sudo apt-get install -y libminiupnpc-dev:i386
- apt-get download openmpi-common:all
- ar x openmpi-common_*_all.deb
- tar xf control.tar.gz
- |
sed -i "s/^Architecture: all/Architecture: i386/" control
- tar czf control.tar.gz md5sums control
- ar rcs openmpi-common_*_all.deb debian-binary control.tar.gz data.tar.xz
- sudo dpkg -i openmpi-common_*_all.deb
- sudo apt-get install -y libboost-all-dev:i386 libboost-mpi-dev:i386 libboost-mpi-python-dev:i386 libboost-mpi-python1.54-dev:i386 libboost-mpi-python1.54.0:i386 libboost-mpi-python1.54-dev:i386 libboost-mpi1.54-dev:i386 python:i386
- sudo apt-get install -y openmpi-common:i386
- sudo apt-get install -y libboost-all-dev:i386 libboost-mpi-dev:i386 libboost-mpi-python-dev:i386 libboost-python-dev:i386 libboost-python1.58-dev:i386 python:i386
- sudo apt-get install -y libqrencode-dev:i386
- sudo apt-get install -y qt4-qmake:i386 libqt4-dev:i386
- sudo apt-get install -y qtchooser:i386
- sudo apt-get install -y qt4-linguist-tools:i386
- sudo apt-get install -y libqt4-dev-bin:i386
script: /usr/lib/i386-linux-gnu/qt4/bin/qmake && make -j2

# Build MintCoin-Qt
# Ubuntu 16.04 LTS (Xenial Xerus) not supported yet
#- os: linux
# dist: xenial
# addons:
# apt:
# packages:
# - libdb++-dev
# - libboost-all-dev
# - libqrencode-dev
# - libminiupnpc-dev
# - libminiupnpc8
# - qt4-qmake
# - libqt4-dev
# script: qmake && make -j2 && python src/mega-copy.py MintCoin-Qt $TRAVIS_BRANCH/MintCoin-Qt.linux-ubuntu-xenial

# Build MintCoin-Qt
# Cross-compile Windows 32-bit GUI
- os: linux
dist: trusty
dist: xenial
sudo: required
script: bash src/mxe-build.sh windows32-qt

# Build MintCoin-Qt
# Cross-compile Windows 64-bit GUI
- os: linux
dist: trusty
dist: xenial
sudo: required
script: bash src/mxe-build.sh windows64-qt

# Build MintCoin-Qt
# OS X 10.10 (Yosemite)
#
# Error: You are using macOS 10.10.
# We (and Apple) do not provide support for this old version.
# You may encounter build failures or other breakages.

# Build MintCoin-Qt
# OS X 10.11 (El Capitan)
#
# Error: You are using macOS 10.11.
# We (and Apple) do not provide support for this old version.
# You will encounter build failures and other breakages.
# Please create pull requests instead of asking for help on Homebrew's
# GitHub, Discourse, Twitter or IRC. As you are running this old version,
# you are responsible for resolving any issues you experience.

# Build MintCoin-Qt
# OS X 10.12 (Sierra)
# macOS 10.12 (Sierra)
- os: osx
osx_image: xcode8.3
osx_image: xcode9
script: brew install qrencode qt && /usr/local/opt/qt/bin/qmake && make -j2

# Build MintCoin-Qt
# OS X 10.13 (High Sierra)
# macOS 10.13 (High Sierra)
- os: osx
osx_image: xcode9.3beta
osx_image: xcode10.1
script: brew install qrencode qt && /usr/local/opt/qt/bin/qmake && make -j2

# Build MintCoin-Qt
# macOS 10.14 (Mojave)
#- os: osx
# osx_image: xcode10.2
# script: export MACOSX_DEPLOYMENT_TARGET=10.14 && open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg && brew install qrencode qt && /usr/local/opt/qt/bin/qmake && make -j2
Loading