-
Notifications
You must be signed in to change notification settings - Fork 76
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
calibre-web - compiler and header files only when needed #3498
Conversation
Calibre-Web (@OzzieIsaacs do you have an opinion?) in its install instructions currently asks everyone to install
If IIAB takes a different path, this might hypothetically possibly create install headaches in future? 🤔 ASIDE: has this PR been test-installed on 32-bit and/or 64-bit Raspberry Pi OS? Addendum: |
New versions of calibre-web tend towards adding more dependencies, which possible need a compiler installed. Following the "recommended" path can cause problems just as much as following your own path. From my point of view, it is not foreseeable which will cause more trouble. Both version will need manual rework from time to time. |
We faced that as well, thankfully now solved with the |
@OzzieIsaacs The pywheel problem with rust has be solved upstream and compiling cryptography is no longer needed. See the summation at #3496 (comment) now RasPiOS has the 'netifaces' wheel for python3.9 through pywheels for 32bit or pypi for 64bit so no compiling is required but no wheel is available for python3.10 or greater so the python package needs to be compiled. The netifaces looks to be abandoned and is pulled in via some other dependency within requirements.txt as the package in not declared in it. This whole '--break-system-packages' change in python3.11 is going to cause a whole pile of hurt across the python ecosystem when |
You tested that path when you were working up #3496 and noted that Ubuntu 22.04 (python3.10) needed to have a compiler present, for RasPiOS (python3.9) the compiler is not required due to having the compiled wheel available and I pointed out where those wheels originate from. |
Understood. Let's (someone in the coming week or so) also test this PR on 64-bit Raspberry Pi OS at minimum, prior to merging. (A lot of school communities using Raspberry Pi love & depend on Calibre-Web, and don't want any risk here. Finally validation on 32-bit Raspberry Pi and Mint 21 if there is time, but if nec that can happen after merging.) |
Tested on 64-bit Raspberry Pi OS. There are small in-line doc flaws I'll fix after merged. |
Noted reference to the python3.11 change in pip behavior. |
Fixes bug:
Installs a smaller subset of what build-essential installs
Description of changes proposed in this pull request:
install only what is needed to compile 'netifaces' on python3.10 or greater
Smoke-tested on which OS or OS's:
22.04 VM
2 passes to get the dependencies correct
On a side note is upstream even aware the project is uninstallable via pip on U-22.04 without having the required compilers installed?