Closed TansyArron closed 2 years ago
Looks like an unintended interaction with copied_libs
causing the rewrite_record
call to be missed. Delocate re-signed the dylibs assuming they were modified but didn't signal to update the record with copied_libs
.
I think I'd go with applying both suggestions.
Describe the bug If delocate has been run more than once on a wheel, installing that wheel will fail with a
bad hash for file
error.To Reproduce
Check the hash of a file against the hash in RECORD:
unzip -p scipy-1.8.0-cp39-cp39-macosx_10_9_x86_64.wh scipy/linalg/_flapack.cpython-39-darwin.so | openssl dgst -sha256 -binary | base64 S/Y7+a3d54cos5fjrM5pOsfTwpsGA59efnWUmN7wEdo=
.pvenvs/fs3/bin/python3 -m pip install delocate .pvenvs/fs3/bin/delocate-wheel -vvv -k -w /tmp/wheel_debug --require-archs=x86_64 --dylibs-only scipy-1.8.0-cp39-cp39-macosx_10_9_x86_64.wh
unzip -p /tmp/wheel_debug/scipy-1.8.0-cp39-cp39-macosx_12_0_universal2.macosx_10_9_x86_64.whl scipy-1.8.0.dist-info/RECORD | grep scipy/linalg/_flapack.cpython-39-darwin.so scipy/linalg/_flapack.cpython-39-darwin.so,sha256=ExagtcdwMg8I4ZanBQXef4psNz78SJPGxVmr0d1q9Dg,3957792
unzip -p /tmp/wheel_debug/scipy-1.8.0-cp39-cp39-macosx_12_0_universal2.macosx_10_9_x86_64.whl scipy/linalg/_flapack.cpython-39-darwin.so | openssl dgst -sha256 -binary | base64 EoUfb6ocV4qu/OpE61bC280FiQzrzSvTxOsQ5NjifNw=
Another option would be: