borgbackup / homebrew-tap

borgbackup packages for macOS homebrew users
30 stars 8 forks source link

Pip error during installation #6

Closed fmdl closed 3 years ago

fmdl commented 3 years ago

Hi

During installation on fresh Apple M1 I have this error:

florentdelabarre@MacBook-Pro-de-Florent actidyn_120 % brew install borgbackup/tap/borgbackup-fuse
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/cask).
==> Updated Casks
Updated 3 casks.

==> Installing borgbackup-fuse from borgbackup/tap
==> Downloading https://files.pythonhosted.org/packages/8f/73/d35aaf5f650250756b40c1e718ee6a2d552700729476dee24c9837608e1b/llfuse-1.3.8.tar.gz
Already downloaded: /Users/florentdelabarre/Library/Caches/Homebrew/downloads/85410413ef7f9f091b78800f3429720b4391529ccc6cbf63b8202aebf76a2574--llfuse-1.3.8.tar.gz
==> Downloading https://github.com/borgbackup/borg/releases/download/1.1.14/borgbackup-1.1.14.tar.gz
Already downloaded: /Users/florentdelabarre/Library/Caches/Homebrew/downloads/228a955c550453a697132df97f32cbf73ce45810de55ac264eaa5ab634d90479--borgbackup-1.1.14.tar.gz
==> python3.9 -m venv /opt/homebrew/Cellar/borgbackup-fuse/1.1.14/libexec
==> /opt/homebrew/Cellar/borgbackup-fuse/1.1.14/libexec/bin/pip install -v --no-deps --no-binary :all: --no-user --ignore-installed /private/tmp/borgbackup-fuse--llfuse-20210217-9293-1id7aci/llfuse-1.3.8
Last 15 lines from /Users/florentdelabarre/Library/Logs/Homebrew/borgbackup-fuse/02.pip:
  Found link https://files.pythonhosted.org/packages/03/41/6da553f689d530bc2c337d2c496a40dc9c0fdc6481e5df1f3ee3b8574479/pip-20.3.tar.gz#sha256=9ae7ca6656eac22d2a9b49d024fc24e00f68f4c4d4db673d2d9b525c3dea6e0e (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3
  Found link https://files.pythonhosted.org/packages/ab/11/2dc62c5263d9eb322f2f028f7b56cd9d096bb8988fcf82d65fa2e4057afe/pip-20.3.1-py2.py3-none-any.whl#sha256=425e79b20939abbffa7633a91151a882aedc77564d9313e3584eb0416c28c558 (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.1
  Found link https://files.pythonhosted.org/packages/cb/5f/ae1eb8bda1cde4952bd12e468ab8a254c345a0189402bf1421457577f4f3/pip-20.3.1.tar.gz#sha256=43f7d3811f05db95809d39515a5111dd05994965d870178a4fe10d5482f9d2e2 (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.1
  Skipping link: yanked for reason: <none given>: https://files.pythonhosted.org/packages/3d/0c/01014c0442830eb38d6baef0932fdcb389279ce74295350ecb9fe09e048a/pip-20.3.2-py2.py3-none-any.whl#sha256=8d779b6a85770bc5f624b5c8d4d922ea2e3cd9ce6ee92aa260f12a9f072477bc (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*)
  Skipping link: yanked for reason: <none given>: https://files.pythonhosted.org/packages/51/63/86e147c44335b03055e58a27c791d94fff4baaf08d67852f925ab9b90240/pip-20.3.2.tar.gz#sha256=aa1516c1c8f6f634919cbd8a58fc81432b0fa96f421a97d05a205ee86b07c43d (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*)
  Found link https://files.pythonhosted.org/packages/54/eb/4a3642e971f404d69d4f6fa3885559d67562801b99d7592487f1ecc4e017/pip-20.3.3-py2.py3-none-any.whl#sha256=fab098c8a1758295dd9f57413c199f23571e8fde6cc39c22c78c961b4ac6286d (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.3
  Found link https://files.pythonhosted.org/packages/ca/1e/d91d7aae44d00cd5001957a1473e4e4b7d1d0f072d1af7c34b5899c9ccdf/pip-20.3.3.tar.gz#sha256=79c1ac8a9dccbec8752761cb5a2df833224263ca661477a2a9ed03ddf4e0e3ba (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.3
  Found link https://files.pythonhosted.org/packages/27/79/8a850fe3496446ff0d584327ae44e7500daf6764ca1a382d2d02789accf7/pip-20.3.4-py2.py3-none-any.whl#sha256=217ae5161a0e08c0fb873858806e3478c9775caffce5168b50ec885e358c199d (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.4
  Found link https://files.pythonhosted.org/packages/53/7f/55721ad0501a9076dbc354cc8c63ffc2d6f1ef360f49ad0fbcce19d68538/pip-20.3.4.tar.gz#sha256=6773934e5f5fc3eaa8c5a44949b5b924fc122daa0a8aa9f80c835b4ca2a543fc (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.4
  Found link https://files.pythonhosted.org/packages/de/47/58b9f3e6f611dfd17fb8bd9ed3e6f93b7ee662fb85bdfee3565e8979ddf7/pip-21.0-py3-none-any.whl#sha256=cf2410eedf8735fd842e0fecd4117ca79025d7fe7c161e32f8640ed6ebe5ecb9 (from https://pypi.org/simple/pip/) (requires-python:>=3.6), version: 21.0
  Found link https://files.pythonhosted.org/packages/9e/24/bc928987f35dd0167f21b13a1777c21b9c5917c9894cff93f1c1a6cb8f3b/pip-21.0.tar.gz#sha256=b330cf6467afd5d15f4c1c56f5c95e56a2bfb941c869bed4c1aa517bcb16de25 (from https://pypi.org/simple/pip/) (requires-python:>=3.6), version: 21.0
  Found link https://files.pythonhosted.org/packages/fe/ef/60d7ba03b5c442309ef42e7d69959f73aacccd0d86008362a681c4698e83/pip-21.0.1-py3-none-any.whl#sha256=37fd50e056e2aed635dec96594606f0286640489b0db0ce7607f7e51890372d5 (from https://pypi.org/simple/pip/) (requires-python:>=3.6), version: 21.0.1
  Found link https://files.pythonhosted.org/packages/b7/2d/ad02de84a4c9fd3b1958dc9fb72764de1aa2605a9d7e943837be6ad82337/pip-21.0.1.tar.gz#sha256=99bbde183ec5ec037318e774b0d8ae0a64352fe53b2c7fd630be1d07e94f41e5 (from https://pypi.org/simple/pip/) (requires-python:>=3.6), version: 21.0.1
