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

ERROR: Failed building wheel for duplicity #38

Closed
Rylan12 opened this issue Aug 2, 2020 · 2 comments
Closed

ERROR: Failed building wheel for duplicity #38

Rylan12 opened this issue Aug 2, 2020 · 2 comments
Labels
bug Something isn't working

Comments

@Rylan12
Copy link

Rylan12 commented Aug 2, 2020

Hi there! I've got another bug report from pipgrip on Homebrew.

What you were trying to do (and why)

Find recursive dependencies for duplicity

What happened (including command output)

Failed when collecting duplicity==0.8.14

Command output

$ pipgrip --no-cache-dir duplicity==0.8.14 -vvv
DEBUG: Environment: {'implementation_name': 'cpython', 'implementation_version': '3.8.5', 'os_name': 'posix', 'platform_machine': 'x86_64', 'platform_release': '19.6.0', 'platform_system': 'Darwin', 'platform_version': 'Darwin Kernel Version 19.6.0: Sun Jul  5 00:43:10 PDT 2020; root:xnu-6153.141.1~9/RELEASE_X86_64', 'python_full_version': '3.8.5', 'platform_python_implementation': 'CPython', 'python_version': '3.8', 'sys_platform': 'darwin'}
DEBUG: Pip version: [20, 1, 1]
DEBUG: Downloading/building wheel for duplicity==0.8.14
DEBUG: ['/Users/rylanpolster/Desktop/venv/bin/python', '-m', 'pip', 'wheel', '--no-deps', '--disable-pip-version-check', '--wheel-dir', '/var/folders/lx/jw48rn1j0235pst2sg8qlgp00000gp/T/tmpubpcq7wz', '--index-url', 'https://pypi.org/simple', '--trusted-host', 'pypi.org', '--progress-bar=off', 'duplicity==0.8.14']
ERROR: Collecting duplicity==0.8.14
  Using cached duplicity-0.8.14.tar.gz (1.5 MB)
