Closed zner0L closed 1 month ago
https://docs.tweasel.org/usage/setup/#installing-the-libraries-and-tools already says that you need to install clang. That needs to be removed after this is merged.
Um, I can't reproduce the original problem anymore. On a fresh Ubuntu 23.04 (without clang), npm i appstraction
works just fine for me, and installs pymobiledevice3 successfully:
I tested it on a fresh Ubuntu.
Have you also tested that the problem occurs without your fix?
sudo npm i -g tweasel-cli
(as in my original report) also works fine.
The problem was caused by pyliblzfse. I would guess that whatever depended on that before, now doesn't anymore. In the appstraction venv on my host, I have a lib/python3.11/site-packages/pyliblzfse-0.4.1.dist-info
folder. In the VM, there is no pyliblzfse*
folder.
It seems like you are right. This is the dependency tree of my old venv:
~/Library/Caches/autopy/venv/appstraction $ bin/pipdeptree -r -p pyliblzfse
pyliblzfse==0.4.1
└── pyimg4==0.7 [requires: pyliblzfse>=0.4.1,<0.5.0]
├── ipsw-parser==1.1.5 [requires: pyimg4>=0.7]
│ └── pymobiledevice3==1.42.4 [requires: ipsw-parser>=1.1.2]
└── pymobiledevice3==1.42.4 [requires: pyimg4>=0.7]
Showing that the culprit is pyimg4
in version 0.7. They released a new version last week, which made pyliblzfse optional. And since the requirement is >=0.7
, the new version is chosen. Strickly speaking, this would still require us to include clang
in the dependencies, though pymobiledevice3 already released a new version which increases their version requirement. However, they also released a new major version recently, and I can not test whether that breaks anything for us right now.
Uses https://pypi.org/project/libclang/ to install clang binding, so that users don’t need a complete build env to install all dependencies. I tested it on a fresh Ubuntu.