Given no hashes to check 161 links for project 'pip': discarding no candidates
Removed build tracker: '/private/tmp/pip-req-tracker-yigmx59b'

Do not report this issue to Homebrew/brew or Homebrew/core!

Regards

m3nu commented 3 years ago

Updated both Borg and llfuse to their latest version. Maybe this helps.

Else the culprit may be llfuse. Will this work? pip3 install llfuse

(Not reproducible on Intel macOS)

ThomasWaldmann commented 3 years ago

Also there is llfuse 1.4.1 which is a bit better with error feedback during pip install if something goes wrong.

m3nu commented 3 years ago

Also there is llfuse 1.4.1 which is a bit better with error feedback during pip install if something goes wrong.

Already updated the Formula to use llfuse 1.4.1 and Borg 1.1.15 yesterday. Maybe this solves OP's issue.

fmdl commented 3 years ago

I have the same issue. but pip3 install llfuse works

florentdelabarre@MacBook-Pro-de-Florent actidyn_120 % brew install borgbackup/tap/borgbackup-fuse
==> Installing borgbackup-fuse from borgbackup/tap
==> Downloading https://files.pythonhosted.org/packages/b1/d4/44443fbaac6d5b878da99e7c0948ee93c7934fa3b00e48c5363823b583d0/llfuse-1.4.1.tar.gz
Already downloaded: /Users/florentdelabarre/Library/Caches/Homebrew/downloads/0266b7b5877238b28ca3a275d775c5fcb1128a2bc9200013c7c2fe752e4d0451--llfuse-1.4.1.tar.gz
==> Downloading https://github.com/borgbackup/borg/releases/download/1.1.15/borgbackup-1.1.15.tar.gz
Already downloaded: /Users/florentdelabarre/Library/Caches/Homebrew/downloads/2a8573722bccfeedb624eb4c431af9aa821fa6ae7429b4516c3b6edfad44ba1e--borgbackup-1.1.15.tar.gz
==> python3.9 -m venv /opt/homebrew/Cellar/borgbackup-fuse/1.1.15/libexec
==> /opt/homebrew/Cellar/borgbackup-fuse/1.1.15/libexec/bin/pip install -v --no-deps --no-binary :all: --no-user --ignore-installed /private/tmp/borgbackup-fuse--llfuse-20210218-2538-137su1e/llfuse-1.4.1
Last 15 lines from /Users/florentdelabarre/Library/Logs/Homebrew/borgbackup-fuse/02.pip:
  Found link https://files.pythonhosted.org/packages/03/41/6da553f689d530bc2c337d2c496a40dc9c0fdc6481e5df1f3ee3b8574479/pip-20.3.tar.gz#sha256=9ae7ca6656eac22d2a9b49d024fc24e00f68f4c4d4db673d2d9b525c3dea6e0e (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3
  Found link https://files.pythonhosted.org/packages/ab/11/2dc62c5263d9eb322f2f028f7b56cd9d096bb8988fcf82d65fa2e4057afe/pip-20.3.1-py2.py3-none-any.whl#sha256=425e79b20939abbffa7633a91151a882aedc77564d9313e3584eb0416c28c558 (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.1
  Found link https://files.pythonhosted.org/packages/cb/5f/ae1eb8bda1cde4952bd12e468ab8a254c345a0189402bf1421457577f4f3/pip-20.3.1.tar.gz#sha256=43f7d3811f05db95809d39515a5111dd05994965d870178a4fe10d5482f9d2e2 (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.1
  Skipping link: yanked for reason: <none given>: https://files.pythonhosted.org/packages/3d/0c/01014c0442830eb38d6baef0932fdcb389279ce74295350ecb9fe09e048a/pip-20.3.2-py2.py3-none-any.whl#sha256=8d779b6a85770bc5f624b5c8d4d922ea2e3cd9ce6ee92aa260f12a9f072477bc (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*)
  Skipping link: yanked for reason: <none given>: https://files.pythonhosted.org/packages/51/63/86e147c44335b03055e58a27c791d94fff4baaf08d67852f925ab9b90240/pip-20.3.2.tar.gz#sha256=aa1516c1c8f6f634919cbd8a58fc81432b0fa96f421a97d05a205ee86b07c43d (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*)
  Found link https://files.pythonhosted.org/packages/54/eb/4a3642e971f404d69d4f6fa3885559d67562801b99d7592487f1ecc4e017/pip-20.3.3-py2.py3-none-any.whl#sha256=fab098c8a1758295dd9f57413c199f23571e8fde6cc39c22c78c961b4ac6286d (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.3
  Found link https://files.pythonhosted.org/packages/ca/1e/d91d7aae44d00cd5001957a1473e4e4b7d1d0f072d1af7c34b5899c9ccdf/pip-20.3.3.tar.gz#sha256=79c1ac8a9dccbec8752761cb5a2df833224263ca661477a2a9ed03ddf4e0e3ba (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.3
  Found link https://files.pythonhosted.org/packages/27/79/8a850fe3496446ff0d584327ae44e7500daf6764ca1a382d2d02789accf7/pip-20.3.4-py2.py3-none-any.whl#sha256=217ae5161a0e08c0fb873858806e3478c9775caffce5168b50ec885e358c199d (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.4
  Found link https://files.pythonhosted.org/packages/53/7f/55721ad0501a9076dbc354cc8c63ffc2d6f1ef360f49ad0fbcce19d68538/pip-20.3.4.tar.gz#sha256=6773934e5f5fc3eaa8c5a44949b5b924fc122daa0a8aa9f80c835b4ca2a543fc (from https://pypi.org/simple/pip/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*), version: 20.3.4
  Found link https://files.pythonhosted.org/packages/de/47/58b9f3e6f611dfd17fb8bd9ed3e6f93b7ee662fb85bdfee3565e8979ddf7/pip-21.0-py3-none-any.whl#sha256=cf2410eedf8735fd842e0fecd4117ca79025d7fe7c161e32f8640ed6ebe5ecb9 (from https://pypi.org/simple/pip/) (requires-python:>=3.6), version: 21.0
  Found link https://files.pythonhosted.org/packages/9e/24/bc928987f35dd0167f21b13a1777c21b9c5917c9894cff93f1c1a6cb8f3b/pip-21.0.tar.gz#sha256=b330cf6467afd5d15f4c1c56f5c95e56a2bfb941c869bed4c1aa517bcb16de25 (from https://pypi.org/simple/pip/) (requires-python:>=3.6), version: 21.0
  Found link https://files.pythonhosted.org/packages/fe/ef/60d7ba03b5c442309ef42e7d69959f73aacccd0d86008362a681c4698e83/pip-21.0.1-py3-none-any.whl#sha256=37fd50e056e2aed635dec96594606f0286640489b0db0ce7607f7e51890372d5 (from https://pypi.org/simple/pip/) (requires-python:>=3.6), version: 21.0.1
  Found link https://files.pythonhosted.org/packages/b7/2d/ad02de84a4c9fd3b1958dc9fb72764de1aa2605a9d7e943837be6ad82337/pip-21.0.1.tar.gz#sha256=99bbde183ec5ec037318e774b0d8ae0a64352fe53b2c7fd630be1d07e94f41e5 (from https://pypi.org/simple/pip/) (requires-python:>=3.6), version: 21.0.1
