Skip to content

Commit 5be3461

Browse files
fixing linux includes
1 parent 30792a2 commit 5be3461

File tree

1 file changed

+32
-4
lines changed

1 file changed

+32
-4
lines changed

.github/workflows/build_wheels.yml

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,18 @@ jobs:
2929
if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm'
3030
run: |
3131
sudo apt update
32-
sudo apt install -y gfortran cmake ninja-build libboost-all-dev libzip-dev libhdf5-dev libbz2-dev libssl-dev liblzma-dev
32+
sudo apt install -y wget gfortran cmake ninja-build libboost-all-dev libzip-dev libhdf5-dev libbz2-dev libssl-dev liblzma-dev
33+
34+
# for some reason, there aren't headers included in libzip-dev???? so we're building from source!
35+
mkdir ../libzip-source
36+
wget https://libzip.org/download/libzip-1.11.3.tar.gz
37+
tar -xzvf libzip-1.11.3.tar.gz -C ../libzip-source
38+
cmake -S ../libzip-source/libzip-1.11.3 -B ../libzip-source/libzip-1.11.3/build -G Ninja
39+
cmake --build ../libzip-source/libzip-1.11.3/build
40+
sudo cmake --install ../libzip-source/libzip-1.11.3/build
41+
echo "Confirming header presence..."
42+
ls /usr/local/include/libzip.h
43+
ls /usr/local/lib/libzip.so
3344
3445
- name: Install Intel MacOS Dependencies
3546
if: matrix.os == 'macos-13'
@@ -119,12 +130,29 @@ jobs:
119130
# output-dir: wheelhouse
120131
# config-file: "{package}/pyproject.toml"
121132

122-
- name: Build Wheels (Linux)
133+
- name: Build Wheels (Linux<ARM>)
123134
uses: pypa/cibuildwheel@v2.23.2
124-
if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm'
135+
if: matrix.os == 'ubuntu-24.04-arm'
136+
env:
137+
LIBZIP_INCLUDE_DIR: '/usr/include'
138+
LIBZIP_LIBRARY: '/usr/lib/aarch64-linux-gnu/libzip.so'
139+
CIBW_BUILD_COMMAND: "cmake -B build -S . -DENABLE_MY_FEATURE=ON -DLIBZIP_INCLUDE_DIR=/usr/include -DLIBZIP_LIBRARY=/usr/lib/aarch64-linux-gnu/libzip.so && cmake --build build --config Release"
140+
CIBW_BUILD: ${{ matrix.python_version }}
141+
CIBW_BEFORE_BUILD: "pip install h5py numpy cmake ninja"
142+
# with:
143+
# package-dir: .
144+
# output-dir: wheelhouse
145+
# config-file: "{package}/pyproject.toml"
146+
147+
- name: Build Wheels (Linux<x86_64>)
148+
uses: pypa/cibuildwheel@v2.23.2
149+
if: matrix.os == 'ubuntu-latest'
125150
env:
126-
LIBZIP_INCLUDE_DIR: '/usr/include/zip.h'
151+
LIBZIP_INCLUDE_DIR: '/usr/include'
152+
LIBZIP_LIBRARY: '/usr/lib/x86_64-linux-gnu/libzip.so'
153+
CIBW_BUILD_COMMAND: "cmake -B build -S . -DENABLE_MY_FEATURE=ON -DLIBZIP_INCLUDE_DIR=/usr/include -DLIBZIP_LIBRARY=/usr/lib/x86_64-linux-gnu/libzip.so && cmake --build build --config Release"
127154
CIBW_BUILD: ${{ matrix.python_version }}
155+
CIBW_BEFORE_BUILD: "pip install h5py numpy cmake ninja"
128156
# with:
129157
# package-dir: .
130158
# output-dir: wheelhouse

0 commit comments

Comments
 (0)