Versions Compared

Key

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

This guide is intended as an internal reference for RAMCloud Students working with Netbeans over the rcXX cluster. 

...

To work on RAMCloud in Netbeans, you'll have to decide whether to store your sources on your local machine and copy it to rcmaster at build time (SFTP) OR store the sources on rcmaster and use a remote mount to operate on the files (SSHFS). You'll have to choose one and the instructions below diverge depending on which you choose. Instructions meant for one or the other will be tagged with SFTP or SSHFS. If you are unsure which one you'd like, pick SFTP.  Note that with SFTP, you are restricted to using git on your local machine only.

Installation

  1. Netbeans
    1. Download the C/C++ version of Netbeans here: https://netbeans.org/downloads/
  2. (Optional) SSHFS Only: Only set this up if you plan to use SSHFS on OSX.
    1. Go to https://osxfuse.github.io
    2. Download and install OSXFuse and SSHFS (in that order)
    3. After install, open Terminal.app (i.e. press Command + Space then type "Terminal")
    4. Create a mount folder on your Desktop (i.e. mkdir ~/Desktop/home )
    5. To mount, type "sshfs <username>@rcmaster.scs.stanford.edu: ~/Desktop/home" where <username? is your username.
    6. (To unmount later, use "umount <folder>")

...

  1. Checkout the sources and initialize according to the instructions on General Information for Developers
    1. SFTP: Checkout the sources in a local directory (Note: Win Users, you will have an extra step).
    2. SSHFS: SSH into rcmaster and checkout the sources there
    SFTP: Checkout the sources in a local directory.
  2. Open Netbeans and click File->New Project
  3. Select "C/C++ Project with Existing Sources" and click Next
  4. In the next window, "Browse" to where you checked out the sources and select rcmaster as the build host
    1. SFTP: Browse to where the RAMCloud folder is are on the local machine
    2. SSHFS: Make sure rcmaster is mounted (see Installation) and browse to the RAMCloud folder
  5. Click "Finish"
  6. Windows Users: For some reason, not everything gets copied over correctly. Please follow the instructions in Troubleshooting - "I'm on Windows and I get a build error!"
  7. SFTP Only: To make life a little easier, you should make a symlink from the copied files to your home directory. 
    1. Notice that when you build, it says that it's copying your files to a location
    2. cd to that location and go down until you reach what looks like the RAMCloud directory
    3. symlink that over to wherever you want.
  8. SSHFS Only: If you are mounted over sshfs, the IDE will ask for your local to remote mappings. Simply click right below "Local Path" and browse to where RAMCloud is locally and then click right below "Remote Path" and browse to where RAMCloud is on rcmaster.

...

  • Right click on the ram cloud project and select properties.
  • Under "Code Assistance -> C++ Compiler -> Include Directories" add the following line.
    • src;obj.master;gtest/include

 

Parsing C++11 Foo<Bar<Baz>> is broken in 7.2. Apparently this is fixed in the dailies: http://netbeans.org/bugzilla/show_bug.cgi?id=179939#c15 . Diego tried this with mixed results. The daily (8/30) seems stable, but it doesn't always parse the >> properly.

...