Given no hashes to check 161 links for project 'pip': discarding no candidates
Removed build tracker: '/private/tmp/pip-req-tracker-9vs_v75n'

Do not report this issue to Homebrew/brew or Homebrew/core!
fmdl commented 3 years ago

Please find pip log 02.pip.zip

m3nu commented 3 years ago

Based on the log, you are missing FUSE headers?

src/llfuse.c:609:10: fatal error: 'fuse_opt.h' file not found

So instead of using brew install --cask osxfuse, you may need to download macFUSE and install that? Osxfuse that Homebrew hosts doesn't work on M1.

I'll remove the dependency from our formula for such cases.

Related for M1: https://github.com/osxfuse/osxfuse/issues/754

fmdl commented 3 years ago

Il have install installed macFuse (and use brew install --cask osxfuse)

m3nu commented 3 years ago

Never mind. I was able to update our formula to use macFUSE. Didn't realize that pgk-config is set there. Can you verify the fix? Steps would be:

$ brew untap borgbackup/tap
$ brew install --cask macfuse
$ brew install borgbackup/tap/borgbackup-fuse
StendWood commented 3 years ago

Never mind. I was able to update our formula to use macFUSE. Didn't realize that pgk-config is set there. Can you verify the fix? Steps would be:

$ brew untap borgbackup/tap
$ brew install --cask macfuse
$ brew install borgbackup/tap/borgbackup-fuse

