Attempting installation of Anaconda3 on TX2 complains that system architecture is 32bit instead of 64bit.

In the quick start guide under KEY FEATURES, it says 64-bit NVIDIA Denver and ARM Cortex-A57 CPU.
Furthermore, when opening the system details it says

  • Device name tegra-ubuntu
  • Memory 7.7 GiB
  • Processor ARMv8 Processor rev 3 (v8l) × 4
  • Graphics NVIDIA Tegra X2 (nvgpu)/integrated
  • OS type 64-bit
  • Disk 0 bytes

So it says 64-bit, but I’m unsure whether it actually is 64 bit.

But when attempting to install Anaconda (Anaconda3-2019.07-Linux-x86_64.sh) it says:

WARNING:
Your operating system appears not to be 64-bit, but you are trying to install a 64-bit version of Anaconda3.
Are you sure you want to continue the installation? [yes|no]

What should I do? Is the system actually 64 bit, and hence should I continue the installation? Or should I install a 32-bit version instead?

Thanks for the help.

Hi ajdinhusic,

Anaconda3-2019.07-Linux-x86_64.sh is not for a Jetson…it’s for a desktop PC. This is a completely different language so far as the ARM CPUs are concerned. You’ll need one which has the same name, but substitute either “arm64” or “aarch64” and it should work. Whichever repository you got the x86_64 version from won’t have anything which works on the Jetson.

The error message was misleading…instead of saying not 64-bit, it should have said incorrect architecture.

Dear kayccc,

thank you very much for clarifying!
So just to conclude, you are suggesting to install either Anaconda3-2019.07-Linux-arm64.sh, or Anaconda3-2019.09-Linux-aarch64.sh?

Please excuse my ignorance, but I couldn’t find anything with those names online.
Could you perhaps point me in the right direction? If not, that is fine, I’ll try to install clean Python instead.

Hi ajdinhusic,

If can’t find the arm64/aarch64 version, that means there is not able to install and work well on Jetson platforms which are ARM base device directly, then you might need to build it from source for aarch64 environment, but I never tried that, may other developers share experience if they did it.

The TX2 is 64-bit, but unlike a PC x86, this is ARM. The 64-bit version of ARM might be given any of these abbreviations: aarch64, arm64, ARMv8-a.

There is an older compatibility mode supported by the CPU, but aside from terrible performance, none of the 32-bit support exists without great pains. You’d be basically installing a full linker and library duplicate of the 64-bit using 32-bit. Most people won’t have the patience to suffer through that learning curve.

Try this:

export ARCHICONDA_VERSION=3-0.2.3 CONDA_VERSION=4.5.12
cd /tmp && \
    wget -q https://github.com/Archiconda/build-tools/releases/download/0.2.3/Archiconda${ARCHICONDA_VERSION}-Linux-aarch64.sh && \
    echo "b3453ed5676b0aa7270884fb31792ee16dbf6a13f91e77d6b0a750826cbea555 *Archiconda${ARCHICONDA_VERSION}-Linux-aarch64.sh" | sha256sum -c - && \
    /bin/bash Archiconda${ARCHICONDA_VERSION}-Linux-aarch64.sh -f -b -p $CONDA_DIR && \
    rm Archiconda${ARCHICONDA_VERSION}-Linux-aarch64.sh && \
    echo "conda ${CONDA_VERSION}" >> $CONDA_DIR/conda-meta/pinned && \
    $CONDA_DIR/bin/conda config --system --prepend channels conda-forge && \
    $CONDA_DIR/bin/conda config --system --set auto_update_conda false && \
    $CONDA_DIR/bin/conda config --system --set show_channel_urls true && \
    $CONDA_DIR/bin/conda install --quiet --yes conda && \
    $CONDA_DIR/bin/conda update --all --quiet --yes && \
    conda list python | grep '^python ' | tr -s ' ' | cut -d '.' -f 1,2 | sed 's/$/.*/' >> $CONDA_DIR/conda-meta/pinned