chipsalliance / chipsalliance/rocket-chip

make failing under /emulator and /vcs due to mill: command not found

Open
#3,495 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Scala
Stars
3.9k
Forks
1.3k
Avg merge
5d 13m
Merged PRs (30d)
1

Description

### Discussed in https://github.com/chipsalliance/rocket-chip/discussions/3492

Originally posted by **AnuragMalwee** September 20, 2023
Hi, I am building the rocket-chip project for the first time.

After building the rocket-tools, the make command under $ROCKETCHIP/emulator and $ROCKETCHIP/vcs directories fail with error:
```
cd ...../Rocket/rocket-chip && mill rocketchip.assembly
/bin/bash: line 1: mill: command not found
make: *** [/home/...../Rocket/rocket-chip/Makefrag:47: /home/...../Rocket/rocket-chip/out/rocketchip/assembly.dest/out.jar] Error 127
```

When trying to install mill from https://github.com/com-lihaoyi/mill, the cmd to run the bootstrap script recommended in their documentation fails.
$ curl -L https://github.com/com-lihaoyi/mill/releases/download/0.11.4/0.11.4-13-27c979 > mill && chmod +x mill
(The mill/releases dir doesn't seem to exist in the repo)

I manually copied the mill/mill script and ran it in the $ROCKETCHIP directory but I got following error:

```
anurag@anurag-vm:~/...../Rocket/rocket-chip$ ~/...../scala_mill/mill
[build.sc] [33/49] enablePluginScalacOptions.super.mill.scalalib.ScalaModule.enablePluginScalacOptions | Downloading [1/1][build.sc] [33/49] enablePluginScalacOptions.super.mill.scalalib.ScalaModule.enablePluginScalacOptions | Downloading [1/1][build.sc] [33/49] enablePluginScalacOptions.super.mill.scalalib.ScalaModule.enablePluginScalacOptions | Downloading [1/1][build.sc] [33/49] enablePluginScalacOptions.super.mill.scalalib.ScalaModule.enablePluginScalacOptions | Downloading [1/1][build.sc] [41/49] compile
[info] compiling 4 Scala sources to /...../Rocket/rocket-chip/out/mill-build/compile.dest/classes ...
[warn] /...../Rocket/rocket-chip/build.sc:206:155: method any2stringadd in object Predef is deprecated (since 2.13.0): Implicit injection of + is deprecated. Convert to String to call +
[warn] |"$${CMAKE_CXX_FLAGS} -DVERILATOR -DTEST_HARNESS=VTestHarness -include VTestHarness.h -include verilator.h -include ${generator.elaborate().path / config + ".plusArgs"}")
[warn] ^
[warn] one warning found
[info] done compiling
[build.sc] [49/49] scriptImportGraph
Selector cannot be empty
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failing make commands under emulator and vcs, then inspect Makefrag:47 and the repository's build.sc. Check the reported Mill installation and “Selector cannot be empty” output. Done means the affected make commands run without “mill: command not found” or the reported Mill selector error.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.