emichael / dslabs

Distributed Systems Labs and Framework
https://ellismichael.com/dslabs/
1.26k stars 341 forks source link

Error running make: `gcp` is not recognized on zsh shell #58

Closed Samia1117 closed 1 year ago

Samia1117 commented 1 year ago

Describe the bug The file copier tool gcp is not recognized on zsh shell on MacOS 13.2.1 (the problem may be more general, but at least covers this extent). For Darwin OS, the preferred file copier ( $(CP) )on dslabs Makefile is gcp instead of cp. However, make clean all fails when gcp is attempted to be used (in line: $(CP) -r labs handout-files/. $(OTHER_FILES) $@). On changing gcp to cp the problem is fixed. Of course, changing to cp might break other cases for which you probably had gcp in the first place, but there should at least be a line to check in the Makefile whether the current shell recognizes gcp or not. Users should be able to run make out of the box once they have the required/recommended tools set up (Python3, Make, Java 14, IntelliJ)

Screenshots gcp-command-not-found macOS-version-shell-info

Environment

wilcoxjay commented 1 year ago

TL;DR:

brew install coreutils

This is documented in this repo's README:

The main tools for development are the same as the students' dependencies — Java 14 and Python 3. You will also need a few utilities such as wget to build with the provided Makefile; MacOS users will need gtar and gcp provided by the coreutils Homebrew package.

Note that this is not required for students. It's only required if you plan to hack on dslabs itself.

Samia1117 commented 1 year ago

Oh ok, missed that. I was not trying to 'contribute' (at that time) and consulting only the handout/README. I was trying to run ./run-tests.py --lab 0 --test-num 1, but it was failing with the same error (scshot). I would think it's a good idea to add the lines you quoted above to the handout/README (Getting Started section) as well.

run-python-lab0-test1