juliaup
juliaup copied to clipboard
Error: '1.8.1~aarch64' is not a valid Julia version or channel name.
I tried to follow the example in the README.md
to install aarch64 julia on Linux, but I guess I got something wrong:
$ juliaup add 1.8.1~aarch64
Error: '1.8.1~aarch64' is not a valid Julia version or channel name.
$ juliaup --version
Juliaup 1.7.23
I think we need to update the README.
Does juliaup add 1.8.1+aarch64
work?
Nope
$ juliaup add 1.8.1+aarch64
Error: '1.8.1+aarch64' is not a valid Julia version or channel name.
What is the native platform of the Linux you are trying? Right now I only make aarch64
Linux builds available if you are actually on a aarch64
Linux because my understanding was that Linux doesn't have an emulation mode that would allow one to run aarch64
builds on say x64 or x86.
What is the native platform of the Linux you are trying?
I'm on x86-64, but on a system which has both x86-64 and aarch64 nodes. I wanted to install Julia for the other nodes.
Right now I only make aarch64 Linux builds available if you are actually on a aarch64 Linux because my understanding was that Linux doesn't have an emulation mode that would allow one to run aarch64 builds on say x64 or x86.
QEMU?
I'm just not familiar with this stuff :) If it would make sense to make the aarch64
builds available on x64 and x86 Linux versions, it would be very easy to do so, right now it was a conscious choice to not do so, based primarily on me guessing what might work ;)
My use case is that I want to use the x86_64 build when I'm on the x86_64 node, and the aarch64 one when I'm on the aarch64 node, so no emulation involved at all.
Right now I have two directories, ~/bin-x86_64
and ~/bin-aarch64
, and in my bashrc script I have
if [ -d "${HOME}/bin-$(arch)" ]; then
export PATH="${HOME}/bin-$(arch):${PATH}"
fi
I was hoping juliaup could help me with doing the right thing automatically.
I think it is fair to say that the design at the moment makes a very strong assumption that things will run on the same target architecture on which Juliaup was initially installed... I'm pretty sure that the idea to install Juliaup on one node and then somehow re-use that on other nodes with a different architecture won't work, or at least I'd be very surprised...
Wouldn't it make most sense to just install Juliaup on each node separately, so that each node gets the correct binaries for its architecture? If you then start julia +1.8
on different nodes, it would always pick the right arch for that node, right?
Is this a cluster where all nodes share the same filesystem (e.g. GPFS)?
Yes, it's a shared filesystem, and accessing the aarch64 nodes is "costly", so I prefer to do as much as possible on the x86_64 nodes.
I guess it's nothing about the platform, but that juliaup itself didn't update to 1.8.1 for me at least: running right now:
C:\Users\Aaron>juliaup list
Channel Version
------------------------------------
[...]
1.7~x64 1.7.3+0.x64
1.7~x86 1.7.3+0.x86
1.8 1.8.0+0.x64
1.8.0 1.8.0+0.x64
1.8.0-beta1 1.8.0-beta1+0.x64
1.8.0-beta1~x64 1.8.0-beta1+0.x64
1.8.0-beta1~x86 1.8.0-beta1+0.x86
1.8.0-beta3 1.8.0-beta3+0.x64
1.8.0-beta3~x64 1.8.0-beta3+0.x64
1.8.0-beta3~x86 1.8.0-beta3+0.x86
1.8.0-rc1 1.8.0-rc1+0.x64
1.8.0-rc1~x64 1.8.0-rc1+0.x64
1.8.0-rc1~x86 1.8.0-rc1+0.x86
1.8.0-rc3 1.8.0-rc3+0.x64
1.8.0-rc3~x64 1.8.0-rc3+0.x64
1.8.0-rc3~x86 1.8.0-rc3+0.x86
1.8.0-rc4 1.8.0-rc4+0.x64
1.8.0-rc4~x64 1.8.0-rc4+0.x64
1.8.0-rc4~x86 1.8.0-rc4+0.x86
1.8.0~x64 1.8.0+0.x64
1.8.0~x86 1.8.0+0.x86
1.8~x64 1.8.0+0.x64
1.8~x86 1.8.0+0.x86
1~x64 1.8.0+0.x64
1~x86 1.8.0+0.x86
beta 1.8.0+0.x64
beta~x64 1.8.0+0.x64
beta~x86 1.8.0+0.x86
lts 1.6.7+0.x64
lts~x64 1.6.7+0.x64
lts~x86 1.6.7+0.x86
rc 1.8.0+0.x64
rc~x64 1.8.0+0.x64
rc~x86 1.8.0+0.x86
release 1.8.0+0.x64
release~x64 1.8.0+0.x64
release~x86 1.8.0+0.x86
C:\Users\Aaron>juliaup self update
No updates available.
looks like there's no 1.8.1 at all.
@rapus95 that is a very different issue, lets try to keep this one here focused on the original topic. I'm going to hide your comment, hope that is ok. Ideally, open new issues for new topics.
Ok, my idea of having a single juliaup installation is clearly not going to work. Since the driver is a binary executable which needs to actually run on the current node without emulation, I can't have a single juliaup for both kind of nodes, so I think I'll keep two separate installations.
However, for the purpose of this issue, perhaps the error message can be clarified a bit? It's rather confusing, and it left me wondering if I got the syntax wrong :slightly_smiling_face: