Skip to content

Commit 236a05c

Browse files
Add manylinux_2_17 wheel builds, bump to 0.5.24
Add manylinux_2_17 (glibc 2.17) alongside existing manylinux_2_28 in the CI wheel matrix for broader Linux compatibility. Add -fpermissive for GCC < 11 to work around a template ordering bug in GCC 10.
1 parent f54c7ee commit 236a05c

3 files changed

Lines changed: 24 additions & 8 deletions

File tree

.github/workflows/build-wheels.yml

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,25 @@ env:
1313

1414
jobs:
1515
build-linux:
16-
name: Linux ${{ matrix.python-version }}
16+
name: Linux ${{ matrix.manylinux }} ${{ matrix.python-version }}
1717
runs-on: ubuntu-latest
1818
strategy:
1919
fail-fast: false
2020
matrix:
2121
python-version: ["cp39", "cp310", "cp311", "cp312", "cp313", "cp314"]
22+
manylinux: ["manylinux_2_17", "manylinux_2_28"]
23+
include:
24+
- manylinux: manylinux_2_17
25+
before_all: >-
26+
yum install -y epel-release &&
27+
yum install -y hwloc-devel &&
28+
bash {project}/scripts/build_mtkahypar.sh &&
29+
bash {project}/scripts/build_sharedmap_mtkahypar.sh
30+
- manylinux: manylinux_2_28
31+
before_all: >-
32+
yum install -y hwloc-devel &&
33+
bash {project}/scripts/build_mtkahypar.sh &&
34+
bash {project}/scripts/build_sharedmap_mtkahypar.sh
2235
steps:
2336
- uses: actions/checkout@v4
2437
with:
@@ -28,11 +41,8 @@ jobs:
2841
env:
2942
CIBW_BUILD: "${{ matrix.python-version }}-manylinux_x86_64"
3043
CIBW_SKIP: "cp31?t-*"
31-
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
32-
CIBW_BEFORE_ALL: >-
33-
yum install -y hwloc-devel &&
34-
bash {project}/scripts/build_mtkahypar.sh &&
35-
bash {project}/scripts/build_sharedmap_mtkahypar.sh
44+
CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.manylinux }}
45+
CIBW_BEFORE_ALL: ${{ matrix.before_all }}
3646
CIBW_ENVIRONMENT: >-
3747
CXX=g++
3848
CMAKE_ARGS=-DCMAKE_POLICY_VERSION_MINIMUM=3.5
@@ -46,7 +56,7 @@ jobs:
4656
4757
- uses: actions/upload-artifact@v4
4858
with:
49-
name: wheel-linux-${{ matrix.python-version }}
59+
name: wheel-linux-${{ matrix.manylinux }}-${{ matrix.python-version }}
5060
path: wheelhouse/*.whl
5161

5262
build-macos-arm64:

CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ add_compile_definitions(
2121
_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE
2222
_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION
2323
)
24+
# GCC 10 (manylinux_2_17) has a template ordering bug: std::pair may be
25+
# instantiated before <utility> defines __is_tuple_like_impl specialization,
26+
# causing a hard error. -fpermissive downgrades it to a warning.
27+
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "11")
28+
add_compile_options(-fpermissive)
29+
endif()
2430
# KaMIS's bundled KaHIP uses `using namespace __gnu_cxx;` which doesn't exist
2531
# on Apple Clang. Force-include a header that provides an empty namespace.
2632
# Also provide shims for GCC-only headers like <parallel/numeric>.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "scikit_build_core.build"
44

55
[project]
66
name = "chszlablib"
7-
version = "0.5.23"
7+
version = "0.5.24"
88
requires-python = ">=3.9"
99
dependencies = ["numpy>=1.20"]
1010
readme = "README.md"

0 commit comments

Comments
 (0)