I am packaging rviz as a snap and running into some issues.
My snapfile.yaml:
name: rviz
version: 1.11.14
summary: rotobot operating system framework visualizer
description: |
3D visualizer for use with ROS framework
grade: stable
confinement: devmode
parts:
rviz-workspace:
after: [desktop-qt4]
plugin: catkin
rosdistro: indigo
catkin-packages:
- rviz
apps:
rviz:
command: desktop-launch rviz
plugs: [network, network-bind, home, x11, opengl]
You can use the above file by following these steps:
mkdir workspace
cd workspace
mkdir snap
// copy the above snapcraft.yaml into the snap dir
mkdir src
cd src
git clone https://github.com/ros-visualization/rviz.git
cd rviz
git checkout -t origin/indigo-devel
cd ../..
snapcraft cleanbuild
Basically, the above is the layout that will allow you to use the catkin
snap plugin to build rviz.
For me the build runs to completion (rviz is built and its install steps are run). However it then fails at what I presume is the snap packaging phase with the following:
Cleaning up newly installed Catkin packages...
Parts 'desktop-qt4' and 'rviz-workspace' have the following file paths in common which have different contents:
etc/fonts/conf.avail/10-no-sub-pixel.conf
etc/fonts/conf.avail/10-scale-bitmap-fonts.conf
etc/fonts/conf.avail/30-metric-aliases.conf
etc/fonts/conf.avail/45-latin.conf
etc/fonts/conf.avail/60-latin.conf
etc/fonts/fonts.conf
etc/init.d/x11-common
lib/x86_64-linux-gnu/libexpat.so.1.6.0
usr/bin/fc-cache
... and so on
Snapcraft offers some capabilities to solve this by use of the following keywords:
- `filesets`
- `stage`
- `snap`
- `organize`
I looked into the above keywords however the documentation didn’t help me too much in understanding how to properly apply them to my problem.
Any tips or guidance in what I should try next would be much appreciated.
RViz is a Qt4 application that needs opengl.