Skip to content

Error when cross-compiling #7629

@th0ma7

Description

@th0ma7

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), i686
  • python: 3.10.6
  • libffi: 3.4.2
  • cryptography: Any with rust support but focus on latest 38.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.

build-aarch64-7.0.log
build-armv7-7.0.log
build-x64-7.0.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions