Conversation
34b6ac2 to
13b41e8
Compare
|
Going to run cibuildwheel locally to test this before merging it, on top of Alex's changes to the python deps |
|
ok so we actually have a slight problem here in that the manylinux specification forbids linking against openmp (linking against any shared lib not in this list implies noncompliance: https://peps.python.org/pep-0599/#the-manylinux2014-policy) I think to get this to work now I have to bundle |
|
Specifically Repairing wheel...
+ sh -c 'auditwheel repair -w /tmp/cibuildwheel/repaired_wheel /tmp/cibuildwheel/built_wheel/heir_py-0.0.2-cp311-abi3-linux_x86_64.whl'
INFO:auditwheel.main_repair:Repairing heir_py-0.0.2-cp311-abi3-linux_x86_64.whl
auditwheel: error: cannot repair "/tmp/cibuildwheel/built_wheel/heir_py-0.0.2-cp311-abi3-linux_x86_64.whl" to "manylinux_2_28_x86_64" ABI because of the presence of too-recent versioned symbols. You'll need to compile the wheel on an older toolchain.Repro (from a venv with CIBW_DEBUG_KEEP_CONTAINER=1 cibuildwheel --platform linux --archs x86_64Then after it fails, $ /opt/python/cp311-cp311/bin/python -m pip install auditwheel-symbols
$ /opt/python/cp311-cp311/bin/auditwheel-symbols --manylinux 2_28 /tmp/cibuildwheel/built_wheel/heir_py-0.0.2-cp311-abi3-linux_x86_64.whl
heir/abc is manylinux_2_28 compliant.
heir/heir-opt is not manylinux_2_28 compliant because it links the following forbidden libraries:
libgomp.so.1
heir/heir-translate is manylinux_2_28 compliant.
heir/libOPENFHEbinfhe.so is not manylinux_2_28 compliant because it links the following forbidden libraries:
libc.so.6 offending versions: GLIBC_2.32
libstdc++.so.6 offending versions: GLIBCXX_3.4.29
libm.so.6 offending versions: GLIBC_2.29
heir/libOPENFHEcore.so is not manylinux_2_28 compliant because it links the following forbidden libraries:
libc.so.6 offending versions: GLIBC_2.32
libm.so.6 offending versions: GLIBC_2.29
libstdc++.so.6 offending versions: GLIBCXX_3.4.29
heir/libOPENFHEpke.so is not manylinux_2_28 compliant because it links the following forbidden libraries:
libm.so.6 offending versions: GLIBC_2.29
libstdc++.so.6 offending versions: GLIBCXX_3.4.29, GLIBCXX_3.4.26
libc.so.6 offending versions: GLIBC_2.32
heir/libopenfhe.so is not manylinux_2_28 compliant because it links the following forbidden libraries:
libgomp.so.1
heir_py-0.0.2.data/data/bin/heir-opt is not manylinux_2_28 compliant because it links the following forbidden libraries:
libgomp.so.1
heir_py-0.0.2.data/data/bin/heir-translate is manylinux_2_28 compliant. |
|
The errors like |
|
Just to unblock releases at this point, I'm going to disable openmp in the heir-py build and file an issue. |
13b41e8 to
c0ae7ea
Compare
|
Another option: https://github.com/cerisier/toolchains_llvm_bootstrapped |
c0ae7ea to
957f26e
Compare
The forcing of the
lldlinker is breaking the cibuildwheel, and once I fixed that I found it was broken by a lack of openmp. I found a way to allowlibompandlibgompby using just the-fopenmpoption, which allows the compiler to pick the exact linker flag based on what's available on the system. Also needed to installlibgompin the cibuildwheel container.