View Single Post
  #4   Spotlight this post!  
Unread 26-01-2016, 14:44
Thad House Thad House is offline
Volunteer, WPILib Contributor
no team (Waiting for 2021)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Thousand Oaks, California
Posts: 1,095
Thad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond repute
Re: Using C++ network tables on Jetson TK1/TX1 (preferably tx1)

Quote:
Originally Posted by Guyde View Post
We are trying to use Network Tables in C++ on our Jetson board (which has the Nvidia modified Ubuntu 14.04 ARM OS). We built ntcore's (the Network Tables' library name) source code from GitHub and it did not work. Upon building a bunch of resolving errors in the headers of the network tables code, which most of relate to things scoped in std, which leads us to suspect that the ntcore code on GitHub only works on the Windows OS.

We would be happy if anyone could help us finding an implementation of Network Tables for C++ for the Jetson TK1 and TX1.
The build on GitHub definitely compiles for Arm. What version of GCC is on the device? GCC 4.9+ is known to work on Arm devices. GCC 4.8 should work to, but I'm not sure on that one. With gradle, trying to run a default build on arm devices does not currently work (it fails when it sees the -m32 argument for gcc). However you can run
Code:
./gradlew :arm:build -PcompilerPrefix=
and that should build correctly as long as you have the right GCC.

A group of us are working right now on getting Arm Builds for other devices. Right now the cross compiler we have that works on everything is GCC 5, but since most devices running debian based OS's don't have GCC 5, it requires loading a special libstdc++.so.6. If you want that, the latest build can be found here http://198.199.94.5/ntcore/cb4cc63/arm-linux-gnueabihf/. The special libstdc++.so.6 is located here http://198.199.94.5/ntcore/libstdc++.so.6. To run that, compile your program, and then when running your code, prepend your command with
Code:
env LD_LIBRARY_PATH=/path/to/downloaded/libstd/
.
__________________
All statements made are my own and not the feelings of any of my affiliated teams.
Teams 1510 and 2898 - Student 2010-2012
Team 4488 - Mentor 2013-2016
Co-developer of RobotDotNet, a .NET port of the WPILib.