It worked for me, Thank you

fmdl commented 3 years ago

It is better, but now /opt/homebrew/Cellar/borgbackup-fuse/1.1.15/libexec/bin/pip install -v --no-deps --no-binary :all: --no-user --ignore-installed /private/tmp/borgbackup-fuse--llfuse-20210218-24037-4ihyzf/llfuse-1.4.1 --> works but /opt/homebrew/Cellar/borgbackup-fuse/1.1.15/libexec/bin/pip install -v --no-deps --no-binary :all: --no-user --ignore-installed /private/tmp/borgbackup-fuse-20210218-24037-f5umjt/borgbackup-1.1.15 --> fail

Processing /private/tmp/borgbackup-fuse-20210218-22453-lzrmnp/borgbackup-1.1.15
  Created temporary directory: /private/tmp/pip-req-build-h64x_dv2
  Added file:///private/tmp/borgbackup-fuse-20210218-22453-lzrmnp/borgbackup-1.1.15 to build tracker '/private/tmp/pip-req-tracker-kg94vpq3'
    Running setup.py (path:/private/tmp/pip-req-build-h64x_dv2/setup.py) egg_info for package from file:///private/tmp/borgbackup-fuse-20210218-22453-lzrmnp/borgbackup-1.1.15
    Created temporary directory: /private/tmp/pip-pip-egg-info-0uoibilw
    Running command python setup.py egg_info
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/tmp/pip-req-build-h64x_dv2/setup.py", line 176, in <module>
        raise Exception('Unable to find OpenSSL >= 1.0 headers. (Looked here: {})'.format(', '.join(possible_openssl_prefixes)))
    Exception: Unable to find OpenSSL >= 1.0 headers. (Looked here: /usr, /usr/local, /usr/local/opt/openssl, /usr/local/ssl, /usr/local/openssl, /usr/local/borg, /opt/local, /opt/pkg)
