Before building the Swift compiler it might be a good idea to check https://github.com/apple/swift to verify the build is currently passing. And to free up as much memory as possible first you can shut down the graphical interface with
sudo service lightdm stop.
(has been tested on Ubuntu 15.10):
# exit at the first sign of trouble
sudo apt-get update
sudo apt-get install -y build-essential wget clang libedit-dev python2.7 python2.7-dev rsync libxml2 git
sudo apt-get install -y cmake ninja-build python uuid-dev libicu-dev icu-devtools libbsd-dev libedit-dev libxml2-dev libsqlite3-dev swig libpython-dev libncurses5-dev pkg-config
#If on Ubuntu 14.04 LTS, upgrade the clang compiler for C++14 support and create a symlink:
#sudo apt-get install clang-3.6
#sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.6 100
#sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.6 100
git clone https://github.com/apple/swift.git
… and then do something else for a while. On an iMac 2011 quad core with 16 GB of memory running a fresh install of Ubuntu 15.10 with no GUI it took 3 hours.
If you’re going to work on Foundation you will want to replace the last line with this:
swift/utils/build-script --xctest --foundation -t
Then just run
ninja to build your changes and
ninja test to test. Thankfully this is a lot faster than building swift.