Building wheels for collected packages: duplicity
  Building wheel for duplicity (setup.py): started
  Building wheel for duplicity (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /Users/rylanpolster/Desktop/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/lx/jw48rn1j0235pst2sg8qlgp00000gp/T/pip-wheel-10ckpxot/duplicity/setup.py'"'"'; __file__='"'"'/private/var/folders/lx/jw48rn1j0235pst2sg8qlgp00000gp/T/pip-wheel-10ckpxot/duplicity/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/lx/jw48rn1j0235pst2sg8qlgp00000gp/T/pip-wheel-ktmuur69
       cwd: /private/var/folders/lx/jw48rn1j0235pst2sg8qlgp00000gp/T/pip-wheel-10ckpxot/duplicity/
  Complete output (189 lines):
  Unable to get SCM version: defaulting to 0.8.14
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.macosx-10.15-x86_64-3.8
  creating build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/tempdir.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/dup_threading.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/backend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/config.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/manifest.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/log.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/util.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/globmatch.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/__init__.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/diffdir.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/commandline.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/librsync.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/dup_time.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/gpg.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/file_naming.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/dup_main.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/asyncscheduler.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/gpginterface.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/robust.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/dup_collections.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/statistics.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/patchdir.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/errors.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/selection.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/progress.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/dup_temp.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/tarfile.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/lazy.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/filechunkio.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/path.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/cached_ops.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  creating build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/megabackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/pydrivebackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/imapbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/ssh_pexpect_backend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/par2backend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/multibackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/s3_boto_backend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/swiftbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/tahoebackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/giobackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/_boto_multi.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/localbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/adbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/sxbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/pcabackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/rclonebackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/_cf_pyrax.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/megav2backend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/__init__.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/mediafirebackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/jottacloudbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/ncftpbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/gdocsbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/cfbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/_cf_cloudfiles.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/_boto_single.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/ssh_paramiko_backend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/hsibackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/onedrivebackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/hubicbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/dpbxbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/s3_boto3_backend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/b2backend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/azurebackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/rsyncbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/lftpbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying duplicity/backends/webdavbackend.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  creating build/lib.macosx-10.15-x86_64-3.8/duplicity/backends/pyrax_identity
  copying duplicity/backends/pyrax_identity/__init__.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends/pyrax_identity
  copying duplicity/backends/pyrax_identity/hubic.py -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends/pyrax_identity
  creating build/lib.macosx-10.15-x86_64-3.8/testing
  copying testing/conftest.py -> build/lib.macosx-10.15-x86_64-3.8/testing
  copying testing/fix_unadorned_strings.py -> build/lib.macosx-10.15-x86_64-3.8/testing
  copying testing/find_unadorned_strings.py -> build/lib.macosx-10.15-x86_64-3.8/testing
  copying testing/test_code.py -> build/lib.macosx-10.15-x86_64-3.8/testing
  copying testing/__init__.py -> build/lib.macosx-10.15-x86_64-3.8/testing
  creating build/lib.macosx-10.15-x86_64-3.8/testing/functional
  copying testing/functional/test_verify.py -> build/lib.macosx-10.15-x86_64-3.8/testing/functional
  copying testing/functional/test_cleanup.py -> build/lib.macosx-10.15-x86_64-3.8/testing/functional
  copying testing/functional/__init__.py -> build/lib.macosx-10.15-x86_64-3.8/testing/functional
  copying testing/functional/test_selection.py -> build/lib.macosx-10.15-x86_64-3.8/testing/functional
  copying testing/functional/test_log.py -> build/lib.macosx-10.15-x86_64-3.8/testing/functional
  copying testing/functional/test_final.py -> build/lib.macosx-10.15-x86_64-3.8/testing/functional
  copying testing/functional/test_badupload.py -> build/lib.macosx-10.15-x86_64-3.8/testing/functional
  copying testing/functional/test_restart.py -> build/lib.macosx-10.15-x86_64-3.8/testing/functional
  copying testing/functional/test_replicate.py -> build/lib.macosx-10.15-x86_64-3.8/testing/functional
  copying testing/functional/test_rdiffdir.py -> build/lib.macosx-10.15-x86_64-3.8/testing/functional
  creating build/lib.macosx-10.15-x86_64-3.8/testing/overrides
  copying testing/overrides/gettext.py -> build/lib.macosx-10.15-x86_64-3.8/testing/overrides
  copying testing/overrides/__init__.py -> build/lib.macosx-10.15-x86_64-3.8/testing/overrides
  creating build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_backend.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_statistics.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_tempdir.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_dup_time.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_diffdir.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_gpginterface.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/__init__.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_selection.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_manifest.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_util.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_backend_instance.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_patchdir.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_dup_temp.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_gpg.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_file_naming.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_path.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_collections.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_lazy.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_globmatch.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  copying testing/unit/test_tarfile.py -> build/lib.macosx-10.15-x86_64-3.8/testing/unit
  running egg_info
  writing duplicity.egg-info/PKG-INFO
  writing dependency_links to duplicity.egg-info/dependency_links.txt
  writing requirements to duplicity.egg-info/requires.txt
  writing top-level names to duplicity.egg-info/top_level.txt
  reading manifest file 'duplicity.egg-info/SOURCES.txt'
  writing manifest file 'duplicity.egg-info/SOURCES.txt'
  copying duplicity/_librsyncmodule.c -> build/lib.macosx-10.15-x86_64-3.8/duplicity
  copying duplicity/backends/README -> build/lib.macosx-10.15-x86_64-3.8/duplicity/backends
  copying testing/run-tests -> build/lib.macosx-10.15-x86_64-3.8/testing
  copying testing/testfiles.tar.gz -> build/lib.macosx-10.15-x86_64-3.8/testing
  creating build/lib.macosx-10.15-x86_64-3.8/testing/docker
  copying testing/docker/.env -> build/lib.macosx-10.15-x86_64-3.8/testing/docker
  copying testing/docker/build-duplicity_test.sh -> build/lib.macosx-10.15-x86_64-3.8/testing/docker
  copying testing/docker/docker-compose.yml -> build/lib.macosx-10.15-x86_64-3.8/testing/docker
  copying testing/docker/id_rsa -> build/lib.macosx-10.15-x86_64-3.8/testing/docker
  copying testing/docker/id_rsa.pub -> build/lib.macosx-10.15-x86_64-3.8/testing/docker
  copying testing/docker/setup.sh -> build/lib.macosx-10.15-x86_64-3.8/testing/docker
  copying testing/docker/teardown.sh -> build/lib.macosx-10.15-x86_64-3.8/testing/docker
  creating build/lib.macosx-10.15-x86_64-3.8/testing/docker/duplicity_test
  copying testing/docker/duplicity_test/Dockerfile-18.04 -> build/lib.macosx-10.15-x86_64-3.8/testing/docker/duplicity_test
  copying testing/docker/duplicity_test/Dockerfile-18.10 -> build/lib.macosx-10.15-x86_64-3.8/testing/docker/duplicity_test
  copying testing/docker/duplicity_test/Dockerfile-19.04 -> build/lib.macosx-10.15-x86_64-3.8/testing/docker/duplicity_test
  copying testing/docker/duplicity_test/Dockerfile-19.10 -> build/lib.macosx-10.15-x86_64-3.8/testing/docker/duplicity_test
  copying testing/docker/duplicity_test/Dockerfile-20.04 -> build/lib.macosx-10.15-x86_64-3.8/testing/docker/duplicity_test
  creating build/lib.macosx-10.15-x86_64-3.8/testing/docker/ftp_server
  copying testing/docker/ftp_server/Dockerfile -> build/lib.macosx-10.15-x86_64-3.8/testing/docker/ftp_server
  copying testing/docker/ftp_server/pureftpd.passwd -> build/lib.macosx-10.15-x86_64-3.8/testing/docker/ftp_server
  creating build/lib.macosx-10.15-x86_64-3.8/testing/docker/ssh_server
  copying testing/docker/ssh_server/Dockerfile -> build/lib.macosx-10.15-x86_64-3.8/testing/docker/ssh_server
  creating build/lib.macosx-10.15-x86_64-3.8/testing/gnupg
  copying testing/gnupg/README -> build/lib.macosx-10.15-x86_64-3.8/testing/gnupg
  copying testing/gnupg/gpg-agent.conf -> build/lib.macosx-10.15-x86_64-3.8/testing/gnupg
  copying testing/gnupg/gpg.conf -> build/lib.macosx-10.15-x86_64-3.8/testing/gnupg
  copying testing/gnupg/pubring.gpg -> build/lib.macosx-10.15-x86_64-3.8/testing/gnupg
  copying testing/gnupg/secring.gpg -> build/lib.macosx-10.15-x86_64-3.8/testing/gnupg
  copying testing/gnupg/trustdb.gpg -> build/lib.macosx-10.15-x86_64-3.8/testing/gnupg
  creating build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/__init__.py -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/auto-ctrl-c-test.sh -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/backendtest.py -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/bug1526557.sh -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/bug1846678.sh -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/bug1860200.sh -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/manual-ctrl-c-test.sh -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/multibackend.json -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/multibackend.sh -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/rootfiles.tar.gz -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/roottest.py -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/run-coverage.sh -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/stdin_test.sh -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  copying testing/manual/test_config.py.tmpl -> build/lib.macosx-10.15-x86_64-3.8/testing/manual
  creating build/lib.macosx-10.15-x86_64-3.8/testing/overrides/bin
  copying testing/overrides/bin/hsi -> build/lib.macosx-10.15-x86_64-3.8/testing/overrides/bin
  copying testing/overrides/bin/lftp -> build/lib.macosx-10.15-x86_64-3.8/testing/overrides/bin
  copying testing/overrides/bin/ncftpget -> build/lib.macosx-10.15-x86_64-3.8/testing/overrides/bin
  copying testing/overrides/bin/ncftpls -> build/lib.macosx-10.15-x86_64-3.8/testing/overrides/bin
  copying testing/overrides/bin/ncftpput -> build/lib.macosx-10.15-x86_64-3.8/testing/overrides/bin
  copying testing/overrides/bin/tahoe -> build/lib.macosx-10.15-x86_64-3.8/testing/overrides/bin
  running build_ext
  building 'duplicity._librsync' extension
  creating build/temp.macosx-10.15-x86_64-3.8
  creating build/temp.macosx-10.15-x86_64-3.8/duplicity
  clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/include -I/usr/local/opt/[email protected]/include -I/usr/local/opt/sqlite/include -I/Users/rylanpolster/Desktop/venv/include -I/usr/local/opt/[email protected]/Frameworks/Python.framework/Versions/3.8/include/python3.8 -c duplicity/_librsyncmodule.c -o build/temp.macosx-10.15-x86_64-3.8/duplicity/_librsyncmodule.o
  duplicity/_librsyncmodule.c:28:10: fatal error: 'librsync.h' file not found
  #include <librsync.h>
           ^~~~~~~~~~~~
  1 error generated.
  error: command 'clang' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for duplicity
  Running setup.py clean for duplicity
Failed to build duplicity
ERROR: Failed to build one or more wheels

Error: Command '['/Users/rylanpolster/Desktop/venv/bin/python', '-m', 'pip', 'wheel', '--no-deps', '--disable-pip-version-check', '--wheel-dir', '/var/folders/lx/jw48rn1j0235pst2sg8qlgp00000gp/T/tmpubpcq7wz', '--index-url', 'https://pypi.org/simple', '--trusted-host', 'pypi.org', '--progress-bar=off', 'duplicity==0.8.14']' returned non-zero exit status 1.
<output here>

What you expected to happen

Show recursive dependencies for duplicity

Step-by-step reproduction instructions

pipgrip duplicity==0.8.14 -vvv

Note: I initially encountered this when using Homebrew's pipgrip but I have confirmed that the issue is present pipgrip from PyPI as well. The logs I posted above are from running pipgrip from PyPI in a virtual environment.

When running from Homebrew pipgrip the issue appears to be the same (librsync.h is not found) but with gcc instead of clang in the message. I can provide the output from running Homebrew's pipgrip as well if that would be helpful.

@Rylan12 Rylan12 added the bug Something isn't working label Aug 2, 2020
@ddelange
Copy link
Owner

ddelange commented Aug 2, 2020

Hey :)

This is an example of a library that depends on one (or more) non-python dependencies (https://github.com/henrysher/duplicity). There are more cases like that, where getting the lib to pip-install is quite the hassle. I'm afraid this is not an easy case to solve, as the user ideally has prior knowledge of this and makes sure those non-python dependencies are installed beforehand.

I've considered before to use the pypi api directly to get requires_dist, but that might pose problems with custom index-urls, and I remember reading somewhere you can't count on it being populated (correctly). Might be worth a shot though for edge cases like this...

In the meantime, I don't think there is a quick fix for this (like going hacky and checking if there's a duplicity Formula with some dependencies or so).

@Rylan12
Copy link
Author

Rylan12 commented Aug 2, 2020

That makes sense. From Homebrew's point of view, this isn't a big deal. Homebrew handles the error and displays a nicer message prompting the user to work manually instead. I guess in an ideal world, situations like these could be handled differently but I don't see a need to go down this path (at least from our point of view).

If I have time, I might be able to look into this more and open a PR to add some sort of checking that would get some of the edge cases, but I don't know when I'll have time to get around to it.

Thanks for looking at this, though!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants