Second attempt to make sure starter.sh has o+rx permissions

If starter.sh is missing o+rx on the roboRIO, the robot code will not
start.  If o+rx permissions are missing, there are no error messages on
some driver stations which makes this hard to track down.  Perhaps having
a umask of 0007 on my laptop has something to do with o+rx not being
set explicitly.

Updated starer.sh to properly copy the libstdc++.so.6.0.21 from
local copies of the repsitory not names 971-Robot-Code.h and
added link to the log files.

Tested under Debian stretch by successfully deploying to a newly
flashed roboRIO.

This change was merged into master in commit
ade7810852376a7f70d1c0e0e6f169b2ff4f8e0b on Sat Jan 20 13:56 2018.
It appears that it was removed from master in commit
cb091717cd465dfca867172266b68108c74b8251 by Austin on Wed Feb 21 20:01
2018.  I suspect that this change was inadvertently removed since there
were no comments on why it was removed.

Change-Id: I0b578d2579f92fd62ebfae6feb98eecead3e5427
1 file changed
tree: 314dbe71920baa48a1d03d90e0ef0483d5e03b23
  1. aos/
  2. build_tests/
  3. compilers/
  4. debian/
  5. doc/
  6. frc971/
  7. motors/
  8. third_party/
  9. tools/
  10. vm/
  11. y2012/
  12. y2014/
  13. y2014_bot3/
  14. y2016/
  15. y2017/
  16. y2017_bot3/
  17. y2018/
  18. .clang-format
  19. .gitignore
  20. LICENSE.txt
  21. README.md
  22. WORKSPACE
README.md

Introduction

This is FRC Team 971's main code repository. There are README* files throughout the source tree documenting specifics for their respective folders.

Access to the code

The main central location for our code is our Gerrit server at https://robotics.mvla.net/gerrit. To get a copy of the code on your computer to work with, follow these steps:

  1. Contact Michael Schuh to get an SVN account.
  2. Go to Gerrit and create an account.
  3. Contact Brian Silverman with your SVN username to get access to the code in Gerrit.
  4. Go to the 971-Robot-Code project in Gerrit and run the command. Running the clone with commit-msg hook command will save you trouble later.

To learn more about git, see git(1) (man git or git(1) (especially the NOTES section).

Code reviews

We want all code to at least have a second person look over it before it gets merged into the master branch. Gerrit has extensive documentation on starting reviews. TL;DR: git push origin HEAD:refs/for/master and then click on the link to add reviewers. If you just upload a change without adding any reviewers, it might sit around for a long time before anybody else notices it. git-review can make the upload process simpler.

Building the code

The currently supported operating system for building the code is amd64 Debian Jessie. It is likely to work on any x86_64 GNU/Linux system, but that's not at all well-tested.

We use Bazel to build the code. Bazel has extensive docs and does a nice job with fast, correct increment rebuilds.

Steps to set up a computer to build the code:

  1. Set up the required APT repositories: Download frc971.list and llvm.org.list and put them in /etc/apt/sources.list.d/.
  2. Install the required packages:
apt-get install -t jessie-backports openjdk-8-jdk
apt-get install python libpython-dev bazel ruby clang-format-3.5 clang-3.6 gfortran libblas-dev liblapack-dev python-scipy python-matplotlib
  1. Allow Bazel's sandboxing to work: Follow the direction in doc/frc971.conf.

Some useful Bazel commands:

  • Build and test everything (on the host system):
bazel test //...
bazel build --cpu=roborio //...
  • Build the code for a specific robot:
bazel build --cpu=roborio --compilation_mode=opt //y2015/...
  • Download code to a robot:
bazel run --cpu=roborio --compilation_mode=opt //y2015:download roboRIO-971.local