PyO3 / pyo3

Rust bindings for the Python interpreter
https://pyo3.rs
Apache License 2.0
11.99k stars 740 forks source link

Cross compilation is broken when host and target architectures are the same. #1513

Closed jameshilliard closed 3 years ago

jameshilliard commented 3 years ago

When I tried cross compiling for a x86_64 target from a x86_64 host I get a build failure that seems to be caused by broken cross compilation detection logic which results in PYO3_CROSS_LIB_DIR being ignored. My build setup appears to work fine when I cross compile for i386 or aarch64 targets from a x86_64 host.

>>> python-cryptography 3.4.6 Building
(cd /home/buildroot/buildroot/output/build/python-cryptography-3.4.6//; _PYTHON_SYSCONFIGDATA_NAME="`{ [ -e /home/buildroot/buildroot/output/per-package/python-cryptography/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib/python3.9//_sysconfigdata__linux_*.py ] && basename /home/buildroot/buildroot/output/per-package/python-cryptography/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib/python3.9//_sysconfigdata__linux_*.py .py; } || true`" PATH="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin:/home/buildroot/buildroot/output/per-package/python-cryptography/host/sbin:/home/buildroot/bin:/home/buildroot/.local/bin:/home/buildroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" PATH="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin:/home/buildroot/buildroot/output/per-package/python-cryptography/host/sbin:/home/buildroot/bin:/home/buildroot/.local/bin:/home/buildroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" AR="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-ar" AS="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-as" LD="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-ld" NM="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-nm" CC="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-gcc" GCC="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-gcc" CPP="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-cpp" CXX="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-g++" FC="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-gfortran" F77="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-gfortran" RANLIB="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-ranlib" READELF="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-readelf" STRIP="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-strip" OBJCOPY="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-objcopy" OBJDUMP="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-objdump" AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld" CPPFLAGS_FOR_BUILD="-I/home/buildroot/buildroot/output/per-package/python-cryptography/host/include" CFLAGS_FOR_BUILD="-O2 -I/home/buildroot/buildroot/output/per-package/python-cryptography/host/include" CXXFLAGS_FOR_BUILD="-O2 -I/home/buildroot/buildroot/output/per-package/python-cryptography/host/include" LDFLAGS_FOR_BUILD="-L/home/buildroot/buildroot/output/per-package/python-cryptography/host/lib -Wl,-rpath,/home/buildroot/buildroot/output/per-package/python-cryptography/host/lib" FCFLAGS_FOR_BUILD="" DEFAULT_ASSEMBLER="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-as" DEFAULT_LINKER="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/x86_64-buildroot-linux-gnu-ld" CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os  " CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os  " LDFLAGS="" FCFLAGS=" -Os " FFLAGS=" -Os " PKG_CONFIG="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/pkg-config" STAGING_DIR="/home/buildroot/buildroot/output/per-package/python-cryptography/host/x86_64-buildroot-linux-gnu/sysroot" INTLTOOL_PERL=/usr/bin/perl PYTHONPATH="/home/buildroot/buildroot/output/per-package/python-cryptography/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib/python3.9/" PYTHONNOUSERSITE=1 _python_sysroot=/home/buildroot/buildroot/output/per-package/python-cryptography/host/x86_64-buildroot-linux-gnu/sysroot _python_prefix=/usr _python_exec_prefix=/usr CARGO_BUILD_TARGET="x86_64-unknown-linux-gnu" PYO3_CROSS_LIB_DIR="/home/buildroot/buildroot/output/per-package/python-cryptography/host/x86_64-buildroot-linux-gnu/sysroot/usr/lib/python3.9" CARGO_HOME="/home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo" /home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/python setup.py build  )
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.9
creating build/lib.linux-x86_64-3.9/cryptography
copying src/cryptography/utils.py -> build/lib.linux-x86_64-3.9/cryptography
copying src/cryptography/__about__.py -> build/lib.linux-x86_64-3.9/cryptography
copying src/cryptography/exceptions.py -> build/lib.linux-x86_64-3.9/cryptography
copying src/cryptography/__init__.py -> build/lib.linux-x86_64-3.9/cryptography
copying src/cryptography/fernet.py -> build/lib.linux-x86_64-3.9/cryptography
creating build/lib.linux-x86_64-3.9/cryptography/hazmat
copying src/cryptography/hazmat/_types.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat
copying src/cryptography/hazmat/_der.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat
copying src/cryptography/hazmat/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat
creating build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/ocsp.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/base.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/oid.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/general_name.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/name.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/extensions.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-x86_64-3.9/cryptography/x509
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/openssl
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
running egg_info
writing src/cryptography.egg-info/PKG-INFO
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing requirements to src/cryptography.egg-info/requires.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '*' found under directory 'vectors'
warning: no previously-included files matching '*' found under directory '.github'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'mypy.ini'
warning: no previously-included files matching '*' found under directory '.zuul.d'
warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
copying src/cryptography/py.typed -> build/lib.linux-x86_64-3.9/cryptography
running build_ext
generating cffi module 'build/temp.linux-x86_64-3.9/_padding.c'
creating build/temp.linux-x86_64-3.9
generating cffi module 'build/temp.linux-x86_64-3.9/_openssl.c'
running build_rust
cargo rustc --lib --manifest-path src/rust/Cargo.toml --features pyo3/extension-module pyo3/abi3-py36 --target x86_64-unknown-linux-gnu --release --verbose -- --crate-type cdylib
   Compiling proc-macro2 v1.0.24
   Compiling unicode-xid v0.2.1
     Running `rustc --crate-name build_script_build --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.24/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=bfb1f9980f3c8b9c -C extra-filename=-bfb1f9980f3c8b9c --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/proc-macro2-bfb1f9980f3c8b9c -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
   Compiling syn v1.0.60
   Compiling proc-macro-hack v0.5.19
   Compiling libc v0.2.85
   Compiling cfg-if v1.0.0
   Compiling inventory v0.1.10
   Compiling smallvec v1.6.1
   Compiling scopeguard v1.1.0
   Compiling unindent v0.1.7
   Compiling pyo3 v0.13.2
     Running `rustc --crate-name build_script_build --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/syn-1.0.60/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="extra-traits"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' -C metadata=a9e6d896813f574d -C extra-filename=-a9e6d896813f574d --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/syn-a9e6d896813f574d -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name unicode_xid /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/unicode-xid-0.2.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' -C metadata=11360309d1f83f7c -C extra-filename=-11360309d1f83f7c --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-hack-0.5.19/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off -C metadata=7c1fdba57ac8b4dc -C extra-filename=-7c1fdba57ac8b4dc --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/proc-macro-hack-7c1fdba57ac8b4dc -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.85/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=7fe3459c3f5f63e1 -C extra-filename=-7fe3459c3f5f63e1 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/libc-7fe3459c3f5f63e1 -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name cfg_if --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/cfg-if-1.0.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=e7b0dffcdd170f33 -C extra-filename=-e7b0dffcdd170f33 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/inventory-0.1.10/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off -C metadata=4dc89529860486e0 -C extra-filename=-4dc89529860486e0 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/inventory-4dc89529860486e0 -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name scopeguard /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/scopeguard-1.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=f0bf9cbd331d628b -C extra-filename=-f0bf9cbd331d628b --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name smallvec --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/smallvec-1.6.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=ec0aca5aee98c6c5 -C extra-filename=-ec0aca5aee98c6c5 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name unindent --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/unindent-0.1.7/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off -C metadata=1aeb4b3143bc511d -C extra-filename=-1aeb4b3143bc511d --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.13.2/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="abi3"' --cfg 'feature="abi3-py36"' --cfg 'feature="abi3-py37"' --cfg 'feature="abi3-py38"' --cfg 'feature="abi3-py39"' --cfg 'feature="auto-initialize"' --cfg 'feature="ctor"' --cfg 'feature="default"' --cfg 'feature="extension-module"' --cfg 'feature="indoc"' --cfg 'feature="inventory"' --cfg 'feature="macros"' --cfg 'feature="paste"' --cfg 'feature="pyo3-macros"' --cfg 'feature="unindent"' -C metadata=f12fd4bcb46afcd1 -C extra-filename=-f12fd4bcb46afcd1 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/pyo3-f12fd4bcb46afcd1 -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name unindent --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/unindent-0.1.7/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=fd06cb352cfe2a71 -C extra-filename=-fd06cb352cfe2a71 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
   Compiling instant v0.1.9
     Running `rustc --crate-name instant --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/instant-0.1.9/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=da957a8a7f012a18 -C extra-filename=-da957a8a7f012a18 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern cfg_if=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps/libcfg_if-e7b0dffcdd170f33.rmeta --cap-lints allow`
   Compiling lock_api v0.4.2
     Running `rustc --crate-name lock_api --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/lock_api-0.4.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=bd21e10e284ee09c -C extra-filename=-bd21e10e284ee09c --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern scopeguard=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/x86_64-unknown-linux-gnu/release/deps/libscopeguard-f0bf9cbd331d628b.rmeta --cap-lints allow`
     Running `/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/syn-a9e6d896813f574d/build-script-build`
error: failed to run custom build command for `syn v1.0.60`

Caused by:
  process didn't exit successfully: `/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/syn-a9e6d896813f574d/build-script-build` (exit code: 1)
  --- stderr
  /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/syn-a9e6d896813f574d/build-script-build: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/syn-a9e6d896813f574d/build-script-build)
