conda-forge.github.io icon indicating copy to clipboard operation
conda-forge.github.io copied to clipboard

RISC-V Support?

Open timsnyder opened this issue 3 years ago • 1 comments

Your question:

I'd like to start a discussion about adding limited support for RISC-V architectures. I'm in the process of helping some colleagues at UC Berkeley transition to using conda-forge instead of system packages for https://fires.im/ and https://chipyard.readthedocs.io/en/stable/. We've transitioned the system yum and pip packages to using conda-forge. The next steps are:

  1. to create packages for other x86 things we currently build from source (e.g. libdwarf and QEMU)
  2. migrate pre-compiled toolchain install https://chipyard.readthedocs.io/en/stable/Chipyard-Basics/Initial-Repo-Setup.html#building-a-toolchain (--ec2-fast) to using conda instead of the current tarball extraction technique that is limited in it's portability and has no infrastructure to help in it's maintenance.

Adding the toolchain makes me wonder -- does it make sense to start adding RISC-V architectures to conda-forge? For starters, centos does not support it yet (Fedora does). The current use model builds and installs https://github.com/riscv-collab/riscv-gnu-toolchain into a $RISCV prefix (many scripts use the RISCV environment variable) and then installs more RISC-V ABI software into that same prefix. I assume that conda-forge would want the cross-toolchain to be installed into a linux-64 "build prefix" and the subsequent software installed into a prefix that is architecture-specific (for the sake of simplicity, I'm only considering linux-rv64gc for now because there are many pieces and options when it comes to RISC-V isa). Come to think of it, we may just want to call it linux-rv64 and not have more details of which ISA pieces are actually supported encoded in the platform name.

Regardless of whether @conda-forge/core is interested in adding RISC-V platforms, to be able to upload to a new platform type on anaconda.org, we would need to get support for it from Anaconda, right? How does that work when conda-forge supports a platform that upstream Anaconda doesn't? (e.g. linux-aarch64)

timsnyder avatar Apr 27 '22 14:04 timsnyder

These two issues will probably help you get an idea of what's needed (especially https://github.com/conda-forge/conda-forge.github.io/issues/1123#issuecomment-668399522):

  • https://github.com/conda-forge/conda-forge.github.io/issues/1123
  • https://github.com/conda-forge/conda-forge.github.io/issues/1126

chrisburr avatar Apr 27 '22 15:04 chrisburr