Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Bugs

Bugs should be filed in our bug tracker. Questions and comments can be sent to the developer mailing list: ramcloud-dev.

...

  • GNU Make (Anything reasonably recent)
  • GNU g++ (4.9.x)
  • git (>= 1.6.0)
  • Perl (Anything reasonably recent)
    • For mergedeps.pl, which automatically inserts included headers in source files into the make dependencies.
  • Python 2.6, epydoc 
  • Boost
    • If you're having issues with Boost on Ubuntu, check boost ticket #3844.
  • pcre
  • Doxygen 1.7.1
  • protocol buffers
  • ZooKeeper
  • java and javac (>= 1.7.0_25)

...

  • No commit should include changes for multiple issues. (Each commit in the push should complete or work towards a single issue.)
  • Pushes should complete any issues they start, but individual commits within a push do not need to complete an issue.
  • If at all possible, each commit should represent a version of the system that actually works (e.g., passes all unit tests and runs simple apps and system tests). This is important so that people can use git bisect to hunt down the commit that caused a bug: if commits are broken, git bisect won't work.
  • All commit messages should be meaningful without looking at the diff. (By reading a commit message, you should get some idea of what was modified and what the intent was. If you can't fit this in one line, skip a line and then write more.)

Speed Up Build

Put the following lines in the file `private/MakefragPrivateTop`:

No Format
# Use ccache to speed up compilation by caching object
# files across compilations.
CCACHE := yes
# Use gold linker for faster linking.
LINKER := gold

Running Under Valgrind

Compiling unit test:

...