Skip to content

Commit

Permalink
Use requirements file
Browse files Browse the repository at this point in the history
  • Loading branch information
abejgonzalez committed Jul 21, 2022
1 parent 9e34559 commit 66f0bd2
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 222 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,3 @@ tags
env-riscv-tools.sh
env-esp-tools.sh
.bsp/
conda-env/
6 changes: 2 additions & 4 deletions docs/Chipyard-Basics/Initial-Repo-Setup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,12 @@ Conda Environment Setup
of the aforementioned dependencies (and some additional ones) and will activate the
proper conda environment. Skip this section.

Next run the following script to setup Chipyard's Conda environment.
This script creates a Conda environment that sets up Chipyard's necessary prerequisite libraries and tools needed for building critical Chipyard components like the RISC-V toolchain.
Next run the following command to create Chipyard's Conda environment.

.. code-block:: shell
./scripts/conda-env-setup.sh
conda env create -f scripts/conda-requirements.yml
The script should complete successfully.
By running the following command you should see a "chipyard" environment listed (the default environment is called "chipyard").

.. code-block:: shell
Expand Down
217 changes: 0 additions & 217 deletions scripts/conda-env-setup.sh

This file was deleted.

93 changes: 93 additions & 0 deletions scripts/conda-requirements.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: chipyard
channels:
- conda-forge
dependencies:
- conda-tree
# https://docs.conda.io/projects/conda-build/en/latest/resources/compiler-tools.html#using-the-compiler-packages
# for notes on using the conda compilers
# elfutils has trouble building with gcc 11 for something that looks like it needs to be fixed upstream
# ebl_syscall_abi.c:37:64: error: argument 5 of type 'int *' declared as a pointer [-Werror=array-parameter=]
# 37 | ebl_syscall_abi (Ebl *ebl, int *sp, int *pc, int *callno, int *args)
# | ~~~~~^~~~
# In file included from ./../libasm/libasm.h:35,
# from ./libeblP.h:33,
# from ebl_syscall_abi.c:33:
# ./libebl.h:254:46: note: previously declared as an array 'int[6]'
# 254 | int *callno, int args[6]);
# | ~~~~^~~~~~~
#
# pin to gcc=10 until we get that fixed.
- gcc=10
- gxx=10
- binutils
- conda-gcc-specs

# if building riscv-toolchain from source, we need to use bison=3.4 until we have
# https://github.com/riscv-collab/riscv-binutils-gdb/commit/314ec7aeeb1b2e68f0d8fb9990f2335f475a6e33
- bison=3.4

# poky deps
- python=3.8
- patch
- texinfo
- subversion
- chrpath
- git
- wget

# qemu deps
- gtk3
- glib
- pkg-config
- bison
- flex

# qemu also requires being built against kernel-headers >= 2.6.38 because of it's use of
# MADV_NOHUGEPAGE in a call to madvise. See:
# https://man7.org/linux/man-pages/man2/madvise.2.html
# https://conda-forge.org/docs/maintainer/knowledge_base.html#using-centos-7
# obvi this would need to be made linux-specific if we supported other MacOS or Windows
- kernel-headers_linux-64>=2.6.38

# firemarshal deps
- rsync
- psutil
- doit
- gitpython
- humanfriendly
- e2fsprogs
- ctags
- bison
- flex
- expat

# cross-compile glibc 2.28+ deps
# current version of buildroot won't build with make 4.3 https://github.com/firesim/FireMarshal/issues/236
- make!=4.3

# build-libelf wants autoconf
- autoconf
- automake
- libtool

# other misc deps
- sbt
- ca-certificates
- mosh
- gmp
- mpfr
- mpc
- zlib
- vim
- git
- openjdk
- gengetopt
- libffi
- expat
- libusb1
- ncurses
- cmake
- graphviz
- expect
- dtc
- verilator==4.034

0 comments on commit 66f0bd2

Please sign in to comment.