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

dependency incompatibility #41

Closed
noraj opened this issue Mar 21, 2020 · 5 comments
Closed

dependency incompatibility #41

noraj opened this issue Mar 21, 2020 · 5 comments

Comments

@noraj
Copy link
Contributor

noraj commented Mar 21, 2020

$ pip install .
...
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10.1->flask>=1.0->impacket>=0.9.17->bloodhound==1.0.3)
  Downloading https://files.pythonhosted.org/packages/4b/20/f6d7648c81cb84815d0be935d5c74cd1cc0239e43eadb1a61062d34b6543/MarkupSafe-1.1.1-cp38-cp38-manylinux1_x86_64.whl
Collecting pycparser (from cffi!=1.11.3,>=1.8->cryptography>=2.8->pyOpenSSL>=0.13.1->impacket>=0.9.17->bloodhound==1.0.3)
  Downloading https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl (112kB)
     |████████████████████████████████| 112kB 45.6MB/s 
ERROR: impacket 0.9.20 has requirement ldap3==2.5.1, but you'll have ldap3 2.7 which is incompatible.
Installing collected packages: bloodhound, pycryptodomex, pycparser, cffi, six, cryptography, pyOpenSSL, MarkupSafe, Jinja2, Werkzeug, click, itsdangerous
  Found existing installation: bloodhound 1.0.3
    Uninstalling bloodhound-1.0.3:
      Successfully uninstalled bloodhound-1.0.3
  Running setup.py install for bloodhound ... done
Successfully installed Jinja2-2.11.1 MarkupSafe-1.1.1 Werkzeug-1.0.0 bloodhound-1.0.3 cffi-1.14.0 click-7.1.1 cryptography-2.8 itsdangerous-1.1.0 pyOpenSSL-19.1.0 pycparser-2.20 pycryptodomex-3.9.7 six-1.14.0
Traceback (most recent call last):
  File "/tmp/BloodHound.py/venv/bin/pip", line 10, in <module>
    sys.exit(main())
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_internal/__init__.py", line 77, in main
    return command.main(cmd_args)
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 234, in main
    session = self._build_session(
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 101, in _build_session
    session = PipSession(
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_internal/download.py", line 559, in __init__
    self.headers["User-Agent"] = user_agent()
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_internal/download.py", line 170, in user_agent
    setuptools_version = get_installed_version("setuptools")
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_internal/utils/misc.py", line 1044, in get_installed_version
    working_set = pkg_resources.WorkingSet()
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py", line 567, in __init__
    self.add_entry(entry)
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py", line 623, in add_entry
    for dist in find_distributions(entry, True):
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1974, in find_eggs_in_zip
    if metadata.has_metadata('PKG-INFO'):
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1414, in has_metadata
    return self._has(path)
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1845, in _has
    return zip_path in self.zipinfo or zip_path in self._index()
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1722, in zipinfo
    return self._zip_manifests.load(self.loader.archive)
  File "/tmp/BloodHound.py/venv/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1679, in load
    mtime = os.stat(path).st_mtime
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/BloodHound.py/venv/lib/python3.8/site-packages/bloodhound-1.0.3-py3.8.egg'

git version efc8b57

Python 3.8.2

@dirkjanm
Copy link
Owner

Could you try installing impacket from git first? That one has the versions of ldap3 set correctly

@noraj
Copy link
Contributor Author

noraj commented Mar 21, 2020

Impacket 0.9.20 (last release) requires 'ldap3==2.5.1 only and Impacket 0.9.21 (unreleased) requires 'ldap3>=2.5,!=2.5.2,!=2.5.0,!=2.6'.

I'm packaging your tool in BlackArch, I can't rely on Impacket git version, I must rely on Impacket version in ArchRepo. So the thing to do is to wait for the next impacket release fortra/impacket#799 (comment).

In the meantime I asked ArchLinux team to make a temporary patch https://bugs.archlinux.org/task/65919

So it's totally an upstream issue with impacket.

@dirkjanm
Copy link
Owner

As impacket has a new release now I assume this is fixed (until something changes in ldap3 which requires pinning a version again on either side). Closing.

@noraj
Copy link
Contributor Author

noraj commented Apr 14, 2020

Yes, as soon as impacket 0.9.21 was release I was able to push your tool on BlackArch repos.

Packaging status

@dirkjanm
Copy link
Owner

Cool, thanks for the inclusion!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants