Skip to content

Remove the unrepaired linux_x86_64 OpenMC wheels - #25

Merged
shimwell merged 1 commit into
mainfrom
remove-unrepaired-linux-wheels
Sep 4, 2026
Merged

Remove the unrepaired linux_x86_64 OpenMC wheels#25
shimwell merged 1 commit into
mainfrom
remove-unrepaired-linux-wheels

Conversation

@shimwell

@shimwell shimwell commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Deletes the eight linux_x86_64 tagged OpenMC wheels and regenerates openmc/index.html.

File Added
openmc-0.15.3-cp310-cp310-linux_x86_64.whl 65afccc, Apr 2025
openmc-0.15.3-cp311-cp311-linux_x86_64.whl 65afccc, Apr 2025
openmc-0.15.3-cp312-cp312-linux_x86_64.whl 65afccc, Apr 2025
openmc-0.15.3-cp313-cp313-linux_x86_64.whl 65afccc, Apr 2025
openmc-0.15.3-cp314-cp314-linux_x86_64.whl 65afccc, Apr 2025
openmc-0.15.1.dev0-cp310-cp310-linux_x86_64.whl 0e551f3, Feb 2025
openmc-0.15.1.dev0-cp311-cp311-linux_x86_64.whl 0e551f3, Feb 2025
openmc-0.15.1.dev0-cp312-cp312-linux_x86_64.whl 0e551f3, Feb 2025

Why

They are local python -m build output from before the cibuildwheel workflows existed. The linux_x86_64 tag is the giveaway: they never went through auditwheel repair, so there is no openmc.libs/ directory in them (3.3 MB each against 33 MB for the manylinux equivalents) and libopenmc.so still links straight at the build machine's environment:

libhdf5.so.310  libhdf5_hl.so.310  libdagmc.so  libMOAB.so.5
libfmt.so.6     libpugixml.so.1    libpng16.so.16

So they only import on a machine that already has the full OpenMC dependency stack installed.

On any current system pip never picked them regardless: manylinux_2_28_x86_64 sits at tag priority index 15 against 42 for linux_x86_64, and the competing files carry the same version, so tag priority decided it.

The case where pip did pick them is the one worth fixing. On glibc older than 2.28 (CentOS 7, Ubuntu 18.04) the manylinux_2_28 wheel is not a compatible candidate at all, so pip fell through to the unrepaired wheel, installed it happily, and the user hit an ImportError for libhdf5.so.310 on the first import openmc. With these gone, that platform gets a clean "no matching distribution found" instead, which is the honest answer for it.

README.md only ever documented the manylinux files, so no doc changes are needed. check-index.yml should pass, as update_indexs.py was rerun and leaves no dangling references.

Left in place, for a possible follow up

  • openmc-0.15.3-cp310-cp310-manylinux_2_28_x86_64.whl ships 32 MB of stray simulation output inside the package directory (statepoint.1000.h5, statepoint.100.h5, summary.h5, weight_windows.h5), picked up from the working directory of that June 2025 build. Its linux_x86_64 twin had the same problem and is deleted here.
  • The three remaining openmc-0.15.1.dev0-*-manylinux_2_28_x86_64.whl files are superseded by 0.15.3 and unreachable in practice, since pip ignores pre-releases by default.
  • cp310 and cp311 are below upstream's current requires-python = ">=3.12", so those wheels cannot be rebuilt from current develop.

These eight wheels are local "python -m build" output from before the
cibuildwheel workflows existed, added in Feb and Apr 2025. The
linux_x86_64 tag means they never went through auditwheel repair, so
they carry no openmc.libs directory and libopenmc.so still links
against the build machine's libhdf5.so.310, libdagmc.so, libMOAB.so.5,
libfmt.so.6 and libpugixml.so.1. They only import on a machine that
already has the whole OpenMC dependency stack.

On a current system pip never selected them anyway, since
manylinux_2_28_x86_64 outranks linux_x86_64 in the tag priority list
and both files carry the same version. The case where pip did select
them is the harmful one: on glibc older than 2.28 the manylinux wheel
is not a candidate, so pip fell through to the unrepaired wheel,
installed it, and left the user with an ImportError on first use.
Removing them turns that into a clean "no matching distribution found".

Regenerates openmc/index.html with update_indexs.py.
@shimwell
shimwell merged commit 4348688 into main Sep 4, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant