-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
Symlink 7z when USE_SYSTEM_P7ZIP #43005
Symlink 7z when USE_SYSTEM_P7ZIP #43005
Conversation
36d9a72
to
3e1859e
Compare
3e1859e
to
191ffd6
Compare
This one may need @staticfloat to look at it. |
What's the usecase for this? When you run |
Hi Elliot, I do care about keeping a fixed environment, as I'm building Julia with Spack, meaning there is a very specific install of p7zip for Julia, in its own prefix dir, and this prefix is not in the PATH at runtime by default. Of course I can symlink 7z after Also for troubleshooting builds or development, it would not hurt to have the symlink already in the in-tree build |
Yeah, that totally makes sense. Thanks for giving the motivation so clearly! |
Thanks for the review! Should this be backported like #43000? It could be seen as a fix for a build issue |
@haampie have you tried this branch with your usecase to ensure that it works? If so, as long as CI is green, I think this is good to merge and to backport. |
I'll verify it works for me tomorrow! |
Works well for me! |
* Symlink 7z * Simplify Co-authored-by: Elliot Saba <staticfloat@gmail.com> Co-authored-by: Elliot Saba <staticfloat@gmail.com> (cherry picked from commit 5e2894b)
* Symlink 7z * Simplify Co-authored-by: Elliot Saba <staticfloat@gmail.com> Co-authored-by: Elliot Saba <staticfloat@gmail.com> (cherry picked from commit 5e2894b)
* Symlink 7z * Simplify Co-authored-by: Elliot Saba <staticfloat@gmail.com> Co-authored-by: Elliot Saba <staticfloat@gmail.com>
I had missed this change, but it seems problematic to me. Julia shouldn't install a file called In practical terms, I have to manually remove this link to build the Fedora package to avoid this. (BTW, I don't think it should have been backported at this stage as it's really a new feature, not a fix.) |
I missed this comment. You mean you're running |
Placing it in |
My concern is more theoretical: as a packager, I'm not supposed to install to system directories files whose name may conflict with other apps. Given that 7z is a popular app, it's totally possible that another package would have the same needs as Julia, and if both install a file to /usr/libexec we will have conflicts. |
* Symlink 7z * Simplify Co-authored-by: Elliot Saba <staticfloat@gmail.com> Co-authored-by: Elliot Saba <staticfloat@gmail.com>
* Symlink 7z * Simplify Co-authored-by: Elliot Saba <staticfloat@gmail.com> Co-authored-by: Elliot Saba <staticfloat@gmail.com>
It seems like a symlink to 7z was missing from
<julia prefix>/libexec/
upon install with system p7zip. Normally it's installed frombuild_bindir
, so this PR creates a symlink to system 7z in that build dir.In any case, it seems convenient to have a symlinked 7z like we symlink system libs, so that 7z doesn't have to be in the PATH when running julia.
I'm pretty sure this PR needs some improvement, I have no clue if
$(shell which 7z...)
is OK (in particular with$(EXE)
:D).I did not add code to follow symlinks like is done for shared libs (it seems resolve_path is intended for libraries)