Skip to content

Wheels: Cleanup, Prep. i686 and aarch64 #718

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

Merged
merged 2 commits into from
Apr 16, 2020
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
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ jobs:
CIBW_SKIP: cp27-* pp27-* *-win32 *-manylinux_i686 *win*
# Install dependencies on Linux and OSX
CIBW_BEFORE_BUILD: bash -x .github/library_builders.sh
# CMake shall search for static dependencies of HDF5 and ADIOS1
HDF5_USE_STATIC_LIBRARIES: ON
ADIOS_USE_STATIC_LIBS: ON
# for the openPMD-api build, CMake shall search for
# static dependencies of HDF5 and ADIOS1 (see setup.py)
CIBW_ENVIRONMENT: HDF5_USE_STATIC_LIBRARIES='ON' ADIOS_USE_STATIC_LIBS='ON'
run: |
cd src
python setup.py sdist --dist-dir ../wheelhouse
Expand Down
25 changes: 21 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,45 @@ branches:

env:
global:
- OPENPMD_GIT_REF="0.11.1-alpha"

# (1,2) Skip building for Python 2.7 on all platforms
- CIBW_SKIP="cp27-* pp27-*"
# (3) GNU 7.3.1 & MPark.Variant 1.4.0 on i686:
# https://github.com/pypa/manylinux/issues/543
# variant.hpp:2241:9: internal compiler error:
# unexpected expression ‘I’ of kind template_parm_index
# typename T = lib::type_pack_element_t<I, Ts...>,
- CIBW_SKIP="cp27-* pp27-* *-manylinux_i686"
# Install dependencies on Linux and OSX
- CIBW_BEFORE_BUILD="bash -x .github/library_builders.sh"
# for the openPMD-api build, CMake shall search for
# static dependencies of HDF5 and ADIOS1 (see setup.py)
- CIBW_ENVIRONMENT="HDF5_USE_STATIC_LIBRARIES='ON' ADIOS_USE_STATIC_LIBS='ON'"

jobs:
include:
# perform a linux ARMv8 build
# blocked by https://github.com/ornladios/ADIOS2/issues/2137
# blocked by https://github.com/scikit-build/cmake-python-distributions/issues/96
# https://github.com/pypa/manylinux/issues/544
# - services: docker
# arch: aarch64
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

upstream docs typo: this is called arm64 on Travis-CI
pypa/cibuildwheel#322

# arch: arm64
# env:
# - CIBW_BUILD="*_aarch64"

# perform a linux PPC64LE build
# blocked by https://github.com/pypa/auditwheel/issues/36
# https://github.com/pypa/auditwheel/pull/213
# - services: docker
# arch: ppc64le
# env:
# - CIBW_BUILD="*_ppc64le"

# perform a linux S390X build
# blocked by https://github.com/GTkorvo/dill/issues/15
# - services: docker
# arch: s390x
# env:
# - CIBW_BUILD="*_s390x"

# and a build for old macOS versions (10.13 with xcode9.4.1 ~2017)
- os: osx
Expand All @@ -36,7 +53,7 @@ jobs:
python: 3.6

install:
- git clone --branch 0.11.1-alpha --depth 1 https://github.com/openPMD/openPMD-api.git src
- git clone --branch ${OPENPMD_GIT_REF} --depth 1 https://github.com/openPMD/openPMD-api.git src
- cp library_builders.sh src/.github/
- python3 -m pip install cibuildwheel==1.3.0

Expand Down
11 changes: 6 additions & 5 deletions library_builders.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,10 @@ function build_adios1 {
if [ -e adios1-stamp ]; then return; fi

# avoid picking up a static libpthread in adios (also: those libs lack -fPIC)
# rm /usr/lib64/libpthread.a /usr/lib64/libm.a /usr/lib64/librt.a
if [ "$(uname -s)" = "Linux" ]
then
rm -f /usr/lib64/libpthread.a /usr/lib64/libm.a /usr/lib64/librt.a
fi

curl -sLo adios-1.13.1.tar.gz \
http://users.nccs.gov/~pnorbert/adios-1.13.1.tar.gz
Expand All @@ -83,6 +86,8 @@ function build_adios2 {
cd ADIOS2-*
curl -sLo adios2-static.patch https://patch-diff.githubusercontent.com/raw/ornladios/ADIOS2/pull/1828.patch
patch -p1 < adios2-static.patch
curl -sLo adios2-i686.patch https://patch-diff.githubusercontent.com/raw/ornladios/ADIOS2/pull/2138.patch
patch -p1 < adios2-i686.patch
cd ..
mkdir build-ADIOS2
cd build-ADIOS2
Expand Down Expand Up @@ -150,10 +155,6 @@ function build_hdf5 {
export CFLAGS+=" -fPIC"
export CXXFLAGS+=" -fPIC"

# CMake shall search for static dependencies of HDF5 and ADIOS1
export HDF5_USE_STATIC_LIBRARIES="ON"
export ADIOS_USE_STATIC_LIBS="ON"

install_buildessentials
build_blosc
build_hdf5
Expand Down