warning: build failed, waiting for other jobs to finish...
error: build failed

    =============================DEBUG ASSISTANCE=============================
    If you are seeing a compilation error please try the following steps to
    successfully install cryptography:
    1) Upgrade to the latest pip and try again. This will fix errors for most
       users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
    2) Read https://cryptography.io/en/latest/installation.html for specific
       instructions for your platform.
    3) Check our frequently asked questions for more information:
       https://cryptography.io/en/latest/faq.html
    4) Ensure you have a recent Rust toolchain installed:
       https://cryptography.io/en/latest/installation.html#rust
    5) If you are experiencing issues with Rust for *this release only* you may
       set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
    =============================DEBUG ASSISTANCE=============================

error: cargo failed with code: 101

make[1]: *** [package/pkg-generic.mk:250: /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/.stamp_built] Error 1

This comment seems to indicate cross compilation mode will not function when the host and target are the same: https://github.com/PyO3/pyo3/blob/190eb728037772210bc2805432d77854703cdb42/build.rs#L885-L886

How should one ensure that pyo3 knows to always run in cross compilation mode even if the host and target architectures are the same?

messense commented 3 years ago

--- stderr /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/syn-a9e6d896813f574d/build-script-build: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/syn-a9e6d896813f574d/build-script-build)

I don't think this is related to PYO3_CROSS_LIB_DIR. It's more or less a issue with your C/C++ toolchain of the buildroot, it appears to have newer version of GLIBC than the host one.

Running rustc --crate-name build_script_build --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/syn-1.0.60/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="extra-traits"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' -C metadata=a9e6d896813f574d -C extra-filename=-a9e6d896813f574d --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/syn-a9e6d896813f574d -C linker=x86_64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow

syn is a proc-macro, proc-macro usually compiles with host toolchain and runs on the host. My guess it that it's compiled and linked with the buildroot toolchain instead of the host toolchain because host and buildroot target is the same, it's likely to have set CC_x86_64_unknown_linux_gnu and other C/C++ compiler related environment variables to the buildroot toolchain, which results in linking with newer version of GLIBC that is not compatible with the host (see the -C linker=x86_64-buildroot-linux-gnu-gcc command line option above), hence the /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.32 not found error.

messense commented 3 years ago

See the similar issue with linuxbrew https://github.com/rust-lang/rust/issues/58394 and LibreELEC https://github.com/LibreELEC/LibreELEC.tv/issues/4719

You might be able to use the same workaround, adding the content below to .cargo/config.toml

[target.x86_64-unknown-linux-gnu]
linker = "/usr/bin/cc"
jameshilliard commented 3 years ago

It's more or less a issue with your C/C++ toolchain of the buildroot, it appears to have newer version of GLIBC than the host one.

I don't see why that should be causing an issue here, the buildroot toolchain is designed to work when the target glibc is newer than the host glibc toolchain from my understanding. Keep in mind that this compiles perfectly fine without errors when using an aarch64 or i386 target with the same newer buildroot glibc target version so I don't understand why this would be an issue only when the host is the same as the target architecture otherwise.

You might be able to use the same workaround, adding the content below to .cargo/config.toml

Pretty sure that's being set already here.

messense commented 3 years ago

I don't see why that should be causing an issue here, the buildroot toolchain is designed to work when the target glibc is newer than the host glibc toolchain from my understanding

It's totally fine to build with a newer glibc version but I don't think it guarantees that the built artifact will run on the host machine right? In the case of proc-macro, it needs to run on the host machine.

aarch64 or i386 target works because proc-macro is built with host toolchain, it would be great if you can provide the build log for aarch64 or i386.

Pretty sure that's being set already here.

Can you double check that? Pasting the file content on your local machine to here would be very helpful.

jameshilliard commented 3 years ago

It's totally fine to build with a newer glibc version but I don't think it guarantees that the built artifact will run on the host machine right? In the case of proc-macro, it needs to run on the host machine.

That's correct from my understanding, but if it needs to run on the host why would it be trying to build/link for the newer target glibc then for something that needs to use the host toolchain?

aarch64 build log:

