Could anyone help me figure out why I’m getting permission denied
when I run raco setup
? raco setup: --- installing man pages ---
raco setup: --- building documentation ---
raco setup: docs failure: make-directory: cannot make directory
path: /usr/share/doc/racket/
system error: Permission denied; errno=13
raco setup: --- installing collections ---
raco setup: --- post-installing collections ---
raco setup: --- checking package dependencies ---
raco setup: --- summary of errors ---
raco setup: error: during launcher setup for <pkgs>/scribble-lib/scribble
raco setup: delete-file: cannot delete file
raco setup: path: /usr/bin/scribble
raco setup: system error: Permission denied; errno=13
@brendan hmmm, that’s not right at all. Could you share more info about your setup and how you installed racket?
Sure
I installed racket from the AUR using the package manager pacaur
I did raco pkg install
on this directory previously, and after changing some stuff did raco setup
Actually I did raco setup --check-pkg-deps --doc-index --pkgs
which is probably relevant, since the error is happening when I build the docs
What happens if you run raco setup <name-of-directory-you-installed>
I just get collection-path: collection not found
collection: "hackett-doc"
in collection directories:
/home/brendan/.racket/6.11/collects
/usr/share/racket/collects
... [167 additional linked and package directories]
And when I just do raco setup --pkgs hackett-doc
I get the same permission denied bit
There might be an issue with how the AUR is setup. Can you reproduce the issue if you install racket using the Linux installer script at http://download.racket-lang.org\|download.racket-lang.org?
Let me see
I’m a little confused about how this installer works
It seems like it installs racket stuff not in /usr/bin
or /bin
Which is awkward
It depends on if you use an in-place or unix-style install
Unix style puts stuff into /usr/bin, /usr/lib, etc in the way you probably expect
In place keeps everything in one directory and is meant to make multiple racket installations on the same system easier to manage
gotcha
After reinstalling with the installer script, I still get permission denied from raco setup --pkgs hackett-doc
Confirming: the old installation is gone and not in your path now correct? It’s definitely the new installation that has this problem?
Yes
I checked that none of the racket executables were on my path after uninstalling
Thanks for checking. I’m not at a computer right now so I can’t try and reproduce it myself unfortunately. The Linux racket installer assumes it can modify some central stuff like the collections directory it creates without needing root, so I’m guessing maybe arch Linux in general or your specific setup has different notions of how permissions ought to work
maybe?
Oh I did run the installer with sudo, because it needed to modify /usr/…
An yeah that will do it
I can try to install it in my home dir instead
Was just typing to ask if you did that when I saw your message :p
Whatever user the installer is run as will be the user you need to run as to install racket packages. Maybe the installer script ought to warn you if you try to run it as root
It probably would’ve been helpful, yeah ¯_(ツ)_/¯
If you’d like to file a GitHub issue to make the script give clearer instructions that would be great. If not I can do that later.
success!