Struggling to Install ROS Kinetic on Nvidia Drive AGX

Setup info:
Hardware Platform:DRIVE AGX Xavier™ Developer Kit
Software Version: DRIVE Software 9

Host Machine Version: 16.04**
SDK Manager Version: 5.0.10.3-12606092 (host-PC)

Hello,

I am currently trying to install ROS Kinetic Desktop-Full onto my Drive AGX Xavier which is running on Ubuntu 16.04. I can’t upgrade to Nvidia Drive Software 10 due to University software restrictions and possible host PC software conflicts. Therefore, with using Drive 9 Software, I cannot seem to get ROS Kinetic to install on my AGX.

The error after attempted install is: E: Unable to correct problems, you have held broken packages. The command I am trying to use to install ROS Kinetic is: sudo apt-get install ros-kinetic-desktop-full. I have a feeling it might be due to some not-yet installed dependencies or packages or perhaps an issue with the sources.list but I am not sure.

If you could please provide help since other forums have not helped thus far that would be great. Thank you.

Cordially,
Brendan Sting
Kettering University

Hi @stin7931,

We don’t have ubuntu 16.04 host and target with DRIVE Software 9 flashed at hand so cannot have a try quickly.

Please share the complete log of “sudo apt-get install ros-kinetic-desktop-full”. Maybe there are more information of the issue.

Hi,

I managed to install ros-kinetic-ros-base fine on the Drive AGX Xavier. Then, I installed any other dependencies (ros-kinetic-xxx) individually.

Regards,
Linn

Hello @mpechon ,

I tried installing ros-kinetic-ros-base using the sudo apt-get install ros-kinetic-ros-base command but it still led to the output of E: Unable to correct problems, you have held broken packages. I got this same error but with different unmet dependencies for desktop and for desktop-full of ros kinetic. I am still using the Drive AGX Xavier with 16.04 Ubuntu. Could you provide your steps that you took that lead you to installing the ros-kinetic-ros-base fine on Xavier? I tried using aptitude commands to resolve dependencies but still nothing is working. Do I have to change my bashrc or my sources.list to a specific setup? Could you provide your sources.list or bashrc, Linn? Any help, steps, documentation, or guidance is greatly appreciated. Thank you.

Sincerely,
Brendan Sting

Dear Brendan,

It may not be an issue with installing ROS specifically but maybe the apt is broken. Perhaps try to do apt update? If you have packages that were not installed properly you can try to force the install “apt install -f”

For me, I didn’t do anything special. I basically followed the instructions at kinetic/Installation/Ubuntu - ROS Wiki with no issue. I am also on LTS 16.04 on Drive Xavier but my SDK is also quite old, (DriveWorks SDK v2.0.2081) so maybe it is different from yours. Still, I think it sounds like an apt issue and not a SDK issue.

Oh, I have some dubious advice: I am not sure about Xavier but we were told not to do “apt upgrade” on the Drive PX2 last time so I am wary of doing it on the Xavier now. Maybe an Nvidia staff can clarify this.

I don’t think that its related to your bashrc. I did not modify anything in my bashrc other than adding the paths for ROS (but that is only after the install is done. This is so that the ROS packages can be found when needed and not related to the apt install process. My source list was also not modified.

Hope this helps.

Regards,
Linn

Dear @mpechon ,

Thank you for your advice on what you had remain unchanged for your setup. I did change my sources.list file a while ago and I did do some upgrades. I had to do some upgrades to fix the time clock issue but also tried doing some dist-upgrade commands to get ROS working (which didn’t work). You might be right that my apt might be broken but I am not sure how to fix it or where to start. However, perhaps changing my sources.list to its original state could be my starting point. Do you have a sources.list file I could copy from your setup since we are running the same Ubuntu versions and the same Drive AGX computer? I also have not changed my bashrc file(which is a relief).

Please advise if you can provide steps on fixing my apt or if you can provide your sources.list file for me to copy and use. Thank you again!

Sincerely,
Brendan Sting

Dear Brendan,

It is currently 1.30am where I am so I am not with my Xavier. If you are pressed for time, it might be faster to look up typical xenial source lists online. Else, I will get back to you when I log into my Xavier in about 10hours or so.

Linn

Please refer to ~/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-linux/targetfs_a/etc/apt directory on your host system for the original state.

Dear @VickNV ,

I tried to refer and find the directory you listed but I couldn’t find it. I did a couple of whereis commands in the AGX terminal and on the Host PC terminal but no such luck. It seems that directory doesn’t exist. That directory has Drive Software 10 in its name which doesn’t match my Drive Software 9.0 I have on my 16.04 Ubuntu AGX. That’s why I am trying to get a copy of the sources.list file from ( @mpechon ) Linn’s AGX Xavier since Linn’s system has almost the same setup as mine.

Sincerely,
Brendan Sting

Sorry that I forgot you are on DRIVE Software 9.
Please check if you have below path for your reference. Thanks!

$ ~/nvidia/nvidia_sdk/DRIVE_Software_9.0_Linux_hyperion_*/DriveSDK/drive-t186ref-linux/targetfs/etc/apt/

Dear @VickNV ,

I tried doing another whereis command with the DRIVE Software 9 directory but still couldn’t find it. I also tried looking for it myself through file system GUI. I tried on both the host PC and on the AGX.

Also, I just saw you wanted the log of my ROS Kinetic error I was encountering. Here is my log when trying to do a ROS source install:
$ rosdep install --from-paths src --ignore-src --rosdistro kinetic -y

Output: "Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libpcl-dev : Depends: libvtk6-dev but it is not going to be installed
Depends: libvtk6-qt-dev but it is not going to be installed

E: Unable to correct problems, you have held broken packages.

ERROR: the following rosdeps failed to install
apt: command [sudo -H apt-get install -y libpcl-dev] failed".

I changed back my sources.list to the original state(that I found from another internet source with Drive Software 10; just modified it a bit for xenial) which is:

deb http://ports.ubuntu.com/ubuntu-ports/ xenial main universe restricted
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main universe restricted
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main universe restricted

I also have not heard back from Linn with their sources.list on their 16.04 AGX. ( @mpechon )

Please offer any help you can despite my software being Drive Software 9 and Ubuntu 16.04. Thank you.

Sincerely,
Brendan Sting

For the DRIVE Software 9.0 path, it is part of the installation done by SDK Manager.
So it is only in the host system where you ran SDK Manager.

$ ~/nvidia/nvidia_sdk/DRIVE_Software_9.0_Linux_hyperion_*/DriveSDK/drive-t186ref-linux/targetfs/etc/apt/

If you are still not able to restore the apt state, you can reflash your target system.

Remove the all of the ROS packages to get back to a clean state for apt.

I have not had much luck installing the -desktop package of ROS on a normal ubuntu desktop.
Start with the core, especially on the target, then add the additional things you need.

1 Like