WARNING: Discarding file:///private/tmp/borgbackup-fuse-20210218-22453-lzrmnp/borgbackup-1.1.15. Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

03.pip.zip

I have try brew install openssl, but it is the same issue.

Any idea ?

m3nu commented 3 years ago

Yes. Known issue. You can try the attached formula, pointing to openssl. To install using this formula:

brew install path/to/borgbackup-fuse.rb

borgbackup-fuse.rb.zip

m3nu commented 3 years ago

Do you have a symlink on /usr/local/opt/openssl? That's where Borg will look. It's not always there.

fmdl commented 3 years ago

with brew on arm64 : openssl is here : "/opt/homebrew/opt/openssl@1.1/" I have modified the file, and now it works perfectly. many thank borgbackup-fuse.rb.zip

m3nu commented 3 years ago

Then let's use this one for the final formula. Should work for Intel and Arm.

ENV.append_path "BORG_OPENSSL_PREFIX", "#{HOMEBREW_PREFIX}/opt/openssl@1.1/"

Thanks for helping test!

fmdl commented 3 years ago

@m3nu HOMEBREW_PREFIX works !

aljungberg commented 3 years ago

I couldn't get this to install despite the above discussion looking spot on. I also got the Given no hashes to check 161 links for project 'pip': discarding no candidates error.

In the end, I installed macfuse by hand using their installer instead of the cask. I noticed the pgk-config file fuse.pc was installed into /usr/local/lib/pkgconfig/fuse.pc, so I had to modify the formula to ensure it could be found:

diff --git a/Formula/borgbackup-fuse.rb b/Formula/borgbackup-fuse.rb
index 0605065..ad4c602 100644
--- a/Formula/borgbackup-fuse.rb
+++ b/Formula/borgbackup-fuse.rb
@@ -12,7 +12,7 @@ class OsxfuseRequirement < Requirement

   env do
     ENV.append_path "PKG_CONFIG_PATH",
-                    "#{HOMEBREW_PREFIX}/lib/pkgconfig:#{HOMEBREW_PREFIX}/opt/openssl@1.1/lib/pkgconfig"
+                    "/usr/local/lib/pkgconfig:#{HOMEBREW_PREFIX}/lib/pkgconfig:#{HOMEBREW_PREFIX}/opt/openssl@1.1/lib/pkgconfig"
     ENV.append_path "BORG_OPENSSL_PREFIX", "#{HOMEBREW_PREFIX}/opt/openssl@1.1/"

     unless HOMEBREW_PREFIX.to_s == "/usr/local"

(I just added /usr/local/lib/pkgconfig to PKG_CONFIG_PATH.)

Without this change, I think the formula was looking in /opt/homebrew/ for the pkg-config, but the installer seems to put the file under /usr/local. Maybe the cask formula gets this right or symlinks the fuse.pc file but it didn't for me.

ThomasWaldmann commented 3 years ago

Reopening this, so adjustments are not forgotten.

@m3nu can you check / fix, please?

m3nu commented 3 years ago

Yeah, lets add the other path for compatibility. Wont hurt to have the same path twice in some cases.

Did you try installing brew install macfuse? That way the pkgconfig should end up in the right place.

m3nu commented 3 years ago

Merged this change, @aljungberg. Please let us know if the formula now works under both scenarios (macFUSE installed manually or via Homebrew) on M1.

aljungberg commented 3 years ago

Did you try installing brew install macfuse? That way the pkgconfig should end up in the right place.

Yep, I did brew install macfuse and then later brew reinstall macfuse, but I suspect this formula was silently failing for some reason. When I ran the installer by hand there was a whole process about enabling system extensions from third parties and a number of reboots, whereas brew install just finished without message.

Please let us know if the formula now works under both scenarios (macFUSE installed manually or via Homebrew) on M1.

I can't say if it works when installing via homebrew since that doesn't work for me, but I can confirm the formula builds and installs fine with my manually installed macFUSE now. Thanks for working on this!