-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Compile and distribute immutables along with Python3 #3939
Conversation
Your proposal sounds like a good idea. Synocommunity Flexget package requires an update itself, and so this dependency is probably a requirement for update too. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I incorporated my own code review.
But found general issues with compiled wheels.
@ymartin59 I fixed this to integrate immutables as compliled wheel. I analyzed the compiled wheels of all-supported archs on the PR and all arch specific compiled shared objects (*.so) have x86_64 in the name. Even these files have different size (and I assume the correct arch) they have a wrong name (IMO). example: I can analyze self compiled packages only (synocommunity.com is not reachable) but as far as I see this is the same with the working version of Python3 (3.6.8-9). So please @nbarrientos and @ymartin59 (or any one else) can you test whether Python3 and immutable of this PR work with non intel archs (other than x64 and x86)? |
@ymartin59 as Python 3.6.10 is not yet published I didn't increment SPK_REV. |
Thanks for the review.
Will generate a build with your patch for |
WFM.
Indeed the wrong arch is in the name of the shared object but it seems to be loaded just fine.
Here's the build in case you wanted to inspect it: http://cern.ch/nacho/srcpkg/python3_d72e6e94f61758904182d107347d4fcfc5a2e92b/ |
@nbarrientos Thanks for testing. This invalid file naming for shared objects is a concerned as far as we have reports wheels do not load properly when trying to run application packages over it. |
Thanks for merging this! Just a follow-up question for my own education. When can we expect to have an official build of Python 3.6.10-11 for |
@nbarrientos What applications are you running over Python 3.6.10. For details please refer #3944 |
I see, thanks for the info @ymartin59 :) I only run Flexget but installed standalone using a Python venv, not via Synocommunity packages. Flexget is supported on 3.6 and 3.7 and it's "meant to work" using 3.8. Happy help testing in the future if needed. Just ping me. For info (sorry for the off-topic) this should make upgrading Synocommunity's Flexget easier. |
Hi,
Not sure I'll be able to convince you that this is a good idea but it's worth a shot. Here I go.
I install Flexget on my Synology using a Python virtual environment. Unfortunately for me, recent versions of Flexget require
immutables
(viacontextvars
) which has C extensions. As I don't have any toolchain installed on the Synology and there are no precompiled wheels foraaarch64
when it's time to install this dependency viapip install
everything fails for obvious reasons.Having this library distributed by Python3 would make my life much easier. Creating a symlink from the Python virtual environment to
@appstore/python3/lib/python3.6/site-packages/immutables
is enough to makepip
happy and get the latest Flexget installed. Also, this might be useful is somebody gives a push to the Synocommunity Flexget package in the future.I'd totally understand if you didn't want this here but please don't delete the PR, just close it. It might be useful for my future me as a recipe for whenever I have to build Python3 again. I guess it's the price I have to pay for not having bought an Intel Synology where I could just run my stuff in Docker containers and forget about all this 😁.
The patch has been tested with a build for
arch-rtd1296
.https://cern.ch/nacho/srcpkg/python3/
Thanks for your time 🤞