>>> python-cryptography 3.4.6 Building
(cd /home/buildroot/buildroot/output/build/python-cryptography-3.4.6//; _PYTHON_SYSCONFIGDATA_NAME="`{ [ -e /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/python3.9//_sysconfigdata__linux_*.py ] && basename /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/python3.9//_sysconfigdata__linux_*.py .py; } || true`" PATH="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin:/home/buildroot/buildroot/output/per-package/python-cryptography/host/sbin:/home/buildroot/bin:/home/buildroot/.local/bin:/home/buildroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" PATH="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin:/home/buildroot/buildroot/output/per-package/python-cryptography/host/sbin:/home/buildroot/bin:/home/buildroot/.local/bin:/home/buildroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" AR="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-ar" AS="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-as" LD="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-ld" NM="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-nm" CC="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gcc" GCC="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gcc" CPP="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-cpp" CXX="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-g++" FC="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gfortran" F77="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gfortran" RANLIB="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-ranlib" READELF="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-readelf" STRIP="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-strip" OBJCOPY="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-objcopy" OBJDUMP="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-objdump" AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld" CPPFLAGS_FOR_BUILD="-I/home/buildroot/buildroot/output/per-package/python-cryptography/host/include" CFLAGS_FOR_BUILD="-O2 -I/home/buildroot/buildroot/output/per-package/python-cryptography/host/include" CXXFLAGS_FOR_BUILD="-O2 -I/home/buildroot/buildroot/output/per-package/python-cryptography/host/include" LDFLAGS_FOR_BUILD="-L/home/buildroot/buildroot/output/per-package/python-cryptography/host/lib -Wl,-rpath,/home/buildroot/buildroot/output/per-package/python-cryptography/host/lib" FCFLAGS_FOR_BUILD="" DEFAULT_ASSEMBLER="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-as" DEFAULT_LINKER="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-ld" CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os  " CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os  " LDFLAGS="" FCFLAGS=" -Os " FFLAGS=" -Os " PKG_CONFIG="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/pkg-config" STAGING_DIR="/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot" INTLTOOL_PERL=/usr/bin/perl PYTHONPATH="/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/python3.9/" PYTHONNOUSERSITE=1 _python_sysroot=/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot _python_prefix=/usr _python_exec_prefix=/usr CARGO_BUILD_TARGET="aarch64-unknown-linux-gnu" PYO3_CROSS_LIB_DIR="/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/python3.9" CARGO_HOME="/home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo" /home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/python setup.py build  )
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.9
creating build/lib.linux-x86_64-3.9/cryptography
copying src/cryptography/utils.py -> build/lib.linux-x86_64-3.9/cryptography
copying src/cryptography/__about__.py -> build/lib.linux-x86_64-3.9/cryptography
copying src/cryptography/exceptions.py -> build/lib.linux-x86_64-3.9/cryptography
copying src/cryptography/__init__.py -> build/lib.linux-x86_64-3.9/cryptography
copying src/cryptography/fernet.py -> build/lib.linux-x86_64-3.9/cryptography
creating build/lib.linux-x86_64-3.9/cryptography/hazmat
copying src/cryptography/hazmat/_types.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat
copying src/cryptography/hazmat/_oid.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat
copying src/cryptography/hazmat/_der.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat
copying src/cryptography/hazmat/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat
creating build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/ocsp.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/base.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/oid.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/general_name.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/name.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/extensions.py -> build/lib.linux-x86_64-3.9/cryptography/x509
copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-x86_64-3.9/cryptography/x509
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings
copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends
copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/openssl
copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/openssl
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/utils.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor
copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers
creating build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ocsp.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl
running egg_info
writing src/cryptography.egg-info/PKG-INFO
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing requirements to src/cryptography.egg-info/requires.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '*' found under directory 'vectors'
warning: no previously-included files matching '*' found under directory '.github'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'mypy.ini'
warning: no previously-included files matching '*' found under directory '.zuul.d'
warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
copying src/cryptography/py.typed -> build/lib.linux-x86_64-3.9/cryptography
running build_ext
generating cffi module 'build/temp.linux-x86_64-3.9/_padding.c'
creating build/temp.linux-x86_64-3.9
generating cffi module 'build/temp.linux-x86_64-3.9/_openssl.c'
running build_rust
    Updating crates.io index
  Downloaded unindent v0.1.7
  Downloaded indoc-impl v0.3.6
  Downloaded cfg-if v1.0.0
  Downloaded lock_api v0.4.2
  Downloaded scopeguard v1.1.0
  Downloaded smallvec v1.6.1
  Downloaded unicode-xid v0.2.1
  Downloaded instant v0.1.9
  Downloaded quote v1.0.9
  Downloaded ctor v0.1.19
  Downloaded parking_lot v0.11.1
  Downloaded inventory v0.1.10
  Downloaded inventory-impl v0.1.10
  Downloaded libc v0.2.85
  Downloaded syn v1.0.60
  Downloaded proc-macro2 v1.0.24
  Downloaded pyo3-macros-backend v0.13.2
  Downloaded pyo3 v0.13.2
  Downloaded ghost v0.1.2
  Downloaded indoc v0.3.6
  Downloaded proc-macro-hack v0.5.19
  Downloaded paste v0.1.18
  Downloaded parking_lot_core v0.8.3
  Downloaded pyo3-macros v0.13.2
  Downloaded paste-impl v0.1.18
  Downloaded 25 crates (1.4 MB) in 0.46s
  Downloaded bitflags v1.2.1
  Downloaded winapi v0.3.9
  Downloaded redox_syscall v0.2.4
  Downloaded winapi-i686-pc-windows-gnu v0.4.0
  Downloaded winapi-x86_64-pc-windows-gnu v0.4.0
  Downloaded 5 crates (7.1 MB) in 0.53s (largest was `winapi-x86_64-pc-windows-gnu` at 2.9 MB)
cargo rustc --lib --manifest-path src/rust/Cargo.toml --features pyo3/extension-module pyo3/abi3-py36 --target aarch64-unknown-linux-gnu --release --verbose -- --crate-type cdylib
   Compiling proc-macro2 v1.0.24
   Compiling unicode-xid v0.2.1
   Compiling syn v1.0.60
   Compiling proc-macro-hack v0.5.19
   Compiling libc v0.2.85
   Compiling cfg-if v1.0.0
   Compiling unindent v0.1.7
   Compiling smallvec v1.6.1
   Compiling inventory v0.1.10
   Compiling scopeguard v1.1.0
   Compiling pyo3 v0.13.2
     Running `rustc --crate-name unicode_xid /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/unicode-xid-0.2.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' -C metadata=11360309d1f83f7c -C extra-filename=-11360309d1f83f7c --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.24/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=bfb1f9980f3c8b9c -C extra-filename=-bfb1f9980f3c8b9c --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/proc-macro2-bfb1f9980f3c8b9c -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.85/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=7fe3459c3f5f63e1 -C extra-filename=-7fe3459c3f5f63e1 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/libc-7fe3459c3f5f63e1 -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-hack-0.5.19/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off -C metadata=7c1fdba57ac8b4dc -C extra-filename=-7c1fdba57ac8b4dc --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/proc-macro-hack-7c1fdba57ac8b4dc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/syn-1.0.60/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="extra-traits"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' -C metadata=a9e6d896813f574d -C extra-filename=-a9e6d896813f574d --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/syn-a9e6d896813f574d -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name cfg_if --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/cfg-if-1.0.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=1998b61a40e1595f -C extra-filename=-1998b61a40e1595f --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name unindent --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/unindent-0.1.7/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off -C metadata=1aeb4b3143bc511d -C extra-filename=-1aeb4b3143bc511d --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name smallvec --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/smallvec-1.6.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=c57fbd1197f8e369 -C extra-filename=-c57fbd1197f8e369 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name scopeguard /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/scopeguard-1.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=bea39804a49b4d36 -C extra-filename=-bea39804a49b4d36 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/inventory-0.1.10/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off -C metadata=4dc89529860486e0 -C extra-filename=-4dc89529860486e0 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/inventory-4dc89529860486e0 -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name build_script_build --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.13.2/build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="abi3"' --cfg 'feature="abi3-py36"' --cfg 'feature="abi3-py37"' --cfg 'feature="abi3-py38"' --cfg 'feature="abi3-py39"' --cfg 'feature="auto-initialize"' --cfg 'feature="ctor"' --cfg 'feature="default"' --cfg 'feature="extension-module"' --cfg 'feature="indoc"' --cfg 'feature="inventory"' --cfg 'feature="macros"' --cfg 'feature="paste"' --cfg 'feature="pyo3-macros"' --cfg 'feature="unindent"' -C metadata=f12fd4bcb46afcd1 -C extra-filename=-f12fd4bcb46afcd1 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/pyo3-f12fd4bcb46afcd1 -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
     Running `rustc --crate-name unindent --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/unindent-0.1.7/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=c8d925b305ace5bb -C extra-filename=-c8d925b305ace5bb --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow`
   Compiling instant v0.1.9
     Running `rustc --crate-name instant --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/instant-0.1.9/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=a68dcc400d10f671 -C extra-filename=-a68dcc400d10f671 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern cfg_if=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libcfg_if-1998b61a40e1595f.rmeta --cap-lints allow`
   Compiling lock_api v0.4.2
     Running `rustc --crate-name lock_api --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/lock_api-0.4.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=6e6fbbbd4b5ae38d -C extra-filename=-6e6fbbbd4b5ae38d --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern scopeguard=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libscopeguard-bea39804a49b4d36.rmeta --cap-lints allow`
     Running `/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/proc-macro-hack-7c1fdba57ac8b4dc/build-script-build`
     Running `rustc --crate-name proc_macro_hack --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro-hack-0.5.19/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=81722a7ed7f35452 -C extra-filename=-81722a7ed7f35452 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern proc_macro --cap-lints allow`
     Running `/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/inventory-4dc89529860486e0/build-script-build`
     Running `/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/proc-macro2-bfb1f9980f3c8b9c/build-script-build`
     Running `rustc --crate-name proc_macro2 --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-1.0.24/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=c4d6a48f645e56a3 -C extra-filename=-c4d6a48f645e56a3 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern unicode_xid=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libunicode_xid-11360309d1f83f7c.rmeta --cap-lints allow --cfg lexerror_display --cfg hygiene --cfg use_proc_macro --cfg wrap_proc_macro`
     Running `/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/syn-a9e6d896813f574d/build-script-build`
     Running `/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/libc-7fe3459c3f5f63e1/build-script-build`
     Running `rustc --crate-name libc /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.85/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=1f60dfc46e7b7907 -C extra-filename=-1f60dfc46e7b7907 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --cap-lints allow --cfg freebsd11 --cfg libc_priv_mod_use --cfg libc_union --cfg libc_const_size_of --cfg libc_align --cfg libc_core_cvoid --cfg libc_packedN --cfg libc_cfg_target_vendor`
     Running `/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/build/pyo3-f12fd4bcb46afcd1/build-script-build`
   Compiling quote v1.0.9
     Running `rustc --crate-name quote --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/quote-1.0.9/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=0faac7dd2e519fe5 -C extra-filename=-0faac7dd2e519fe5 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern proc_macro2=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libproc_macro2-c4d6a48f645e56a3.rmeta --cap-lints allow`
   Compiling parking_lot_core v0.8.3
     Running `rustc --crate-name parking_lot_core --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/parking_lot_core-0.8.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=813aadede60ed006 -C extra-filename=-813aadede60ed006 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern cfg_if=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libcfg_if-1998b61a40e1595f.rmeta --extern instant=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libinstant-a68dcc400d10f671.rmeta --extern libc=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/liblibc-1f60dfc46e7b7907.rmeta --extern smallvec=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libsmallvec-c57fbd1197f8e369.rmeta --cap-lints allow`
     Running `rustc --crate-name syn --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/syn-1.0.60/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="extra-traits"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="quote"' -C metadata=ed72b457a7f0ff35 -C extra-filename=-ed72b457a7f0ff35 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern proc_macro2=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libproc_macro2-c4d6a48f645e56a3.rmeta --extern quote=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libquote-0faac7dd2e519fe5.rmeta --extern unicode_xid=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libunicode_xid-11360309d1f83f7c.rmeta --cap-lints allow --cfg syn_disable_nightly_tests`
   Compiling paste-impl v0.1.18
     Running `rustc --crate-name paste_impl --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/paste-impl-0.1.18/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=9afdfc2795d4e8fa -C extra-filename=-9afdfc2795d4e8fa --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern proc_macro_hack=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libproc_macro_hack-81722a7ed7f35452.so --extern proc_macro --cap-lints allow`
   Compiling parking_lot v0.11.1
     Running `rustc --crate-name parking_lot --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/parking_lot-0.11.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="default"' -C metadata=8a15e09bc2cbe77f -C extra-filename=-8a15e09bc2cbe77f --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern instant=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libinstant-a68dcc400d10f671.rmeta --extern lock_api=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/liblock_api-6e6fbbbd4b5ae38d.rmeta --extern parking_lot_core=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libparking_lot_core-813aadede60ed006.rmeta --cap-lints allow`
   Compiling paste v0.1.18
     Running `rustc --crate-name paste --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/paste-0.1.18/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=f281ee793f041bf8 -C extra-filename=-f281ee793f041bf8 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern paste_impl=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libpaste_impl-9afdfc2795d4e8fa.so --extern proc_macro_hack=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libproc_macro_hack-81722a7ed7f35452.so --cap-lints allow`
   Compiling pyo3-macros-backend v0.13.2
     Running `rustc --crate-name pyo3_macros_backend --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-macros-backend-0.13.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off -C metadata=78cfae5360cc606f -C extra-filename=-78cfae5360cc606f --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern proc_macro2=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libproc_macro2-c4d6a48f645e56a3.rmeta --extern quote=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libquote-0faac7dd2e519fe5.rmeta --extern syn=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libsyn-ed72b457a7f0ff35.rmeta --cap-lints allow`
   Compiling inventory-impl v0.1.10
   Compiling indoc-impl v0.3.6
   Compiling ctor v0.1.19
   Compiling ghost v0.1.2
     Running `rustc --crate-name inventory_impl --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/inventory-impl-0.1.10/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=75815e291d844bda -C extra-filename=-75815e291d844bda --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern proc_macro2=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libproc_macro2-c4d6a48f645e56a3.rlib --extern quote=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libquote-0faac7dd2e519fe5.rlib --extern syn=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libsyn-ed72b457a7f0ff35.rlib --extern proc_macro --cap-lints allow`
     Running `rustc --crate-name indoc_impl --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/indoc-impl-0.3.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=ef57dcf051e584a6 -C extra-filename=-ef57dcf051e584a6 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern proc_macro_hack=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libproc_macro_hack-81722a7ed7f35452.so --extern proc_macro2=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libproc_macro2-c4d6a48f645e56a3.rlib --extern quote=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libquote-0faac7dd2e519fe5.rlib --extern syn=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libsyn-ed72b457a7f0ff35.rlib --extern unindent=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libunindent-1aeb4b3143bc511d.rlib --extern proc_macro --cap-lints allow`
     Running `rustc --crate-name ghost --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/ghost-0.1.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=45c0524f910c17fe -C extra-filename=-45c0524f910c17fe --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern proc_macro2=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libproc_macro2-c4d6a48f645e56a3.rlib --extern quote=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libquote-0faac7dd2e519fe5.rlib --extern syn=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libsyn-ed72b457a7f0ff35.rlib --extern proc_macro --cap-lints allow`
     Running `rustc --crate-name ctor --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/ctor-0.1.19/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=b93755631acd9871 -C extra-filename=-b93755631acd9871 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern quote=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libquote-0faac7dd2e519fe5.rlib --extern syn=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libsyn-ed72b457a7f0ff35.rlib --extern proc_macro --cap-lints allow`
   Compiling pyo3-macros v0.13.2
     Running `rustc --crate-name pyo3_macros --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-macros-0.13.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type proc-macro --emit=dep-info,link -C prefer-dynamic -C embed-bitcode=no -C debug-assertions=off -C metadata=9c8e52e71f446388 -C extra-filename=-9c8e52e71f446388 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern pyo3_macros_backend=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libpyo3_macros_backend-78cfae5360cc606f.rlib --extern quote=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libquote-0faac7dd2e519fe5.rlib --extern syn=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libsyn-ed72b457a7f0ff35.rlib --extern proc_macro --cap-lints allow`
   Compiling indoc v0.3.6
     Running `rustc --crate-name indoc --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/indoc-0.3.6/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=62c3f4c2f31be9dc -C extra-filename=-62c3f4c2f31be9dc --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern indoc_impl=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libindoc_impl-ef57dcf051e584a6.so --extern proc_macro_hack=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libproc_macro_hack-81722a7ed7f35452.so --cap-lints allow`
     Running `rustc --crate-name inventory --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/inventory-0.1.10/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=f31a9dd3ab2e200c -C extra-filename=-f31a9dd3ab2e200c --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern ctor=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libctor-b93755631acd9871.so --extern ghost=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libghost-45c0524f910c17fe.so --extern inventory_impl=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libinventory_impl-75815e291d844bda.so --cap-lints allow`
     Running `rustc --crate-name pyo3 --edition=2018 /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.13.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto --cfg 'feature="abi3"' --cfg 'feature="abi3-py36"' --cfg 'feature="abi3-py37"' --cfg 'feature="abi3-py38"' --cfg 'feature="abi3-py39"' --cfg 'feature="auto-initialize"' --cfg 'feature="ctor"' --cfg 'feature="default"' --cfg 'feature="extension-module"' --cfg 'feature="indoc"' --cfg 'feature="inventory"' --cfg 'feature="macros"' --cfg 'feature="paste"' --cfg 'feature="pyo3-macros"' --cfg 'feature="unindent"' -C metadata=38a7b2155f7355f4 -C extra-filename=-38a7b2155f7355f4 --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern cfg_if=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libcfg_if-1998b61a40e1595f.rmeta --extern ctor=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libctor-b93755631acd9871.so --extern indoc=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libindoc-62c3f4c2f31be9dc.rmeta --extern inventory=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libinventory-f31a9dd3ab2e200c.rmeta --extern libc=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/liblibc-1f60dfc46e7b7907.rmeta --extern parking_lot=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libparking_lot-8a15e09bc2cbe77f.rmeta --extern paste=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libpaste-f281ee793f041bf8.rmeta --extern pyo3_macros=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps/libpyo3_macros-9c8e52e71f446388.so --extern unindent=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libunindent-c8d925b305ace5bb.rmeta --cap-lints allow --cfg Py_SHARED --cfg Py_LIMITED_API --cfg Py_3_6 --cfg 'py_sys_config="WITH_THREAD"'`
   Compiling cryptography-rust v0.1.0 (/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust)
     Running `rustc --crate-name cryptography_rust --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type cdylib --emit=dep-info,link -C opt-level=3 -C lto=thin --crate-type cdylib -C metadata=f440199ca35a370a --out-dir /home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps --target aarch64-unknown-linux-gnu -C linker=aarch64-buildroot-linux-gnu-gcc -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps -L dependency=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/release/deps --extern pyo3=/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust/target/aarch64-unknown-linux-gnu/release/deps/libpyo3-38a7b2155f7355f4.rlib`
    Finished release [optimized] target(s) in 13.23s
building '_openssl' extension
creating build/temp.linux-x86_64-3.9/build
creating build/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9
/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/python3.9 -c build/temp.linux-x86_64-3.9/_openssl.c -o build/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9/_openssl.o -Wconversion -Wno-error=sign-conversion
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘Cryptography_pem_password_cb’:
build/temp.linux-x86_64-3.9/_openssl.c:2386:37: warning: conversion to ‘size_t’ {aka ‘long unsigned int’} from ‘int’ may change the sign of the result [-Wsign-conversion]
 2386 |         memcpy(buf, st->password, st->length);
      |                                   ~~^~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_ASN1_STRING_data’:
build/temp.linux-x86_64-3.9/_openssl.c:9133:3: warning: ‘ASN1_STRING_data’ is deprecated [-Wdeprecated-declarations]
 9133 |   return ASN1_STRING_data(x0);
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/asn1.h:554:1: note: declared here
  554 | DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_ASN1_STRING_data’:
build/temp.linux-x86_64-3.9/_openssl.c:9156:3: warning: ‘ASN1_STRING_data’ is deprecated [-Wdeprecated-declarations]
 9156 |   { result = ASN1_STRING_data(x0); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/asn1.h:554:1: note: declared here
  554 | DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_BIO_s_datagram’:
build/temp.linux-x86_64-3.9/_openssl.c:10325:10: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
10325 |   return BIO_s_datagram();
      |          ^~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_BIO_s_datagram’:
build/temp.linux-x86_64-3.9/_openssl.c:10336:12: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
10336 |   { result = BIO_s_datagram(); }
      |            ^
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_BIO_s_mem’:
build/temp.linux-x86_64-3.9/_openssl.c:10351:10: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
10351 |   return BIO_s_mem();
      |          ^~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_BIO_s_mem’:
build/temp.linux-x86_64-3.9/_openssl.c:10362:12: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
10362 |   { result = BIO_s_mem(); }
      |            ^
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_DTLSv1_client_method’:
build/temp.linux-x86_64-3.9/_openssl.c:15467:3: warning: ‘DTLSv1_client_method’ is deprecated [-Wdeprecated-declarations]
15467 |   return DTLSv1_client_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1897:1: note: declared here
 1897 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_DTLSv1_client_method’:
build/temp.linux-x86_64-3.9/_openssl.c:15478:3: warning: ‘DTLSv1_client_method’ is deprecated [-Wdeprecated-declarations]
15478 |   { result = DTLSv1_client_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1897:1: note: declared here
 1897 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_DTLSv1_method’:
build/temp.linux-x86_64-3.9/_openssl.c:15531:3: warning: ‘DTLSv1_method’ is deprecated [-Wdeprecated-declarations]
15531 |   return DTLSv1_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1895:1: note: declared here
 1895 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_method(void)) /* DTLSv1.0 */
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_DTLSv1_method’:
build/temp.linux-x86_64-3.9/_openssl.c:15542:3: warning: ‘DTLSv1_method’ is deprecated [-Wdeprecated-declarations]
15542 |   { result = DTLSv1_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1895:1: note: declared here
 1895 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_method(void)) /* DTLSv1.0 */
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_DTLSv1_server_method’:
build/temp.linux-x86_64-3.9/_openssl.c:15557:3: warning: ‘DTLSv1_server_method’ is deprecated [-Wdeprecated-declarations]
15557 |   return DTLSv1_server_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1896:1: note: declared here
 1896 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_server_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_DTLSv1_server_method’:
build/temp.linux-x86_64-3.9/_openssl.c:15568:3: warning: ‘DTLSv1_server_method’ is deprecated [-Wdeprecated-declarations]
15568 |   { result = DTLSv1_server_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1896:1: note: declared here
 1896 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_server_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_OCSP_resp_get0_certs’:
build/temp.linux-x86_64-3.9/_openssl.c:26207:10: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
26207 |   return OCSP_resp_get0_certs(x0);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_OCSP_resp_get0_certs’:
build/temp.linux-x86_64-3.9/_openssl.c:26230:12: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
26230 |   { result = OCSP_resp_get0_certs(x0); }
      |            ^
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_OPENSSL_config’:
build/temp.linux-x86_64-3.9/_openssl.c:26695:3: warning: ‘OPENSSL_config’ is deprecated [-Wdeprecated-declarations]
26695 |   OPENSSL_config(x0);
      |   ^~~~~~~~~~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/conf.h:91:1: note: declared here
   91 | DEPRECATEDIN_1_1_0(void OPENSSL_config(const char *config_name))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_OPENSSL_config’:
build/temp.linux-x86_64-3.9/_openssl.c:26716:3: warning: ‘OPENSSL_config’ is deprecated [-Wdeprecated-declarations]
26716 |   { OPENSSL_config(x0); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/conf.h:91:1: note: declared here
   91 | DEPRECATEDIN_1_1_0(void OPENSSL_config(const char *config_name))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_CTX_add_extra_chain_cert’:
build/temp.linux-x86_64-3.9/_openssl.c:31586:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
31586 |   return SSL_CTX_add_extra_chain_cert(x0, x1);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_CTX_add_extra_chain_cert’:
build/temp.linux-x86_64-3.9/_openssl.c:31624:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
31624 |   { result = SSL_CTX_add_extra_chain_cert(x0, x1); }
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_CTX_clear_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:31765:10: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
31765 |   return SSL_CTX_clear_mode(x0, x1);
      |          ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c:31765:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_CTX_clear_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:31798:14: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
31798 |   { result = SSL_CTX_clear_mode(x0, x1); }
      |              ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c:31798:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_CTX_get_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:32254:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
32254 |   return SSL_CTX_get_mode(x0);
      |          ^~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_CTX_get_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:32277:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
32277 |   { result = SSL_CTX_get_mode(x0); }
      |              ^~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_CTX_get_session_cache_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:32368:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
32368 |   return SSL_CTX_get_session_cache_mode(x0);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_CTX_get_session_cache_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:32391:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
32391 |   { result = SSL_CTX_get_session_cache_mode(x0); }
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_CTX_set_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:34093:10: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
34093 |   return SSL_CTX_set_mode(x0, x1);
      |          ^~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c:34093:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_CTX_set_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:34126:14: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
34126 |   { result = SSL_CTX_set_mode(x0, x1); }
      |              ^~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c:34126:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
In file included from build/temp.linux-x86_64-3.9/_openssl.c:815:
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_CTX_set_session_cache_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:34375:45: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
34375 |   return SSL_CTX_set_session_cache_mode(x0, x1);
      |                                             ^~
build/temp.linux-x86_64-3.9/_openssl.c:34375:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
34375 |   return SSL_CTX_set_session_cache_mode(x0, x1);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from build/temp.linux-x86_64-3.9/_openssl.c:815:
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_CTX_set_session_cache_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:34408:49: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
34408 |   { result = SSL_CTX_set_session_cache_mode(x0, x1); }
      |                                                 ^~
build/temp.linux-x86_64-3.9/_openssl.c:34408:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
34408 |   { result = SSL_CTX_set_session_cache_mode(x0, x1); }
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_CTX_set_tmp_dh’:
build/temp.linux-x86_64-3.9/_openssl.c:34781:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
34781 |   return SSL_CTX_set_tmp_dh(x0, x1);
      |          ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_CTX_set_tmp_dh’:
build/temp.linux-x86_64-3.9/_openssl.c:34819:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
34819 |   { result = SSL_CTX_set_tmp_dh(x0, x1); }
      |              ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_CTX_set_tmp_ecdh’:
build/temp.linux-x86_64-3.9/_openssl.c:34834:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
34834 |   return SSL_CTX_set_tmp_ecdh(x0, x1);
      |          ^~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_CTX_set_tmp_ecdh’:
build/temp.linux-x86_64-3.9/_openssl.c:34872:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
34872 |   { result = SSL_CTX_set_tmp_ecdh(x0, x1); }
      |              ^~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_SESSION_get_ticket_lifetime_hint’:
build/temp.linux-x86_64-3.9/_openssl.c:35501:10: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
35501 |   return SSL_SESSION_get_ticket_lifetime_hint(x0);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_SESSION_get_ticket_lifetime_hint’:
build/temp.linux-x86_64-3.9/_openssl.c:35524:14: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
35524 |   { result = SSL_SESSION_get_ticket_lifetime_hint(x0); }
      |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_clear_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:35712:10: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
35712 |   return SSL_clear_mode(x0, x1);
      |          ^~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c:35712:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_clear_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:35745:14: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
35745 |   { result = SSL_clear_mode(x0, x1); }
      |              ^~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c:35745:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_get_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:36698:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
36698 |   return SSL_get_mode(x0);
      |          ^~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_get_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:36721:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
36721 |   { result = SSL_get_mode(x0); }
      |              ^~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_SSL_set_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:38512:10: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
38512 |   return SSL_set_mode(x0, x1);
      |          ^~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c:38512:10: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_SSL_set_mode’:
build/temp.linux-x86_64-3.9/_openssl.c:38545:14: warning: conversion to ‘long int’ from ‘long unsigned int’ may change the sign of the result [-Wsign-conversion]
38545 |   { result = SSL_set_mode(x0, x1); }
      |              ^~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c:38545:14: warning: conversion to ‘long unsigned int’ from ‘long int’ may change the sign of the result [-Wsign-conversion]
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_TLSv1_1_client_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39649:3: warning: ‘TLSv1_1_client_method’ is deprecated [-Wdeprecated-declarations]
39649 |   return TLSv1_1_client_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1885:1: note: declared here
 1885 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_TLSv1_1_client_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39660:3: warning: ‘TLSv1_1_client_method’ is deprecated [-Wdeprecated-declarations]
39660 |   { result = TLSv1_1_client_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1885:1: note: declared here
 1885 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_TLSv1_1_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39675:3: warning: ‘TLSv1_1_method’ is deprecated [-Wdeprecated-declarations]
39675 |   return TLSv1_1_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1883:1: note: declared here
 1883 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_method(void)) /* TLSv1.1 */
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_TLSv1_1_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39686:3: warning: ‘TLSv1_1_method’ is deprecated [-Wdeprecated-declarations]
39686 |   { result = TLSv1_1_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1883:1: note: declared here
 1883 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_method(void)) /* TLSv1.1 */
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_TLSv1_1_server_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39701:3: warning: ‘TLSv1_1_server_method’ is deprecated [-Wdeprecated-declarations]
39701 |   return TLSv1_1_server_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1884:1: note: declared here
 1884 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_server_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_TLSv1_1_server_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39712:3: warning: ‘TLSv1_1_server_method’ is deprecated [-Wdeprecated-declarations]
39712 |   { result = TLSv1_1_server_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1884:1: note: declared here
 1884 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_1_server_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_TLSv1_2_client_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39727:3: warning: ‘TLSv1_2_client_method’ is deprecated [-Wdeprecated-declarations]
39727 |   return TLSv1_2_client_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1891:1: note: declared here
 1891 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_TLSv1_2_client_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39738:3: warning: ‘TLSv1_2_client_method’ is deprecated [-Wdeprecated-declarations]
39738 |   { result = TLSv1_2_client_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1891:1: note: declared here
 1891 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_TLSv1_2_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39753:3: warning: ‘TLSv1_2_method’ is deprecated [-Wdeprecated-declarations]
39753 |   return TLSv1_2_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1889:1: note: declared here
 1889 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_method(void)) /* TLSv1.2 */
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_TLSv1_2_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39764:3: warning: ‘TLSv1_2_method’ is deprecated [-Wdeprecated-declarations]
39764 |   { result = TLSv1_2_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1889:1: note: declared here
 1889 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_method(void)) /* TLSv1.2 */
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_TLSv1_2_server_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39779:3: warning: ‘TLSv1_2_server_method’ is deprecated [-Wdeprecated-declarations]
39779 |   return TLSv1_2_server_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1890:1: note: declared here
 1890 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_server_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_TLSv1_2_server_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39790:3: warning: ‘TLSv1_2_server_method’ is deprecated [-Wdeprecated-declarations]
39790 |   { result = TLSv1_2_server_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1890:1: note: declared here
 1890 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_server_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_TLSv1_client_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39805:3: warning: ‘TLSv1_client_method’ is deprecated [-Wdeprecated-declarations]
39805 |   return TLSv1_client_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1879:1: note: declared here
 1879 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_TLSv1_client_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39816:3: warning: ‘TLSv1_client_method’ is deprecated [-Wdeprecated-declarations]
39816 |   { result = TLSv1_client_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1879:1: note: declared here
 1879 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_client_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_TLSv1_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39831:3: warning: ‘TLSv1_method’ is deprecated [-Wdeprecated-declarations]
39831 |   return TLSv1_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1877:1: note: declared here
 1877 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_method(void)) /* TLSv1.0 */
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_TLSv1_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39842:3: warning: ‘TLSv1_method’ is deprecated [-Wdeprecated-declarations]
39842 |   { result = TLSv1_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1877:1: note: declared here
 1877 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_method(void)) /* TLSv1.0 */
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_TLSv1_server_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39857:3: warning: ‘TLSv1_server_method’ is deprecated [-Wdeprecated-declarations]
39857 |   return TLSv1_server_method();
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1878:1: note: declared here
 1878 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_server_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_TLSv1_server_method’:
build/temp.linux-x86_64-3.9/_openssl.c:39868:3: warning: ‘TLSv1_server_method’ is deprecated [-Wdeprecated-declarations]
39868 |   { result = TLSv1_server_method(); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/ssl.h:1878:1: note: declared here
 1878 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_server_method(void))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_X509_CRL_get_lastUpdate’:
build/temp.linux-x86_64-3.9/_openssl.c:41169:3: warning: ‘X509_CRL_get_lastUpdate’ is deprecated [-Wdeprecated-declarations]
41169 |   return X509_CRL_get_lastUpdate(x0);
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/x509.h:730:1: note: declared here
  730 | DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_X509_CRL_get_lastUpdate’:
build/temp.linux-x86_64-3.9/_openssl.c:41192:3: warning: ‘X509_CRL_get_lastUpdate’ is deprecated [-Wdeprecated-declarations]
41192 |   { result = X509_CRL_get_lastUpdate(x0); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/x509.h:730:1: note: declared here
  730 | DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *crl))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_d_X509_CRL_get_nextUpdate’:
build/temp.linux-x86_64-3.9/_openssl.c:41207:3: warning: ‘X509_CRL_get_nextUpdate’ is deprecated [-Wdeprecated-declarations]
41207 |   return X509_CRL_get_nextUpdate(x0);
      |   ^~~~~~
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/x509.h:731:1: note: declared here
  731 | DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: In function ‘_cffi_f_X509_CRL_get_nextUpdate’:
build/temp.linux-x86_64-3.9/_openssl.c:41230:3: warning: ‘X509_CRL_get_nextUpdate’ is deprecated [-Wdeprecated-declarations]
41230 |   { result = X509_CRL_get_nextUpdate(x0); }
      |   ^
In file included from /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/e_os2.h:13,
                 from build/temp.linux-x86_64-3.9/_openssl.c:589:
/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/openssl/x509.h:731:1: note: declared here
  731 | DEPRECATEDIN_1_1_0(ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *crl))
      | ^~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c: At top level:
build/temp.linux-x86_64-3.9/_openssl.c:777:13: warning: ‘ERR_load_Cryptography_OSRandom_strings’ declared ‘static’ but never defined [-Wunused-function]
  777 | static void ERR_load_Cryptography_OSRandom_strings(void);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
build/temp.linux-x86_64-3.9/_openssl.c:778:13: warning: ‘ERR_Cryptography_OSRandom_error’ declared ‘static’ but never defined [-Wunused-function]
  778 | static void ERR_Cryptography_OSRandom_error(int function, int reason,
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gcc -shared -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 build/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9/_openssl.o -L/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib -lssl -lcrypto -lpthread -o build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/_openssl.abi3.so
building '_padding' extension
/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/python3.9 -c build/temp.linux-x86_64-3.9/_padding.c -o build/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9/_padding.o
/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gcc -shared -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 build/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9/_padding.o -L/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib -o build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/_padding.abi3.so
>>> python-cryptography 3.4.6 Installing to target
(cd /home/buildroot/buildroot/output/build/python-cryptography-3.4.6//; _PYTHON_SYSCONFIGDATA_NAME="`{ [ -e /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/python3.9//_sysconfigdata__linux_*.py ] && basename /home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/python3.9//_sysconfigdata__linux_*.py .py; } || true`" PATH="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin:/home/buildroot/buildroot/output/per-package/python-cryptography/host/sbin:/home/buildroot/bin:/home/buildroot/.local/bin:/home/buildroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" PATH="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin:/home/buildroot/buildroot/output/per-package/python-cryptography/host/sbin:/home/buildroot/bin:/home/buildroot/.local/bin:/home/buildroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" AR="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-ar" AS="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-as" LD="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-ld" NM="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-nm" CC="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gcc" GCC="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gcc" CPP="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-cpp" CXX="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-g++" FC="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gfortran" F77="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-gfortran" RANLIB="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-ranlib" READELF="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-readelf" STRIP="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-strip" OBJCOPY="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-objcopy" OBJDUMP="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-objdump" AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld" CPPFLAGS_FOR_BUILD="-I/home/buildroot/buildroot/output/per-package/python-cryptography/host/include" CFLAGS_FOR_BUILD="-O2 -I/home/buildroot/buildroot/output/per-package/python-cryptography/host/include" CXXFLAGS_FOR_BUILD="-O2 -I/home/buildroot/buildroot/output/per-package/python-cryptography/host/include" LDFLAGS_FOR_BUILD="-L/home/buildroot/buildroot/output/per-package/python-cryptography/host/lib -Wl,-rpath,/home/buildroot/buildroot/output/per-package/python-cryptography/host/lib" FCFLAGS_FOR_BUILD="" DEFAULT_ASSEMBLER="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-as" DEFAULT_LINKER="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/aarch64-buildroot-linux-gnu-ld" CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os  " CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os  " LDFLAGS="" FCFLAGS=" -Os " FFLAGS=" -Os " PKG_CONFIG="/home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/pkg-config" STAGING_DIR="/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot" INTLTOOL_PERL=/usr/bin/perl PYTHONPATH="/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/python3.9/" PYTHONNOUSERSITE=1 _python_sysroot=/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot _python_prefix=/usr _python_exec_prefix=/usr CARGO_BUILD_TARGET="aarch64-unknown-linux-gnu" PYO3_CROSS_LIB_DIR="/home/buildroot/buildroot/output/per-package/python-cryptography/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/python3.9" CARGO_HOME="/home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo" /home/buildroot/buildroot/output/per-package/python-cryptography/host/bin/python setup.py install --no-compile --prefix=/usr --executable=/usr/bin/python --single-version-externally-managed --root=/home/buildroot/buildroot/output/per-package/python-cryptography/target )
running install
running build
running build_py
running egg_info
writing src/cryptography.egg-info/PKG-INFO
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing requirements to src/cryptography.egg-info/requires.txt
writing top-level names to src/cryptography.egg-info/top_level.txt
reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files found matching 'vectors'
warning: no previously-included files matching '*' found under directory 'vectors'
warning: no previously-included files matching '*' found under directory '.github'
warning: no previously-included files found matching 'release.py'
warning: no previously-included files found matching '.coveragerc'
warning: no previously-included files found matching 'codecov.yml'
warning: no previously-included files found matching '.readthedocs.yml'
warning: no previously-included files found matching 'dev-requirements.txt'
warning: no previously-included files found matching 'tox.ini'
warning: no previously-included files found matching 'mypy.ini'
warning: no previously-included files matching '*' found under directory '.zuul.d'
warning: no previously-included files matching '*' found under directory '.zuul.playbooks'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
running build_ext
generating cffi module 'build/temp.linux-x86_64-3.9/_padding.c'
already up-to-date
generating cffi module 'build/temp.linux-x86_64-3.9/_openssl.c'
already up-to-date
running build_rust
cargo rustc --lib --manifest-path src/rust/Cargo.toml --features pyo3/extension-module pyo3/abi3-py36 --target aarch64-unknown-linux-gnu --release --verbose -- --crate-type cdylib
       Fresh unicode-xid v0.2.1
       Fresh cfg-if v1.0.0
       Fresh scopeguard v1.1.0
       Fresh smallvec v1.6.1
       Fresh unindent v0.1.7
       Fresh instant v0.1.9
       Fresh lock_api v0.4.2
       Fresh proc-macro2 v1.0.24
       Fresh proc-macro-hack v0.5.19
       Fresh libc v0.2.85
       Fresh quote v1.0.9
       Fresh paste-impl v0.1.18
       Fresh parking_lot_core v0.8.3
       Fresh syn v1.0.60
       Fresh paste v0.1.18
       Fresh ghost v0.1.2
       Fresh pyo3-macros-backend v0.13.2
       Fresh inventory-impl v0.1.10
       Fresh indoc-impl v0.3.6
       Fresh ctor v0.1.19
       Fresh parking_lot v0.11.1
       Fresh indoc v0.3.6
       Fresh pyo3-macros v0.13.2
       Fresh inventory v0.1.10
       Fresh pyo3 v0.13.2
       Fresh cryptography-rust v0.1.0 (/home/buildroot/buildroot/output/build/python-cryptography-3.4.6/src/rust)
    Finished release [optimized] target(s) in 0.02s
running install_lib
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography
copying build/lib.linux-x86_64-3.9/cryptography/utils.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography
copying build/lib.linux-x86_64-3.9/cryptography/__about__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography
copying build/lib.linux-x86_64-3.9/cryptography/py.typed -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/bindings
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/bindings/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/openssl/_conditional.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/bindings/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/openssl/binding.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/bindings/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/openssl/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/bindings/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/_padding.abi3.so -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/bindings
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/bindings
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/_rust.abi3.so -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/bindings
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/bindings/_openssl.abi3.so -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/bindings
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/constant_time.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/twofactor
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor/utils.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/twofactor
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor/hotp.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/twofactor
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/twofactor
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/twofactor/totp.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/twofactor
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric/ec.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric/utils.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric/dsa.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric/x25519.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric/x448.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric/ed448.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric/dh.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric/padding.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric/rsa.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/asymmetric/ed25519.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/asymmetric
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/keywrap.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/hashes.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/serialization
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization/base.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/serialization
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization/ssh.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/serialization
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization/pkcs7.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/serialization
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/serialization
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/serialization/pkcs12.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/serialization
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/_asymmetric.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/cmac.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/_cipheralgorithm.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/_serialization.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/hmac.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/padding.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/poly1305.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/kdf
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf/kbkdf.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/kdf
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf/pbkdf2.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/kdf
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/kdf
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf/scrypt.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/kdf
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf/concatkdf.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/kdf
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf/hkdf.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/kdf
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/kdf/x963kdf.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/kdf
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/ciphers
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers/base.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/ciphers
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers/modes.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/ciphers
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/ciphers
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers/aead.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/ciphers
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/primitives/ciphers/algorithms.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/primitives/ciphers
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/_types.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/_oid.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/_der.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/interfaces.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/encode_asn1.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/ec.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/x509.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/utils.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/dsa.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/ocsp.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/x25519.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/hashes.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/x448.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/ed448.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/dh.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/ciphers.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/cmac.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/decode_asn1.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/hmac.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/rsa.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/poly1305.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/backend.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/aead.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/openssl/ed25519.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl
copying build/lib.linux-x86_64-3.9/cryptography/hazmat/backends/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/hazmat/backends
creating /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/x509
copying build/lib.linux-x86_64-3.9/cryptography/x509/ocsp.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/x509
copying build/lib.linux-x86_64-3.9/cryptography/x509/base.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/x509
copying build/lib.linux-x86_64-3.9/cryptography/x509/oid.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/x509
copying build/lib.linux-x86_64-3.9/cryptography/x509/general_name.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/x509
copying build/lib.linux-x86_64-3.9/cryptography/x509/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/x509
copying build/lib.linux-x86_64-3.9/cryptography/x509/name.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/x509
copying build/lib.linux-x86_64-3.9/cryptography/x509/extensions.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/x509
copying build/lib.linux-x86_64-3.9/cryptography/x509/certificate_transparency.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography/x509
copying build/lib.linux-x86_64-3.9/cryptography/exceptions.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography
copying build/lib.linux-x86_64-3.9/cryptography/__init__.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography
copying build/lib.linux-x86_64-3.9/cryptography/fernet.py -> /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography
running install_egg_info
Copying src/cryptography.egg-info to /home/buildroot/buildroot/output/per-package/python-cryptography/target/usr/lib/python3.9/site-packages/cryptography-3.4.6-py3.9.egg-info
running install_scripts

aarch64 or i386 target works because proc-macro is built with host toolchain

So I guess the question is then why would that not be happening with x86_64?

Can you double check that? Pasting the file content on your local machine to here would be very helpful.

$ cat /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/config 
[target.aarch64-unknown-linux-gnu]
linker = "aarch64-buildroot-linux-gnu-gcc"
messense commented 3 years ago

So I guess the question is then why would that not be happening with x86_64?

If you cat the x86_64 version I think it will be

[target.x86_64-unknown-linux-gnu]
linker = "x86_64-buildroot-linux-gnu-gcc"

Since the host and the target is the same, and there is no way to set different linkers for proc-macro and regular Rust crates when the cross compiling target and host is same AFAIK, proc-macro will use x86_64-buildroot-linux-gnu-gcc to do the linking which results in with newer glibc version.

jameshilliard commented 3 years ago

If you cat the x86_64 version I think it will be

Yep

$ cat /home/buildroot/buildroot/output/per-package/python-cryptography/host/share/cargo/config
[target.x86_64-unknown-linux-gnu]
linker = "x86_64-buildroot-linux-gnu-gcc"

Since the host and the target is the same, and there is no way to set different linkers for proc-macro and regular Rust crates when the cross compiling target and host is same AFAIK

Is this missing from pyo3 or other places as well? From the looks of it in pyo3 PYO3_CROSS_LIB_DIR gets ignored unless the host and target are different, maybe it makes sense to have pyo3 unconditionally run in cross compilation mode if any cross only env variables like that are set? Or maybe we should add a separate env variable that forces pyo3 to unconditionally run in cross compilation mode that I can set from buildroot?

messense commented 3 years ago

Let me try to summarize what's happening.

Rust has proc-macro and build script, they can generate code when compiling and they are linked with host toolchain and needs to be able to run on host.

When cross compiling for a different target, even though you specified --target, proc-macro and build script ignores that and continue to use host toolchain to link so the aarch64 and i686 cross compiling works just fine.

But when host and target is the same, say x86_64-unknown-linux-gnu, cargo doesn't think it's cross compiling, it uses the same host toolchain to link if you didn't configure a different linker in .cargo/config.toml. And if you do configure a different linker in .cargo/config.toml, proc-macro and build script will also use that because as far as cargo knows, you specified linker for x86_64-unknown-linux-gnu target and you are compiling to x86_64-unknown-linux-gnu, it's the same what could possibly go wrong?

So this has nothing to do with PYO3_CROSS_LIB_DIR, it didn't even reach the step to use that. And because pyo3 also uses build script, it will fail to run with the same error even if it runs.

I think there are several ways to resolve this:

  1. just use host toolchain as buildroot's external toolchain
  2. Make buildroot toolchain's glibc version compatible with host
  3. Try the workaround in https://github.com/PyO3/pyo3/issues/1513#issuecomment-803742092
jameshilliard commented 3 years ago

But when host and target is the same, say x86_64-unknown-linux-gnu, cargo doesn't think it's cross compiling, it uses the same host toolchain to link if you didn't configure a different linker in .cargo/config.toml.

So does this mean that we would need to add a force cross compilation override of some sort to cargo?

And if you do configure a different linker in .cargo/config.toml, proc-macro and build script will also use that because as far as cargo knows, you specified linker for x86_64-unknown-linux-gnu target and you are compiling to x86_64-unknown-linux-gnu, it's the same what could possibly go wrong?

Heh, well a lot it seems since the architecture being the same effectively is entirely separate from whether or not one is cross compiling.

So this has nothing to do with PYO3_CROSS_LIB_DIR, it didn't even reach the step to use that. And because pyo3 also uses build script, it will fail to run with the same error even if it runs.

Ok, so we need to fix this in addition to the cargo issue above still though right?

I think there are several ways to resolve this:

Ok, so keeping in mind I'm trying to get this working in a way that's acceptable for upstream buildroot, I don't think any of these would work for the following reasons:

  1. just use host toolchain as buildroot's external toolchain

The host OS toolchain is invalid for compiling target binaries with buildroot so we can't do this, it can only be used for compiling buildroot host packages(build tools), not buildroot target packages(stuff that runs on the target system we are cross compiling for). The built in OS toolchain is effectively only usable for bootstrapping/running the build tools(host packages in buildroot terminology) which buildroot then uses to compile everything for the target. We can't directly compile target binaries from the OS toolchain since buildroot needs to effectively fully control the build tools/process used for target binary compilation.

  1. Make buildroot toolchain's glibc version compatible with host

Buildroot doesn't control the host OS toolchain glibc version so this isn't possible.

  1. Try the workaround in #1513 (comment)

I thought we are already doing this effectively.

davidhewitt commented 3 years ago

Sorry I have been slow to join this conversation.

@jameshilliard it looks to me from the issues where you have referenced this thread that the fundamental problem is cargo doesn't distinguish between the "host" and "target" if they use the same llvm target triple. I think https://github.com/rust-lang/cargo/issues/3349 is touching on the right subject, however it really needs to go farther than just the build script - all build dependencies (build scripts, proc macros etc.) should always be built with the "host" toolchain.

Unfortunately I don't think we're able to offer a universal solution for this without upstream cargo support. The project has been moving in the right direction for what you need: for example the new resolver = "2" option has separated features for build dependencies and normal dependencies. So I'm sure that a PR to cargo to decouple configuration of the host linker and target linker would be welcomed.


As a possible workaround, @jameshilliard can you try setting LD_LIBRARY_PATH to include the buildroot lib dir while you're building? My theory is that this would allow the proc macros to load the buildroot glibc during build time.

(I imagine that should work as long as the buildroot libs aren't compiled with additional instruction sets which your host machine doesn't support.)

jameshilliard commented 3 years ago

it looks to me from the issues where you have referenced this thread that the fundamental problem is cargo doesn't distinguish between the "host" and "target" if they use the same llvm target triple.

Yeah, that's my best understanding of the issue at the moment.

Unfortunately I don't think we're able to offer a universal solution for this without upstream cargo support.

Yeah, I figured I would at least try and fix the obvious cross compilation detection issue in pyo3 in #1514 to make it easier to test potential cargo fixes.

The project has been moving in the right direction for what you need: for example the new resolver = "2" option has separated features for build dependencies and normal dependencies.

Not sure how that's related to this, best I can tell this isn't a dependency issue so much as cargo not providing critical auto-detection logic override hooks needed for cross compilation.

So I'm sure that a PR to cargo to decouple configuration of the host linker and target linker would be welcomed.

Yeah...didn't get very far there as I'm totally unfamiliar with the cargo codebase, but this capability should already be there for the most part since it does actually do that when the host and target architecture are different, I just can't figure out how that's actually controlled internally but this should be a fairly simple fix for whoever is familiar with this area of the codebase unless I'm missing something.

As a possible workaround, @jameshilliard can you try setting LD_LIBRARY_PATH to include the buildroot lib dir while you're building? My theory is that this would allow the proc macros to load the buildroot glibc during build time.

This might work for my own builds but I don't think it's maintainable enough to upstream as it seems highly likely to cause a bunch of problematic side effects. We do have a lot of workarounds/hacks in buildroot for cross compilation issues(we do try and fix issues in upstream dependencies when possible though) but this looks like it's highly likely to have a bunch of broken edge cases.

(I imagine that should work as long as the buildroot libs aren't compiled with additional instruction sets which your host machine doesn't support.)

Well I do think anything upstreamable will need to handle this case properly as this is a supported configuration in buildroot.

davidhewitt commented 3 years ago

Not sure how that's related to this, best I can tell this isn't a dependency issue so much as cargo not providing critical auto-detection logic override hooks needed for cross compilation.

I was more trying to point that there's been a number of issues where Cargo did the wrong thing for build scripts / proc macros and they're steadily being fixed.

This might work for my own builds but I don't think it's maintainable enough to upstream as it seems highly likely to cause a bunch of problematic side effects. We do have a lot of workarounds/hacks in buildroot for cross compilation issues(we do try and fix issues in upstream dependencies when possible though) but this looks like it's highly likely to have a bunch of broken edge cases.

Completely agree that LD_LIBRARY_PATH-based solution wouldn't be upstreamable.

jameshilliard commented 3 years ago

I was more trying to point that there's been a number of issues where Cargo did the wrong thing for build scripts / proc macros and they're steadily being fixed.

Yeah, at least it seems to cross build for supported targets that have different architectures than the host without too much trouble, it's probably less complex than our python integrations as well which tend to be fairly involved as we also manage system package dependency resolution for all the supported python packages.

jameshilliard commented 3 years ago

I may have a potential fix for the cargo issue in #9322.

davidhewitt commented 3 years ago

I see that the cargo PR has now been merged (whew, looks like it was a meaty one), so I'm going to close this here as presumably it's now possible to achieve this on nightly.

Please re-open if that's not the case.

jameshilliard commented 3 years ago

Should be possible to use the fix in stable like this in 1.54.0 and newer, we may want to integrate automatic handling for this workaround into setuptools-rust I'm thinking.

davidhewitt commented 3 years ago

Hmmm. It's possible to enable unstable features via a cargo config file (https://doc.rust-lang.org/cargo/reference/unstable.html#unstable-features), so I would suggest it's easy enough for users like buildroot who need this to add the appropriate env and cargo config without needing code changes to setuptools-rust.

jameshilliard commented 3 years ago

Well you also have to set __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" to make it work right in stable versions.

davidhewitt commented 3 years ago

Yes, that's one of the env vars I meant users can set. 👍