Cross Compiling ROS on Ubuntu 14.04 or 16.04


I just started looking into how to cross compile ROS kinetic using latest PDK DriveInstall_4.1.8.0L_SDK_b43. All I am looking for is bare minimal to be able to link and build packages on my host. If anyone was able to do this could you please share how you did it?
If not one did this is anyone here that would be interested in collaborating?

My host is Ubuntu 14.04 but I could go with 16.04 since 16.04 initial support showed up in latest DW SDK

Hello rjgebis,

Could you please refer to below? Thanks.

Deploying ROS-Kinetic On NV DRIVE Reference Boards Running Ubuntu 16.04 (V4.1L PDK)

  1. Install the PDK and flash the target build onto the board as described in the PDK Developer’s Guide

  2. Boot to Ubuntu Unity Desktop

Note: Do not perform “apt-get upgrade” on the target, at any stage

  1. Via Ubuntu GUI, configure Ubuntu to allow package installation from main, restricted, universe and multiverse repositories

  2. Setting locale:
    (This is optional. Setting locales explicitly to either of the options mentioned may cause some issues with launching the terminal after a system reboot. So, this step may be skipped in the first try)

export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales

  1. Setup the keys to authenticate package downloads
    sudo apt-key adv --keyserver hkp:// --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

  2. Open the ‘Software & Updates’ applet and add

deb xenial main

  1. Update the libssl1.0.0 package to the latest version [1.0.2g-1ubuntu4.6]and install libssl-dev
    sudo apt-get install libssl1.0.0/xenial libssl-doc/xenial libssl-dev/xenial

  2. Install the ‘Desktop’ bundle of ROS (contains the ROS Core Framework, plus a set of popular algorithms and sample apps)
    sudo apt-get install ros-kinetic-desktop

  3. After successful installation of ROS, set up the environment so that the terminal recognizes ROS.

echo source /opt/ros/kinetic/setup.bash >> ~/.bashrc
source ~/.bashrc

  1. Set the library search path for the current shell

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib/aarch64-linux-gnu

  1. Run some ROS sample apps to verify install success. For example:


  1. From a terminal, run
    roslaunch turtle_tf turtle_tf_demo.launch
  2. In a new terminal, run
    rviz &
  3. After launching the rviz GUI, change the Fixed frame (found in the Display section) to ‘world’.
  4. From the display section, Add > By display type > TF
  5. To verify successful connectivity between the turtlesim application and rviz,
    move the turtle on the terminal used to run roslaunch (Step1 above) and observe the movement of the turtle frames with respect to the world frame in the rviz GUI