ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

ROS ARM install on a custom variant of Ubuntu 18.04

asked 2019-01-16 01:20:18 -0500

CaptainJL gravatar image

Hey all, I am trying to install ROS on an ARM device that has a custom Ubuntu 18.04 variant (called 'trinity') installed, which does not come under the standard list of OS names.

Eg - when running "rosdep update"

raise OsNotDetected("Could not detect OS, tried %s" % attempted) OsNotDetected: Could not detect OS, tried ['windows', 'ubuntu', 'slackware', 'rhel', 'qnx', 'osx', 'opensuse', 'opensuse', 'opensuse', 'neon', 'mint', 'linaro', 'gentoo', 'funtoo', 'freebsd', 'fedora', 'elementary', 'elementary', 'debian', 'cygwin', 'centos', 'manjaro', 'arch']

and when i run "sudo apt-get update"

Err:3 http://packages.ros.org/ros/ubuntu trinity Release
  404  Not Found [IP: 140.211.166.134 80]

I temporarily faked the ROS OS variable 'export ROS_OS_OVERRIDE=ubuntu:18.04' I tried installing from source, however when i get to the step:

rosdep install --from-paths src --ignore-src --rosdistro melodic -y

I get these errors (shortened to show point)

dpkg-query: no packages found matching libtinyxml2-dev
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
rosconsole: No definition of [log4cxx] for OS version []

Has anyone got experience with dealing with custom OS and might know how to deal with this?

Thankyou

edit retag flag offensive close merge delete

Comments

Trinity is just a desktop environment for your Ubuntu (and other X supporting Unix systems) and this shouldn't be a problem. What probably happened is that this distro left out some default Ubuntu packages, one of which is libtinyxml2-dev. Try installing it with apt-get and post more info.

Dyson sphere gravatar image Dyson sphere  ( 2019-01-16 02:39:30 -0500 )edit

Thanks, i installed those bits needing, but now stuck on an OS issue:

ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies: rosconsole: No definition of [log4cxx] for OS version [] catkin: No definition of [log4cxx] for OS version []

etc...

CaptainJL gravatar image CaptainJL  ( 2019-01-17 20:50:41 -0500 )edit

Did you try to override it with only ubuntu and not the Ubuntu version number?

Dyson sphere gravatar image Dyson sphere  ( 2019-01-17 22:05:10 -0500 )edit

I did try, but i had to use the whole ubuntu:bionic, thanks for your help though.

CaptainJL gravatar image CaptainJL  ( 2019-01-22 18:56:03 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2019-01-22 19:02:42 -0500

CaptainJL gravatar image

So i finally worked out the full answer. Since Ubuntu18.04 is codenammed "bionic", You had to set:

export ROS_OS_OVERRIDE=ubuntu:bionic

And then:

rosdep install --from-paths src --ignore-src --rosdistro melodic --os=ubuntu:bionic -y

However, i worked out you could install directly from the ROS ARM basic method via cheating the sources.list when installing ROS via:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu bionic main" > /etc/apt/sources.list.d/ros-latest.list'

This is essentially cheating "$(lsb_release -sc)" by replacing with "bionic" (for Ubuntu 18.04).

edit flag offensive delete link more

Comments

This is essentially cheating "$(lsb_release -sc)" by replacing with "bionic" (for Ubuntu 18.04)

that's not "cheating": Trinity is essentially bionic, but the maintainers of that distro chose to override what lsb_release should return.

There is no distro defined for trinity on the ROS ..

gvdhoorn gravatar image gvdhoorn  ( 2019-01-23 02:08:24 -0500 )edit

.. pkg repositories, so you'll have to revert the override of Trinity to the output of lsb_release and specify the correct base name of the distribution that Trinity is using.

gvdhoorn gravatar image gvdhoorn  ( 2019-01-23 02:09:13 -0500 )edit

Question Tools

2 followers

Stats

Asked: 2019-01-16 01:20:18 -0500

Seen: 752 times

Last updated: Jan 22 '19