Gallopsled / pwntools

CTF framework and exploit development library
http://pwntools.com
Other
11.91k stars 1.69k forks source link

Error while installing #2105

Closed init5-SF closed 1 year ago

init5-SF commented 2 years ago

hello,

I am using Linux ubuntu 4.15.0-192-generic #203-Ubuntu SMP Wed Aug 10 17:39:40 UTC 2022 i686 athlon i686 GNU/Linux I am new to pwntools, I used the exact steps on the installation guide:

$ apt-get update
$ apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
$ python3 -m pip install --upgrade pip
$ python3 -m pip install --upgrade pwntools

but ended up with some errors regarding bcrypt:

  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /home/dev/.local/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpwkb1_hjt
       cwd: /tmp/pip-install-tz1d5b7m/bcrypt_acda9df20ae344f786cc006c17fc60d5
  Complete output (58 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-i686-3.6
  creating build/lib.linux-i686-3.6/bcrypt
  copying src/bcrypt/__about__.py -> build/lib.linux-i686-3.6/bcrypt
  copying src/bcrypt/__init__.py -> build/lib.linux-i686-3.6/bcrypt
  running egg_info
  writing src/bcrypt.egg-info/PKG-INFO
  writing dependency_links to src/bcrypt.egg-info/dependency_links.txt
  writing requirements to src/bcrypt.egg-info/requires.txt
  writing top-level names to src/bcrypt.egg-info/top_level.txt
  reading manifest file 'src/bcrypt.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no previously-included files found matching 'requirements.txt'
  warning: no previously-included files found matching 'release.py'
  warning: no previously-included files found matching 'mypy.ini'
  warning: no previously-included files matching '*' found under directory '.github'
  warning: no previously-included files matching '*' found under directory '.circleci'
  warning: no previously-included files found matching 'src/_bcrypt/target'
  warning: no previously-included files matching '*' found under directory 'src/_bcrypt/target'
  adding license file 'LICENSE'
  writing manifest file 'src/bcrypt.egg-info/SOURCES.txt'
  copying src/bcrypt/_bcrypt.pyi -> build/lib.linux-i686-3.6/bcrypt
  copying src/bcrypt/py.typed -> build/lib.linux-i686-3.6/bcrypt
  running build_ext
  running build_rust

      =============================DEBUG ASSISTANCE=============================
      If you are seeing a compilation error please try the following steps to
      successfully install bcrypt:
      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) Ensure you have a recent Rust toolchain installed. bcrypt requires
         rustc >= 1.56.0.

      Python: 3.6.9
      platform: Linux-4.15.0-192-generic-i686-athlon-with-Ubuntu-18.04-bionic
      pip: n/a
      setuptools: 59.6.0
      setuptools_rust: 1.1.2
      rustc: n/a
      =============================DEBUG ASSISTANCE=============================

  error: can't find Rust compiler

  If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

  To update pip, run:

      pip install --upgrade pip

  and then retry package installation.

  If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.

  This package requires Rust >=1.56.0.
  ----------------------------------------
  ERROR: Failed building wheel for bcrypt
  Building wheel for cryptography (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /home/dev/.local/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpo10n148a
       cwd: /tmp/pip-install-tz1d5b7m/cryptography_b8b0ee5ed26849b59c238b5fa2e0df05
  Complete output (168 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-i686-3.6
  creating build/lib.linux-i686-3.6/cryptography
  copying src/cryptography/exceptions.py -> build/lib.linux-i686-3.6/cryptography
  copying src/cryptography/utils.py -> build/lib.linux-i686-3.6/cryptography
  copying src/cryptography/__about__.py -> build/lib.linux-i686-3.6/cryptography
  copying src/cryptography/__init__.py -> build/lib.linux-i686-3.6/cryptography
  copying src/cryptography/fernet.py -> build/lib.linux-i686-3.6/cryptography
  creating build/lib.linux-i686-3.6/cryptography/x509
  copying src/cryptography/x509/ocsp.py -> build/lib.linux-i686-3.6/cryptography/x509
  copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-i686-3.6/cryptography/x509
  copying src/cryptography/x509/general_name.py -> build/lib.linux-i686-3.6/cryptography/x509
  copying src/cryptography/x509/oid.py -> build/lib.linux-i686-3.6/cryptography/x509
  copying src/cryptography/x509/__init__.py -> build/lib.linux-i686-3.6/cryptography/x509
  copying src/cryptography/x509/extensions.py -> build/lib.linux-i686-3.6/cryptography/x509
  copying src/cryptography/x509/base.py -> build/lib.linux-i686-3.6/cryptography/x509
  copying src/cryptography/x509/name.py -> build/lib.linux-i686-3.6/cryptography/x509
  creating build/lib.linux-i686-3.6/cryptography/hazmat
  copying src/cryptography/hazmat/_oid.py -> build/lib.linux-i686-3.6/cryptography/hazmat
  copying src/cryptography/hazmat/__init__.py -> build/lib.linux-i686-3.6/cryptography/hazmat
  creating build/lib.linux-i686-3.6/cryptography/hazmat/backends
  copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends
  creating build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives
  creating build/lib.linux-i686-3.6/cryptography/hazmat/bindings
  copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-i686-3.6/cryptography/hazmat/bindings
  creating build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-i686-3.6/cryptography/hazmat/backends/openssl
  creating build/lib.linux-i686-3.6/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/ciphers
  copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/ciphers
  creating build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/asymmetric
  creating build/lib.linux-i686-3.6/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/kdf
  copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/kdf
  creating build/lib.linux-i686-3.6/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/serialization
  copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/serialization
  creating build/lib.linux-i686-3.6/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/twofactor
  copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-i686-3.6/cryptography/hazmat/primitives/twofactor
  creating build/lib.linux-i686-3.6/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-i686-3.6/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-i686-3.6/cryptography/hazmat/bindings/openssl
  copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-i686-3.6/cryptography/hazmat/bindings/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'
  /usr/lib/python3.6/importlib/__init__.py:126: CryptographyDeprecationWarning: Python 3.6 is no longer supported by the Python core team. Therefore, support for it is deprecated in cryptography and will be removed in a future release.
    return _bootstrap._gcd_import(name[level:], package, level)
  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 '.circleci'
  adding license file 'LICENSE'
  adding license file 'LICENSE.APACHE'
  adding license file 'LICENSE.BSD'
  adding license file 'LICENSE.PSF'
  writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
  copying src/cryptography/py.typed -> build/lib.linux-i686-3.6/cryptography
  creating build/lib.linux-i686-3.6/cryptography/hazmat/bindings/_rust
  copying src/cryptography/hazmat/bindings/_rust/__init__.pyi -> build/lib.linux-i686-3.6/cryptography/hazmat/bindings/_rust
  copying src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-i686-3.6/cryptography/hazmat/bindings/_rust
  copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-i686-3.6/cryptography/hazmat/bindings/_rust
  copying src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-i686-3.6/cryptography/hazmat/bindings/_rust
  running build_ext
  running build_rust

      =============================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.6.9
      platform: Linux-4.15.0-192-generic-i686-athlon-with-Ubuntu-18.04-bionic
      pip: n/a
      setuptools: 59.6.0
      setuptools_rust: 1.1.2
      =============================DEBUG ASSISTANCE=============================

  error: can't find Rust compiler

  If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.

  To update pip, run:

      pip install --upgrade pip

  and then retry package installation.

  If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain.

  This package requires Rust >=1.41.0.
  ----------------------------------------
  ERROR: Failed building wheel for cryptography
Successfully built intervaltree colored-traceback
Failed to build bcrypt cryptography
ERROR: Could not build wheels for bcrypt, cryptography, which is required to install pyproject.toml-based projects

All other packages were installed successfully, is there something I missed during installation?

Pribess commented 2 years ago

Install rust package and try again.