BC-SECURITY / Empire

Empire is a post-exploitation and adversary emulation framework that is used to aid Red Teams and Penetration Testers.
https://bc-security.gitbook.io/empire-wiki/
BSD 3-Clause "New" or "Revised" License
4.21k stars 575 forks source link

[BUG] Installation error pyyaml (5.4.1) #679

Closed eaglefn closed 1 year ago

eaglefn commented 1 year ago

Empire Version

OS Information (Linux flavor, Python version)

Describe the bug

Installing latest version ends with error:

Note: This error originates from the build backend, and is likely not a problem with poetry but with pyyaml (5.4.1) not supporting PEP 517 builds. You can verify this by running 'pip wheel --use-pep517 "pyyaml (==5.4.1)"'.

To Reproduce

Steps to reproduce the behavior:

  1. Install Empire with sudo ./setup/install.sh
  2. See error
  3. run "pip wheel --use-pep517 "pyyaml (==5.4.1)"
  4. See Output

Collecting pyyaml==5.4.1 Using cached PyYAML-5.4.1.tar.gz (175 kB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [43 lines of output] running egg_info Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in main() File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main json_out['return_val'] = hook(hook_input['kwargs']) File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheel return hook(config_settings) File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line 162, in get_requires_for_build_wheel return self._get_build_requires( File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line 143, in _get_build_requires self.run_setup() File "/usr/lib/python3/dist-packages/setuptools/build_meta.py", line 158, in run_setup exec(compile(code, file, 'exec'), locals()) File "setup.py", line 271, in setup( File "/usr/lib/python3/dist-packages/setuptools/init.py", line 153, in setup return distutils.core.setup(attrs) File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 148, in setup return run_commands(dist) File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py", line 163, in run_commands dist.run_commands() File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 967, in run_commands self.run_command(cmd) File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py", line 986, in run_command cmd_obj.run() File "/usr/lib/python3/dist-packages/setuptools/command/egg_info.py", line 299, in run self.find_sources() File "/usr/lib/python3/dist-packages/setuptools/command/egg_info.py", line 306, in find_sources mm.run() File "/usr/lib/python3/dist-packages/setuptools/command/egg_info.py", line 541, in run self.add_defaults() File "/usr/lib/python3/dist-packages/setuptools/command/egg_info.py", line 578, in add_defaults sdist.add_defaults(self) File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/sdist.py", line 228, in add_defaults self._add_defaults_ext() File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/sdist.py", line 312, in _add_defaults_ext self.filelist.extend(build_ext.get_source_files()) File "setup.py", line 201, in get_source_files self.cython_sources(ext.sources, ext) File "/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py", line 103, in getattr raise AttributeError(attr) AttributeError: cython_sources [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

eaglefn commented 1 year ago

This is the error in the installation process:

Package operations: 1 install, 0 updates, 0 removals

• Installing pyyaml (5.4.1): Failed

ChefBuildError

Backend subprocess exited when trying to invoke get_requires_for_build_wheel

/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in setup.cfg !!

      ********************************************************************************
      The license_file parameter is deprecated, use license_files instead.

      By 2023-Oct-30, you need to update your project and remove deprecated calls
      or your builds will no longer be supported.

      See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
      ********************************************************************************

!! parsed = self.parsers.get(option_name, lambda x: x)(value) running egg_info writing lib3/PyYAML.egg-info/PKG-INFO writing dependency_links to lib3/PyYAML.egg-info/dependency_links.txt writing top-level names to lib3/PyYAML.egg-info/top_level.txt Traceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in main() File "/usr/local/lib/python3.10/dist-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main json_out['return_val'] = hook(hook_input['kwargs']) File "/usr/local/lib/python3.10/dist-packages/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel return hook(config_settings) File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=['wheel']) File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires self.run_setup() File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/build_meta.py", line 338, in run_setup exec(code, locals()) File "", line 271, in File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/init.py", line 107, in setup return distutils.core.setup(attrs) File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup return run_commands(dist) File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands dist.run_commands() File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands self.run_command(cmd) File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/dist.py", line 1234, in run_command super().run_command(command) File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command cmd_obj.run() File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 314, in run self.find_sources() File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 322, in find_sources mm.run() File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 551, in run self.add_defaults() File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/command/egg_info.py", line 589, in add_defaults sdist.add_defaults(self) File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/command/sdist.py", line 104, in add_defaults super().add_defaults() File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults self._add_defaults_ext() File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext self.filelist.extend(build_ext.get_source_files()) File "", line 201, in get_source_files File "/tmp/tmp4_2kmwkp/.venv/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 107, in getattr raise AttributeError(attr) AttributeError: cython_sources

at /usr/local/lib/python3.10/dist-packages/poetry/installation/chef.py:147 in _prepare 143│ 144│ error = ChefBuildError("\n\n".join(message_parts)) 145│ 146│ if error is not None: → 147│ raise error from None 148│ 149│ return path 150│ 151│ def _prepare_sdist(self, archive: Path, destination: Path | None = None) -> Path:

Note: This error originates from the build backend, and is likely not a problem with poetry but with pyyaml (5.4.1) not supporting PEP 517 builds. You can verify this by running 'pip wheel --use-pep517 "pyyaml (==5.4.1)"'.

ChillVibesMushroom commented 1 year ago

pyyaml is backwards compatible with 4.5.1 so I kinda messed up in doing a system isntall but in a virtualenv you can

pip install pyyaml

https://pypi.org/project/PyYAML/

Installing collected packages: pyyaml Successfully installed pyyaml-6.0.1

That's where Im at now everything else seemed to install correctly for me so don't get discouraged

Cx01N commented 1 year ago

It looks like there are a few issues related to pyyaml right now, we have a patch in place that we are hoping to get rolled out in the new version tomorrow. https://github.com/yaml/pyyaml/issues/724

eaglefn commented 1 year ago

It works for me now. Thanks!