Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cryptography 36.0.1 won't install on Cygwin #6834

Closed
allenatdecisiv opened this issue Feb 2, 2022 · 6 comments
Closed

cryptography 36.0.1 won't install on Cygwin #6834

allenatdecisiv opened this issue Feb 2, 2022 · 6 comments

Comments

@allenatdecisiv
Copy link

pip install cryptography on Cygwin doesn't install. The last version I've been able to install/build on Cygwin is cryptography 3.3.2.

I'm reporting this now because a PyPi package I do want to install has a dependency requirement of cryptography>=35.0:

Collecting cryptography>=35.0
  Downloading cryptography-36.0.1.tar.gz (572 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 572.1/572.1 KB 14.8 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: click in /usr/local/lib/python3.8/site-packages (from userpath) (8.0.3)
Requirement already satisfied: cffi>=1.12 in /usr/lib/python3.8/site-packages (from cryptography>=35.0->pyOpenSSL) (1.15.0)
Requirement already satisfied: six>=1.5 in /usr/lib/python3.8/site-packages (from python-dateutil<3.0.0,>=2.1->botocore) (1.16.0)
Requirement already satisfied: pycparser in /usr/lib/python3.8/site-packages (from cffi>=1.12->cryptography>=35.0->pyOpenSSL) (2.21)
Building wheels for collected packages: PyICU, cryptography
  Building wheel for PyICU (pyproject.toml) ... done
  Created wheel for PyICU: filename=PyICU-2.8.1-cp38-cp38-cygwin_3_3_3_x86_64.whl size=1906537 sha256=76770a46af6f9580bbd5d8b594d8f7fad219654130e3cabc92dd88bbb9a95cb9
  Stored in directory: /home/allen/.cache/pip/wheels/78/5d/62/66d878905c322c1a2b2f019e2a72de3887461b0f63bb1e1e3a
  Building wheel for cryptography (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for cryptography (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [165 lines of output]
      running bdist_wheel
      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'
      adding license file 'LICENSE'
      adding license file 'LICENSE.APACHE'
      adding license file 'LICENSE.BSD'
      adding license file 'LICENSE.PSF'
      running build_ext
      running build_rust
          Updating crates.io index
       Downloading crates ...
        Downloaded aliasable v0.1.3
        Downloaded libc v0.2.107
        Downloaded once_cell v1.8.0
        Downloaded pyo3-macros v0.15.1
        Downloaded pyo3 v0.15.1
        Downloaded redox_syscall v0.2.10
        Downloaded winapi-i686-pc-windows-gnu v0.4.0
        Downloaded winapi-x86_64-pc-windows-gnu v0.4.0
        Downloaded ouroboros v0.13.0
        Downloaded pyo3-macros-backend v0.15.1
        Downloaded pyo3-build-config v0.15.1
        Downloaded syn v1.0.81
        Downloaded smallvec v1.7.0
        Downloaded ouroboros_macro v0.13.0
        Downloaded quote v1.0.10
        Downloaded unindent v0.1.7
        Downloaded bitflags v1.3.2
        Downloaded chrono v0.4.19
        Downloaded parking_lot v0.11.2
        Downloaded paste-impl v0.1.18
        Downloaded pem v1.0.1
        Downloaded regex v1.5.4
        Downloaded unicode-xid v0.2.2
        Downloaded regex-syntax v0.6.25
        Downloaded indoc v0.3.6
        Downloaded asn1_derive v0.8.7
        Downloaded paste v0.1.18
        Downloaded parking_lot_core v0.8.5
        Downloaded instant v0.1.12
        Downloaded indoc-impl v0.3.6
        Downloaded asn1 v0.8.7
        Downloaded proc-macro2 v1.0.32
        Downloaded lock_api v0.4.5
      cargo rustc --lib --manifest-path src/rust/Cargo.toml --release -v --features pyo3/extension-module pyo3/abi3-py36 -- --crate-type cdylib
         Compiling proc-macro2 v1.0.32
         Compiling unicode-xid v0.2.2
         Compiling syn v1.0.81
         Compiling version_check v0.9.3
         Compiling autocfg v1.0.1
         Compiling proc-macro-hack v0.5.19
         Compiling pyo3-build-config v0.15.1
         Compiling winapi v0.3.9
           Running `rustc --crate-name build_script_build --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\proc-macro2-1.0.32\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 overflow-checks=on --cfg "feature=\"default\"" --cfg "feature=\"proc-macro\"" -C metadata=02ee405832d13d0e -C extra-filename=-02ee405832d13d0e --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\proc-macro2-02ee405832d13d0e -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
           Running `rustc --crate-name unicode_xid C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\unicode-xid-0.2.2\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 -C overflow-checks=on --cfg "feature=\"default\"" -C metadata=84a2635c2c920c11 -C extra-filename=-84a2635c2c920c11 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
           Running `rustc --crate-name version_check C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\version_check-0.9.3\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 overflow-checks=on -C metadata=2cdad49dd9fc80e2 -C extra-filename=-2cdad49dd9fc80e2 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
           Running `rustc --crate-name build_script_build --edition=2018 C:\Users\allen\.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 overflow-checks=on -C metadata=59e6878b0178f0ac -C extra-filename=-59e6878b0178f0ac --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\proc-macro-hack-59e6878b0178f0ac -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
           Running `rustc --crate-name autocfg C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\autocfg-1.0.1\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 overflow-checks=on -C metadata=5f2e2a83530deb10 -C extra-filename=-5f2e2a83530deb10 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
           Running `rustc --crate-name build_script_build C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.9\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 overflow-checks=on --cfg "feature=\"errhandlingapi\"" --cfg "feature=\"handleapi\"" --cfg "feature=\"minwinbase\"" --cfg "feature=\"minwindef\"" --cfg "feature=\"ntstatus\"" --cfg "feature=\"std\"" --cfg "feature=\"timezoneapi\"" --cfg "feature=\"winbase\"" --cfg "feature=\"winerror\"" --cfg "feature=\"winnt\"" -C metadata=1b928d308b157039 -C extra-filename=-1b928d308b157039 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\winapi-1b928d308b157039 -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
           Running `rustc --crate-name build_script_build --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\pyo3-build-config-0.15.1\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 overflow-checks=on --cfg "feature=\"abi3\"" --cfg "feature=\"abi3-py310\"" --cfg "feature=\"abi3-py36\"" --cfg "feature=\"abi3-py37\"" --cfg "feature=\"abi3-py38\"" --cfg "feature=\"abi3-py39\"" --cfg "feature=\"default\"" --cfg "feature=\"resolve-config\"" -C metadata=97ff3a64d71a10b6 -C extra-filename=-97ff3a64d71a10b6 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\pyo3-build-config-97ff3a64d71a10b6 -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
           Running `rustc --crate-name build_script_build --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\syn-1.0.81\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 overflow-checks=on --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=6d31ecbdc33c95a3 -C extra-filename=-6d31ecbdc33c95a3 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\syn-6d31ecbdc33c95a3 -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling once_cell v1.8.0
           Running `rustc --crate-name once_cell --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\once_cell-1.8.0\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 -C overflow-checks=on --cfg "feature=\"alloc\"" --cfg "feature=\"default\"" --cfg "feature=\"race\"" --cfg "feature=\"std\"" -C metadata=ec6e671a74bac935 -C extra-filename=-ec6e671a74bac935 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling libc v0.2.107
         Compiling cfg-if v1.0.0
           Running `rustc --crate-name build_script_build C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\libc-0.2.107\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 overflow-checks=on --cfg "feature=\"default\"" --cfg "feature=\"std\"" -C metadata=3ce136bea44c2293 -C extra-filename=-3ce136bea44c2293 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\libc-3ce136bea44c2293 -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
           Running `rustc --crate-name cfg_if --edition=2018 C:\Users\allen\.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 overflow-checks=on -C metadata=33576ae8ce32c963 -C extra-filename=-33576ae8ce32c963 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling parking_lot_core v0.8.5
           Running `rustc --crate-name build_script_build --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\parking_lot_core-0.8.5\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 overflow-checks=on -C metadata=91bfd4aeb8fdcd2e -C extra-filename=-91bfd4aeb8fdcd2e --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\parking_lot_core-91bfd4aeb8fdcd2e -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling smallvec v1.7.0
           Running `rustc --crate-name smallvec --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\smallvec-1.7.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 overflow-checks=on -C metadata=869c0e57b123c749 -C extra-filename=-869c0e57b123c749 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling scopeguard v1.1.0
           Running `rustc --crate-name scopeguard C:\Users\allen\.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 overflow-checks=on -C metadata=0bfd542817670634 -C extra-filename=-0bfd542817670634 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling unindent v0.1.7
         Compiling regex-syntax v0.6.25
           Running `rustc --crate-name regex_syntax --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\regex-syntax-0.6.25\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 overflow-checks=on -C metadata=6de0ae8ef8cab88a -C extra-filename=-6de0ae8ef8cab88a --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
           Running `rustc --crate-name unindent --edition=2018 C:\Users\allen\.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 overflow-checks=on -C metadata=d2364f64986a25b0 -C extra-filename=-d2364f64986a25b0 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling Inflector v0.11.4
           Running `rustc --crate-name inflector C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\Inflector-0.11.4\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 overflow-checks=on -C metadata=26209366e97d6237 -C extra-filename=-26209366e97d6237 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling base64 v0.13.0
           Running `rustc --crate-name base64 --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\base64-0.13.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 overflow-checks=on --cfg "feature=\"default\"" --cfg "feature=\"std\"" -C metadata=35e439d72d9e1427 -C extra-filename=-35e439d72d9e1427 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling stable_deref_trait v1.2.0
           Running `rustc --crate-name stable_deref_trait C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\stable_deref_trait-1.2.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 overflow-checks=on --cfg "feature=\"alloc\"" --cfg "feature=\"default\"" --cfg "feature=\"std\"" -C metadata=0b650f3803b08d31 -C extra-filename=-0b650f3803b08d31 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
           Running `rustc --crate-name unindent --edition=2018 C:\Users\allen\.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 overflow-checks=on -C metadata=dbd2418af3a0a511 -C extra-filename=-dbd2418af3a0a511 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
           Running `rustc --crate-name once_cell --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\once_cell-1.8.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 overflow-checks=on --cfg "feature=\"alloc\"" --cfg "feature=\"default\"" --cfg "feature=\"race\"" --cfg "feature=\"std\"" -C metadata=bdce495b95a4c215 -C extra-filename=-bdce495b95a4c215 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling aliasable v0.1.3
           Running `rustc --crate-name aliasable --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\aliasable-0.1.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 overflow-checks=on --cfg "feature=\"alloc\"" --cfg "feature=\"default\"" -C metadata=dba0761df69534f6 -C extra-filename=-dba0761df69534f6 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling lazy_static v1.4.0
           Running `rustc --crate-name lazy_static C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\lazy_static-1.4.0\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 -C overflow-checks=on -C metadata=4939ca2da6f9619e -C extra-filename=-4939ca2da6f9619e --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --cap-lints allow`
         Compiling num-traits v0.2.14
           Running `rustc --crate-name build_script_build C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\num-traits-0.2.14\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 overflow-checks=on -C metadata=c581fb9de28ad082 -C extra-filename=-c581fb9de28ad082 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\num-traits-c581fb9de28ad082 -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --extern autocfg=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps\libautocfg-5f2e2a83530deb10.rlib --cap-lints allow`
         Compiling num-integer v0.1.44
           Running `rustc --crate-name build_script_build C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\num-integer-0.1.44\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 overflow-checks=on -C metadata=3c6d8f957ec9e5f7 -C extra-filename=-3c6d8f957ec9e5f7 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\num-integer-3c6d8f957ec9e5f7 -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --extern autocfg=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps\libautocfg-5f2e2a83530deb10.rlib --cap-lints allow`
           Running `C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\proc-macro-hack-59e6878b0178f0ac\build-script-build`
           Running `C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\syn-6d31ecbdc33c95a3\build-script-build`
         Compiling proc-macro-error-attr v1.0.4
           Running `rustc --crate-name build_script_build --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\proc-macro-error-attr-1.0.4\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 overflow-checks=on -C metadata=47e574046b025938 -C extra-filename=-47e574046b025938 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\proc-macro-error-attr-47e574046b025938 -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --extern version_check=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps\libversion_check-2cdad49dd9fc80e2.rlib --cap-lints allow`
         Compiling proc-macro-error v1.0.4
           Running `rustc --crate-name build_script_build --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\proc-macro-error-1.0.4\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 overflow-checks=on --cfg "feature=\"default\"" --cfg "feature=\"syn\"" --cfg "feature=\"syn-error\"" -C metadata=7b8177d9f0100d4a -C extra-filename=-7b8177d9f0100d4a --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\proc-macro-error-7b8177d9f0100d4a -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --extern version_check=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps\libversion_check-2cdad49dd9fc80e2.rlib --cap-lints allow`
           Running `C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\proc-macro2-02ee405832d13d0e\build-script-build`
         Compiling instant v0.1.12
           Running `rustc --crate-name instant --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\instant-0.1.12\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 overflow-checks=on -C metadata=ef5092cb93f06c29 -C extra-filename=-ef5092cb93f06c29 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --extern cfg_if=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps\libcfg_if-33576ae8ce32c963.rmeta --cap-lints allow`
           Running `C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\winapi-1b928d308b157039\build-script-build`
         Compiling lock_api v0.4.5
           Running `rustc --crate-name lock_api --edition=2018 C:\Users\allen\.cargo\registry\src\github.com-1ecc6299db9ec823\lock_api-0.4.5\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 overflow-checks=on -C metadata=e821a430f12584fa -C extra-filename=-e821a430f12584fa --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --extern scopeguard=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps\libscopeguard-0bfd542817670634.rmeta --cap-lints allow`
           Running `C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\libc-3ce136bea44c2293\build-script-build`
           Running `C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\parking_lot_core-91bfd4aeb8fdcd2e\build-script-build`
           Running `C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\pyo3-build-config-97ff3a64d71a10b6\build-script-build`
           Running `C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\num-traits-c581fb9de28ad082\build-script-build`
           Running `rustc --crate-name proc_macro_hack --edition=2018 C:\Users\allen\.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 overflow-checks=on -C metadata=41e02bc556af96f3 -C extra-filename=-41e02bc556af96f3 --out-dir C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps -L dependency=C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\deps --extern proc_macro --cap-lints allow`
      error: failed to run custom build command for `pyo3-build-config v0.15.1`

      Caused by:
        process didn't exit successfully: `C:\cygwin64\tmp\pip-install-3y2uwfnb\cryptography_42ca872bd6394f7685ecc3e5977ad0a4\src\rust\target\release\build\pyo3-build-config-97ff3a64d71a10b6\build-script-build` (exit code: 1)
        --- stdout
        cargo:rerun-if-env-changed=PYO3_CONFIG_FILE
        cargo:rerun-if-env-changed=PYO3_NO_PYTHON
        cargo:rerun-if-env-changed=PYO3_PYTHON

        --- stderr
        error: failed to run the Python interpreter at /usr/bin/python3.8.exe: The system cannot find the file specified. (os error 2)
      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/ for specific
             instructions for your platform.
          3) Check our frequently asked questions for more information:
             https://cryptography.io/en/latest/faq/
          4) Ensure you have a recent Rust toolchain installed:
             https://cryptography.io/en/latest/installation/#rust

          Python: 3.8.12
          platform: CYGWIN_NT-10.0-19044-3.3.3-341.x86_64-x86_64-64bit-WindowsPE
          pip: n/a
          setuptools: 60.6.0
          setuptools_rust: 1.1.2
          =============================DEBUG ASSISTANCE=============================

      error: cargo failed with code: 101

      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cryptography
Successfully built PyICU
Failed to build cryptography
ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects
$ uname -a
CYGWIN_NT-10.0-19044 FOUREYES 3.3.3-341.x86_64 2021-12-03 16:35 UTC x86_64 Cygwin

$ cygcheck -c | grep -i ^openssl
openssl                                    1.1.1l-2                        OK

$ openssl version
OpenSSL 1.1.1l  24 Aug 2021

$ command python
Python 3.8.12 (default, Sep 10 2021, 16:06:59)
[GCC 11.2.0] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()

$ pip --version
pip 22.0.2 from /usr/lib/python3.8/site-packages/pip (python 3.8)

$ pip show setuptools
Name: setuptools
Version: 60.5.0
Summary: Easily download, build, install, upgrade, and uninstall Python packages
Home-page: https://github.com/pypa/setuptools
Author: Python Packaging Authority
Author-email: distutils-sig@python.org
License: UNKNOWN
Location: /usr/local/lib/python3.8/site-packages
Requires:
Required-by: csvkit, johnnydep, pip-tools, pipenv

$ pip show cffi
Name: cffi
Version: 1.15.0
Summary: Foreign Function Interface for Python calling C code.
Home-page: http://cffi.readthedocs.org
Author: Armin Rigo, Maciej Fijalkowski
Author-email: python-cffi@googlegroups.com
License: MIT
Location: /usr/lib/python3.8/site-packages
Requires: pycparser
Required-by: cryptography

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/11/lto-wrapper.exe
Target: x86_64-pc-cygwin
Configured with: /mnt/share/cygpkgs/gcc/gcc.x86_64/src/gcc-11.2.0/configure --srcdir=/mnt/share/cygpkgs/gcc/gcc.x86_64/src/gcc-11.2.0 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=x86_64-pc-cygwin --host=x86_64-pc-cygwin --target=x86_64-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --with-gcc-major-version-only --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --with-tune=generic --disable-bootstrap --enable-languages=c,c++,fortran,lto,objc,obj-c++,jit --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --enable-libquadmath --enable-libquadmath-support --disable-libssp --enable-libada --disable-symvers --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible --enable-libstdcxx-filesystem-ts
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.2.0 (GCC)
@alex
Copy link
Member

alex commented Feb 2, 2022

The error it's failing on is:

        error: failed to run the Python interpreter at /usr/bin/python3.8.exe: The system cannot find the file specified. (os error 2)

I don't know anything about cygwin, so I'm not sure what the expected path to the python binary is. It's possible this is a bug in pyo3, or it's possible that somehow the python installation is messed up.

@allenatdecisiv
Copy link
Author

allenatdecisiv commented Feb 2, 2022

Hi @alex,

That is the real path to my Python:

$ stat -c "%s %N" /usr/bin/python*
24 '/usr/bin/python.exe' -> '/etc/alternatives/python'
13 '/usr/bin/python3' -> 'python3.8.exe'
9747 '/usr/bin/python3.8.exe'
3439 '/usr/bin/python3.8-config'
16 '/usr/bin/python3-config' -> 'python3.8-config'
31 '/usr/bin/python-config' -> '/etc/alternatives/python-config'

Here's a command inspecting the Cygwin packaging system for what it "shipped" in it's packaging:

$ cygcheck -l python38 | grep python3.8.exe
/usr/bin/python3.8.exe

I am sure there's nothing wrong with Cygwin's Python. I've been using it for a long time with a wide range of PyPi packages. I've built (older) cryptography on Cygwin more than a few times.

Is the tooling is trying to outsmart Cygwin by not using UNIX pathing? e.g. Programs detect that they are on Cygwin and try to use Windows pathing (Cygwin supports this) and not UNIX pathing. Or the file Python is expecting isn't really there? How about any ENV knobs that I can control to force things?

The error makes me think it's one of those two things, because /usr/bin/python3.8.exe is the base binary with a symlinks and alternatives:

$ file /usr/bin/python3.8.exe
/usr/bin/python3.8.exe: PE32+ executable (console) x86-64, for MS Windows

$ /usr/bin/python3.8.exe
Python 3.8.12 (default, Sep 10 2021, 16:06:59)
[GCC 11.2.0] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()

I don't run Python this way, I use /usr/bin/python or just python.

Is there a debug for your build process so I can see the shell/make commands being issued?

@alex
Copy link
Member

alex commented Feb 2, 2022

The site of the error is here: https://github.com/PyO3/pyo3/blob/main/pyo3-build-config/src/impl_.rs#L1140-L1160

This looks like a pretty standard subprocess invocation and we know the value of interpreter from the error message. If that binary really exists, I'm perplexed about how that error could occur.

@allenatdecisiv
Copy link
Author

I don't know what language that is, but the lines at L1156-L1160 don't include the value of &str in the error handling. How can I get the values of &str when run_python_script() is called?

...and I see your point now. That error isn't from Cygwin's Python b/c that type of error would look like this:

$ /usr/bin/python3.8.exe  /var/tmp/blah-blah-blah.py
/usr/bin/python3.8: can't open file '/var/tmp/blah-blah-blah.py': [Errno 2] No such file or directory

It's a language host error that it couldn't find /usr/bin/python3.8.exe. Is the language host Cygwin compatible? This usually means that when you are on Windows and you detect __CYGWIN__, you treat the host/target like Linux (b/c Cygwin is mostly an approximation of/to POSIX/Linux/UNIX). I now suspect some funny business with pathing in that language host when it comes to Cygwin. Like it's trying to translate that path, or the language host isn't running as a Cygwin process (e.g. build/linked in Cygwin). If It's running as a native Win32 application unaware of Cygwin, when tries to CreateProcess() with that Cygwin Python binary path, it's not going to work. Windows knows nothing of how to run /usr/bin/python3.8.exe.

Can I set the Python binary myself via an ENV knob? I can try to trick it with a Windows version of the Cygwin Python:

$ cygpath --windows /usr/bin/python3.8.exe
C:\cygwin64\bin\python3.8.exe

But I need your build process to build a Cygwin version, not a Win32 version.

Has the build system changed since the 3.3.2 days?

@alex
Copy link
Member

alex commented Feb 2, 2022

Yes, in 3.4 we introduced Rust into our build process.

It's entirely possible that the issue is that some part of the pyo3 build process is not cygwin aware. I really know nothing about cygwin.

@allenatdecisiv
Copy link
Author

Ah, Ok. Here it is: PyO3/pyo3#1082. Rust has no Cygwin target. Bummer.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 4, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

2 participants