Archived Content

This website is an archive of the Spring 2019 semester of CS 225.
Click here to view the current semester.
Back to Guides

This guide will help you get started setting up an environment on your personal computer to let you do most of the labs and MPs without remote connecting to the EWS machines. We highly recommend you attempt programming locally (on your own machine) or on an EWS computer, as the EWS remote servers have a history of going down and being slow. This will also enable you to work on assignments offline.

Remote Connect

You have two options for working remotely:

Please Note: if you are on an off-campus network you will need to use a VPN

We recommend connecting to a console session since an excessive amount of FastX sessions tends to become unstable on the EWS cluster, and FastX connections can have unexpected behavior.

Working Natively

Windows

The Windows Subsystem for Linux (WSL) is a tool allowing Linux to run in Windows natively.

  1. Follow Microsoft’s instructions for installing WSL, choosing Ubuntu as the distribution.
  2. Continue following Microsoft’s instructions for initializing your Ubuntu distribution
  3. Download the packages used for C++ by running the following command to install the packages we will be using:
sudo apt-get update && sudo apt-get install clang-6.0 libc++abi-dev libc++-dev git gdb valgrind graphviz imagemagick gnuplot cmake
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-6.0 100
sudo update-alternatives --install /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-6.0 100

Using your Windows Desktop in WSL/Ubuntu

When you start Ubuntu, your shell will begin in the Linux home directory. However, you will likely want to work with files that are inside of your Windows file system. By default, your C: drive is mounted at /mnt/c.

Some find it useful to create a shortcut to jump directly to your Windows Desktop:

  cd /mnt/c/Users/
  cd <Your-User-Name-on Windows>  // Use `ls` to find the available users in green
  cd Desktop
  ln -s `pwd` ~/desktop

Linux

You should make sure you have the following packages installed:

After installing the required packages, you should now be able to check out, build, and run assignments as described in their documentation.

Ubuntu >= 14.04

To get the packages you will need:

sudo apt-get update && sudo apt-get install clang-6.0 libc++abi-dev libc++-dev git gdb valgrind graphviz imagemagick gnuplot cmake
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-6.0 100
sudo update-alternatives --install /usr/bin/llvm-symbolizer llvm-symbolizer /usr/bin/llvm-symbolizer-6.0 100

If you have a different version of clang installed, you might need to remove it first. Alternatively, if you don’t mind using a different version of clang, you can use the other version instead – just make sure to test your code on EWS.

Arch

To get the packages you will need:

sudo pacman -Sy base-devel clang gdb valgrind graphviz imagemagick git gnuplot cmake

You will also need to install libc++ and libc++-abi from the AUR.

macOS

To install Homebrew: (You can skip this if you already have Homebrew installed)

In your terminal, (Applications->Utilities->Terminal) run:

xcode-select --install

to install the Xcode command line tools.

Next, we will install the Homebrew Package Manager for macOS using the following command:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

To install the necessary packages:

We need to install imagemagick and graphviz using Homebrew. Run:

brew install ghostscript
brew install imagemagick
brew install graphviz
brew install cmake

As you run each of these commands, it is recommended to follow Homebrew’s instructions for updating your PATH and compiler variables.

LLDB

LLDB is the default debugger for Xcode, so you should already have it installed by now. It is very similar to the GNU debugger, GDB. Here is a LLDB cheatsheet

Valgrind

Homebrew can also be used to install Valgrind.

To do so, run:

brew edit valgrind

This will open your default code editor. In the opened file, change the URL in the head section from https://sourceware.org/git/valgrind.git to git://sourceware.org/git/valgrind.git and run the following:

brew update
brew install --HEAD valgrind