-
-
Notifications
You must be signed in to change notification settings - Fork 1
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
on loading clhs-use-local.el, debugger entered due to inability to make symlinks #10
Comments
Hello, Thank you very much for reporting this issue! Full disclosure: I never use Windows, do not have access to a Windows machine, don't really know anything about Windows, and generally do not care about Windows. HOWEVER, my CLHS ASDF wrapper is certainly intended to work at least on the 3 major platforms (Linux, Mac OS X and Windows), and I will always make a best effort to ensure that that's the case. I'm pretty sure that Windows 10 does still support some concept analogous to symlinks, such as Windows "shortcuts", and I'm confident that Emacs is able to make Windows create such symlink analogues in general. So in order for me to able to fix this issue, I would need you or someone else to figure out why the symlink creation fails (possibly according to some peculiarities of your setup), and what would make it work more reliably. You may like to use the emacs symlink creation function interactively and do some tests to see if you can create symlinks in general. I think you should also attempt to "manually" create a symlink in your Quicklisp directory, maybe you could get a more useful backtrace or some sort of insight. I could eventually try to have a Windows setup in a VM or something like that, but I'm very busy and am not interested in doing this soon. So I need help to be able to resolve this issue. |
I appreciate your response and also understand your sentiments w.r.t.
Windows. :-)
In Windows 10, Normal users do not have privileges enough to create
symbolic links, even using the mklink windows command or make-symbolic-link
in emacs.
Running emacs with the "Run as Administrator" command and then evaluating
(load "C:\\home\\quicklisp\\clhs-use-local.el" t)
results in the proper symlink being created.
However, adding that load expression to the .emacs file and then running as
a normal user still results in the following:
Warning (initialization): An error occurred while loading ‘c:/home/.emacs’:
File error: Making symbolic link, Operation not permitted,
dists/quicklisp/software/clhs-0.6.3/HyperSpec-7-0/HyperSpec/,
c:/home/quicklisp/HyperSpec
The Windows 10 Creator Update will supposedly give all users the ability to
create symlinks when "Developer Mode" is enabled -
https://blogs.windows.com/buildingapps/2016/12/02/symlinks-windows-10/
(Enabling Developer mode on the current generally available Windows 10
build does not.)
Till then, users will have to keep running emacs with elevated
Administrator privileges, unless perhaps if clhs-use-local.el changes to
not trying to create a symlink if it already exists (created once, by
running with elevated privileges)
thanks for the good work!
…On 25 April 2017 at 22:26, Jean-Philippe Paradis ***@***.***> wrote:
Hello,
Thank you very much for reporting this issue!
Full disclosure: I never use Windows, do not have access to a Windows
machine, don't really know anything about Windows, and *generally* do not
care about Windows.
*HOWEVER*, my CLHS ASDF wrapper is certainly intended to work on the 3
major platforms (Linux, Mac OS X and Windows), and I will always make a *best
effort* to ensure that that's the case.
I'm pretty sure that Windows 10 does still support some concept analogous
to symlinks, such as Windows "shortcuts", and I'm confident that Emacs is
able to make Windows create such symlink analogues in general. So in order
for me to able to fix this issue, I would need you or someone else to
figure out why the symlink creation fails (possibly according to some
peculiarities of your setup), and what would make it work more reliably.
You may like to use the emacs symlink creation function interactively and
do some tests to see if you can create symlinks in general. I think you
should also attempt to "manually" create a symlink in your Quicklisp
directory, maybe you could get a more useful backtrace.
I could eventually try to have a Windows setup in a VM or something like
that, but I'm very busy and am not interested in doing this soon. So I need
help to be able to resolve this issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#10 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAHK9ZV8P8MAkig8fJ52PMiM1SQswE7yks5rziXLgaJpZM4NHcHW>
.
|
Thank you very much for this information! Very informative. The right thing for me to do seems to be to:
I'm pretty busy right now, but I'll classify this as high priority so I should be able to do this soon. I'll be relying on you to test the update to see if it works. Stay tuned. :) |
Ok! So here's a first release candidate: http://tarballs.hexstreamsoft.com/tmp/clhs_0.6.4-rc1.tar.gz Put this somewhere where asdf can find it, such as in the (Here's the (preliminary) diff, for the curious: https://github.com/Hexstream/clhs/compare/tmp_0.6.4-rc1) btw upon doing the
If everything works, I'll make a real 0.6.4 release, else I might make another release candidate, etc. |
NOTE: I tried the steps you gave above (on top of the 0.6.3 install) but it did not work, and hence I chose to remove 0.6.3 completely before trying to install 0.6.4-rc1. (Copying steps sent earlier over email) I followed the following steps: (ql:uninstall clhs) to remove the existing 0.6.3 remove the line to load clhs-use-local.el from the .emacs file. un-tar 0.6.4-rc1.tar.gz into local-projects inside quicklisp. shutdown emacs. start emacs without elevated privileges. ;; Loading file C:\home.clisprc.lisp ... ;; Loading file C:\home\quicklisp\local-projects\clhs_0.6.4-rc1\clhs.asd ... clhs-use-local.el doesn't seem to have been installed. Please run (clhs:print-emacs-setup-form) for details (That command will also tell you how to set ;; Loaded file C:\Users\Aalhad\AppData\Local\common-lisp\cache\clisp-2.49-win-x86\C\home\quicklisp\local-projects\clhs_0.6.4-rc1\main.fas [ Quicklisp directory: "C:\home\quicklisp" (exists) clhs-use-local.el was not found in your quicklisp directory. Please run (clhs:install-clhs-use-local) in the (Common Lisp) REPL. Then, run (clhs:print-emacs-setup-form) again for instructions for step 2. [3]> (clhs:install-clhs-use-local) T [ Quicklisp directory: "C:\home\quicklisp" (exists) (clhs-use-local.el was found in your quicklisp directory. Make Emacs evaluate this form to browse the CLHS locally: (load "C:\home\quicklisp\clhs-use-local.el" t) Use C-c C-d h make-instance RET to test if the change was successful. Put the form in your ~/.emacs to persist the change for future sessions. The README file has some further information, [5]> M-x eval-expression: (load "C:\home\quicklisp\clhs-use-local.el" t) As expected, this gives us the message: Would you happen to be using Windows 10? Then you may need administrator privileges to be able to create symlinks. Please either run emacs as an administrator and then load clhs-use-local.el, or manually create the symlink with mklink in an administrator-mode console per the above parameters. This needs to be done only once, you should be able to use the CLHS wrapper as a normal user subsequently. (TODO: Detect Windows 10 instead of unconditionally displaying the above note about Windows 10.) Then restart emacs with administrator privileges and M-x eval-expression: (load "C:\home\quicklisp\clhs-use-local.el" t) This results/evaluates in a T. Looking at the directory to see if hyperlink was created: A hyperlink has been created, but its target is a non-existent directory! Try to test as suggested by C-c C-d h make-instance RET Then restart emacs without elevated privileges. [1]> (asdf:load-system '#:clhs) ;; Loading file C:\home\quicklisp\local-projects\clhs_0.6.4-rc1\clhs.asd ... Try to load up clhs-use-local.el M-x eval-expression: (load "C:\home\quicklisp\clhs-use-local.el" t) This gives us Would you happen to be using Windows 10? Then you may need administrator privileges to be able to create symlinks. Please either run emacs as an administrator and then load clhs-use-local.el, or manually create the symlink with mklink in an administrator-mode console per the above parameters. This needs to be done only once, you should be able to use the CLHS wrapper as a normal user subsequently. (TODO: Detect Windows 10 instead of unconditionally displaying the above note about Windows 10.) Created the symlink manually as administrator Started emacs as a normal user, and tried to load clhs-use-local.el: Sorry, unable to create symlink named "c:/home/quicklisp/HyperSpec" pointing to "../HyperSpec-7-0/HyperSpec/". Would you happen to be using Windows 10? Then you may need administrator privileges to be able to create symlinks. Please either run emacs as an administrator and then load clhs-use-local.el, or manually create the symlink with mklink in an administrator-mode console per the above parameters. This needs to be done only once, you should be able to use the CLHS wrapper as a normal user subsequently. (TODO: Detect Windows 10 instead of unconditionally displaying the above note about Windows 10.) |
I'm confused. Did you see issue #11 yet? I @mentioned you there, thinking that it would send you an email notification, but maybe I should also have linked you to it from an email reply to make sure. (edit: You can review and update your notification settings here.) Also, you REALLY need to learn how to use triple backquotes blockquoting. ( |
Hello and thank you! I found this after trying to fix the fact that the symlink could not be created by version 0.6.3 with w32-symlinks.el, which just resulted in breaking The download link you provided was down but I could get it here. It succeeds in enabling local lookup :) Executing And, last and least: I assumed that |
Hello and thank you!
Yeah, sorry, that had been wiped out by a server upgrade. I restored it now.
Hooray!
Then I guess I should test to see if the symlink already exists and points to the right place and not try to create it in that case... Unfortunately, I'm doing a big push to finish and release 10 new libraries right now, so I'll probably look into making a second release candidate only after that's done. Thank you for your patience. edit: Actually, I'm not sure I'll have time to do this in 2020, but definitely Q1 2021 at the latest. ;P |
I am in no hurry, I'm just glad it works. The error message when starting Emacs is not a problem for me, I just thought it would make sense to give some feedback so you know that your efforts were both effective and appreciated. |
Ah, great! I thought this was a "blocking" error message. Is it just an
error message in the echo area?
If this is such an improvement, maybe I should just release version 0.6.4
like this and see about fixing the rest in 0.6.5...
Thank you for the kind words of encouragement!
|
Installation does not work when using with quicklisp on windows 10
[I edited your comment to use triple-backtick code block quoting instead of single-backtick quoting. Much better...]
The text was updated successfully, but these errors were encountered: