-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
Working on adapting the spksrc
framework to allow cross-compiling python wheels wich needs rustc
compiler. Framework currently works really well at building all kinds of cross-compiled or pure-python wheels. Currently adding the necessary bits so rust support makes it through when cross-compiling wheels with pip
.
As such I'm expecting that there may be loose-ends on my current experimental code to get this going. My hope is that you may provide me with some pointers.
Currently the only platform where it works is when the target = host (e.g. x86_64
)
Versions:
arch
: armv5, armv7, armv7l, armv8 (aarch64), i686python
:3.10.6
libffi
:3.4.2
cryptography
: Any with rust support but focus on latest38.0.1
cffi
:1.15.1
(from crossenv)pip
:22.2.2
setuptools
:63.4.3
setuptools-rust
:1.5.1
Error hit on all targets:
error: failed to run custom build command for `parking_lot_core v0.8.5`
Caused by:
process didn't exit successfully: `/tmp/pip-wheel-dd2cglmv/cryptography_97728d383bc6460da3ae3795423f15e8/src/rust/target/release/build/parking_lot_core-506a93a9972231b0/build-script-build` (exit status: 2)
--- stderr
/tmp/pip-wheel-dd2cglmv/cryptography_97728d383bc6460da3ae3795423f15e8/src/rust/target/release/build/parking_lot_core-506a93a9972231b0/build-script-build: 1: /tmp/pip-wheel-dd2cglmv/cryptography_97728d383bc6460da3ae3795423f15e8/src/rust/target/release/build/parking_lot_core-506a93a9972231b0/build-script-build: Syntax error: word unexpected (expecting ")")
warning: build failed, waiting for other jobs to finish...
The Syntax error: word unexpected (expecting ")")
looks particulary of interest.
When disabling clean-up of the wheel build directory on armv7 for instance, all files looked properly linked:
spksrc@spksrc:/tmp/pip-wheel-vw0xe0c0/cryptography_22355c16355d45bfbdd30c60ed6b3cc6/src/rust/target/release/build$ file parking_lot_core-50*/*
parking_lot_core-506a93a9972231b0/build-script-build: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, with debug_info, not stripped
parking_lot_core-506a93a9972231b0/build_script_build-506a93a9972231b0: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, with debug_info, not stripped
parking_lot_core-506a93a9972231b0/build_script_build-506a93a9972231b0.d: ASCII text
parking_lot_core-50aea4c2af63d9de/invoked.timestamp: ASCII text, with no line terminators
parking_lot_core-50aea4c2af63d9de/out: directory
PR with on-going experimental changes to the framework: SynoCommunity/spksrc#5435
NOTE: PR mentioned above isn't yet fully in sync with my local build. Use logs below in the meantime.