Conversation
|
once wheels are built they can be uploaded to pypi, here is an example |
|
The wheels are not building and the error causing the failure appears to be related to cmake not finding hdf5 |
|
@shimwell I've been playing around a bit locally by using Just dumping my findings here in case they are useful I can get one step further by installing diff --git a/pyproject.toml b/pyproject.toml
index f980ce49a..a58988c10 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -17,3 +17,4 @@ skip = ["cp36-*"]
[tool.cibuildwheel.linux]
skip = ["cp36-*"]
+before-all = "yum install hdf5-devel -y"I'm not sure if there is a way to use the pip install of The above patch only finds hdf5 though, but for that specific docker image, the installed version is So one might have to build hdf5 from source. But maybe one could just reuse what h5py does ? |
|
Thanks for taking a look, perhaps we can update the docker image |
|
the macos 11 build was failing so I removed it for now it was failing with the familar since removing one matrix entry the CI appears to have got confused when I removed the mac os it appears to have worked for linux |
|
I looked a bit more into how h5py does it, and they actually provide a docker image that is manylinx + hdf5 -> https://github.com/h5py/hdf5-manylinux They use that to build their Linux wheels, but for macos they build HDF5 from source. So I imagine that openmc would have to do the same. Instead of adding the diff --git a/pyproject.toml b/pyproject.toml
index f980ce49a..db49ba225 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -17,3 +17,5 @@ skip = ["cp36-*"]
[tool.cibuildwheel.linux]
skip = ["cp36-*"]
+# before-all = "yum install hdf5-devel -y"
+manylinux-x86_64-image = "ghcr.io/h5py/manylinux2014_x86_64-hdf5"and that allowed me to build a python 3.10 wheel via Using that wheel in a plain docker image to test it, threw an error on That would also make it safer to have e.g. different versions of openmc installed. Because right now I can use any openmc python version, but the actual |
|
Thanks for looking into this @hassec I've added your suggestion on the docker image. For the access to the executable from the command line we could do something like pdfx does with a combination on console_scripts in the setup and argparse usage in a python launcher https://github.com/metachris/pdfx/blob/master/pdfx/cli.py But perhaps there are other solutions |
|
perhaps the easy option is to add |
|
Latest error is with the py3.11 build on Mac setup.py:63: RuntimeWarning: NumPy 1.21.1 may not yet support Python 3.11. |
|
Seems like the that old numpy version is only picked up because the I think I've a solution for the edit: @shimwell I've opened #24 that includes the mentioned changes. |
|
I think the numpy version is limited due to some tests failing with the newer versions of numpy. I guess openmc will move to the latest numpy version at some point so if it is causing issues here then we can change it. |
|
Also wanted to mention the latest commit from this PR removes the numpy limitation and aims to get the CI working for the latest version of numpy |
Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com>
this new github action should build python wheels that contain the openmc executable for different OS versions