-
With this configuration in Github, cibuildwheel fails to build the wheel for the windows 32 bit builds (commented below). The failure only happens with the win32 builds; all other windows and linux builds succeed. python_wheels:
name: python/${{matrix.config.pythonv}}/${{matrix.config.osname}}/${{matrix.config.cibw_arch}}
runs-on: ${{matrix.config.os}}
env: {DEV: OFF,
BT: Release,
OS: "${{matrix.config.os}}",
PYTHONV: "${{matrix.config.pythonv}}",
API: ON,
CMAKE_FLAGS: "-DRYML_DEV=OFF -DRYML_BUILD_API=ON -DRYML_API_TESTS=OFF -DRYML_API_BENCHMARKS=OFF",
CIBW_BUILD: "cp${{matrix.config.cibw_pyv}}*-${{matrix.config.cibw_platform}}",
CIBW_ARCHS: "${{matrix.config.cibw_arch}}"}
strategy:
fail-fast: false
matrix:
config:
- {pythonv: 3.9 , cibw_pyv: 39 , cibw_arch: x86_64, osname: linux, cibw_platform: manylinux_x86_64, os: ubuntu-20.04}
- {pythonv: 3.9 , cibw_pyv: 39 , cibw_arch: i686 , osname: linux, cibw_platform: manylinux_i686 , os: ubuntu-20.04}
- {pythonv: 3.9 , cibw_pyv: 39 , cibw_arch: AMD64 , osname: win , cibw_platform: win_amd64 , os: windows-2019, cxx: vs2019}
# error:
- {pythonv: 3.9 , cibw_pyv: 39 , cibw_arch: x86 , osname: win , cibw_platform: win32 , os: windows-2019, cxx: vs2019}
- {pythonv: 3.8 , cibw_pyv: 38 , cibw_arch: x86_64, osname: linux, cibw_platform: manylinux_x86_64, os: ubuntu-20.04}
- {pythonv: 3.8 , cibw_pyv: 38 , cibw_arch: i686 , osname: linux, cibw_platform: manylinux_i686 , os: ubuntu-20.04}
- {pythonv: 3.8 , cibw_pyv: 38 , cibw_arch: AMD64 , osname: win , cibw_platform: win_amd64 , os: windows-2019, cxx: vs2019}
# error:
- {pythonv: 3.8 , cibw_pyv: 38 , cibw_arch: x86 , osname: win , cibw_platform: win32 , os: windows-2019, cxx: vs2019}
- {pythonv: 3.7 , cibw_pyv: 37 , cibw_arch: x86_64, osname: linux, cibw_platform: manylinux_x86_64, os: ubuntu-20.04}
- {pythonv: 3.7 , cibw_pyv: 37 , cibw_arch: i686 , osname: linux, cibw_platform: manylinux_i686 , os: ubuntu-20.04}
- {pythonv: 3.7 , cibw_pyv: 37 , cibw_arch: AMD64 , osname: win , cibw_platform: win_amd64 , os: windows-2019, cxx: vs2019}
# error:
- {pythonv: 3.7 , cibw_pyv: 37 , cibw_arch: x86 , osname: win , cibw_platform: win32 , os: windows-2019, cxx: vs2019}
steps:
# use fetch-depth to ensure all tags are fetched
- {name: checkout, uses: actions/checkout@v2, with: {submodules: recursive, fetch-depth: 0}}
- name: install python ${{matrix.config.pythonv}}
uses: actions/setup-python@v2
with:
python-version: ${{matrix.config.pythonv}}
- name: install requirements
run: |
echo "expecting python ${{matrix.config.pythonv}}..."
python --version
pip install -v -r requirements.txt
- name: create wheel
uses: joerick/cibuildwheel@v2.1.1
- name: rename wheelhouse -> dist
run: |
mv -fv wheelhouse dist
ls -lFhp dist/
- name: Save artifacts for publishing to PyPI
uses: actions/upload-artifact@v1
with: {name: dist, path: dist} Here's an example of the error: api/CMakeFiles/ryml-api-python3.dir/src/python3/rymlPYTHON_wrap.cxx.obj:rymlPYTHON_wrap.cxx:(.text+0x23): undefined reference to `__imp_PyExc_RuntimeError'
api/CMakeFiles/ryml-api-python3.dir/src/python3/rymlPYTHON_wrap.cxx.obj:rymlPYTHON_wrap.cxx:(.text+0x33): undefined reference to `__imp_PyExc_IOError'
api/CMakeFiles/ryml-api-python3.dir/src/python3/rymlPYTHON_wrap.cxx.obj:rymlPYTHON_wrap.cxx:(.text+0x43): undefined reference to `__imp_PyExc_MemoryError'
api/CMakeFiles/ryml-api-python3.dir/src/python3/rymlPYTHON_wrap.cxx.obj:rymlPYTHON_wrap.cxx:(.text+0x53): undefined reference to `__imp_PyExc_AttributeError'
// ... etc I suspect the compiler for CMake ( |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
Yes, you need to add specific flags, For inspiration look here: https://github.com/andrix/python-snappy/blob/master/build_snappy.sh |
Beta Was this translation helpful? Give feedback.
-
Also, you should remove these lines: - name: install python ${{matrix.config.pythonv}}
uses: actions/setup-python@v2
with:
python-version: ${{matrix.config.pythonv}}
- name: install requirements
run: |
echo "expecting python ${{matrix.config.pythonv}}..."
python --version
pip install -v -r requirements.txt They do not affect cibuildwheel, the built wheel, or anything else, and confuse the reader. You can also make "dist" the output directory if you want, that's settable. Also cibuildwheel already lists the output at the end, specifically so you don't have to do an "ls" on the output. |
Beta Was this translation helpful? Give feedback.
Yes, you need to add specific flags, For inspiration look here: https://github.com/andrix/python-snappy/blob/master/build_snappy.sh