JuliaLang / juliaup

Julia installer and version multiplexer
MIT License
931 stars 81 forks source link

Fails when /tmp is not executable #942

Closed LilithHafner closed 3 weeks ago

LilithHafner commented 4 weeks ago

I recently failed to install Julia on a server with this error:

$ curl -fsSL https://install.julialang.org | sh

info: downloading installer
Cannot execute /tmp/tmp.aI66r38EKw/juliainstaller.
Please install the files to a location where you can execute binaries.

I don't see how to work around this issue.

davidanthoff commented 3 weeks ago

The relevant line is https://github.com/JuliaLang/juliaup/blob/a351f4bb9c1b09c4b6070f91465b441aa63ca935/deploy/shellscript/juliaup-init.sh#L83.

I'm not entirely sure what the best workaround is... A command line option to manually specify a folder?

LilithHafner commented 3 weeks ago
  1. It is safe to assume that the place Julia will eventually be installed to is executable (if it's not then the install will be unusable) so that could be a good backup, as long as juliaup cleans up after itseld and that's not to automagical for your design philosophy
  2. Manually specifying a tmp folder would be easier than downloading the executable and scping it in; that would be a nice workaround if 1 isn't viable
davidanthoff commented 3 weeks ago

the place Julia will eventually be installed to

The tricky thing is that we don't know that location when the shell script runs. The shell script downloads the actual installer, and the actual installer then prompts the user to pick a location (if they go for a custom location)...

So I think we probably just need the option to manually specify a folder for this.

aplavin commented 3 weeks ago

See the same issue from 2 years ago :) https://github.com/JuliaLang/juliaup/issues/450 Also that thread gives a workaround: specify TMP var.

davidanthoff commented 3 weeks ago

Ha, so closing this as a duplicate :) Maybe we just need to document the TMP var trick, seems to me that is a good enough solution?