Robocomp for Arch Linux
Since some dependencies don’t work out of the box for Robocomp’s framework, I’m looking into how to make it an Arch Linux package. This is kind of a fun project for me, I have never made a package before. This is the Arch Linux documentation that I’m reading.
- The ROS Index has an awesome list of dependencies available by system. It’s beautiful.
The dependencies are:
- pacman -> Easily installed by
sudo pacman -S git
Name | Repository | Name in Repository | Tested? |
---|---|---|---|
git | pacman | git | yes |
git-annex | pacman | git-annex | yes |
cmake | pacman | cmake | yes |
g++ | pacman | gcc | yes |
libgsl0-dev | pacman | gsl | yes |
libopenscenegraph-dev | pacman | openscenegraph | yes |
cmake-qt-gui | pacman | cmake | yes |
zeroc-ice35 | pacman | zeroc-ice | no |
freeglut3-dev | pacman | freeglut | no |
libboost-system-dev | pacman | boost-libs | no |
libboost-thread-dev | pacman | boost-libs | no |
qt4-dev-tools | pacman | qt4 | yes |
yakuake | pacman | yakuake | no |
python-pip | pacman | python-pip | yes |
python-pyparsing | pacman | python-pyparsing | no |
python-numpy | pacman | python-numpy | no |
python-pyside | pacman | python-pyside | no |
pyside-tools | pacman | python-pyside-tools | no |
libxt-dev | pacman | lib32-libxtst OR libxtpy | no |
pyqt4-dev-tools | pacman | python-pyqt4 | no |
qt4-designer | pacman | qt4 | no |
libboost-test-dev | pacman | boost | no |
libboost-filesystem-dev | pacman | boost-libs | no |
libqt4-dev | yaourt | lib32-qt4 | no |
libqt4-opengl-dev | pacman | qt4 | yes |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^^^^^^ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ^^^ |
Trying to run it from terminal
Checking for module 'ccd'
-- No package 'ccd' found
-- Checking for module 'libccd'
-- No package 'libccd' found
We have to download ccd and libccd from the user repisitory. yaourt -S libccd
Tested –> This worked!
Now the new error is this:
CMake Error at /home/gaby/projects/robocomp/cmake/robocompLocal.cmake:106 (MESSAGE):
Display.ice not found in any of the Slice directories
(;;/home/gaby/projects/robocomp//interfaces/).
Call Stack (most recent call first):
tools/rcinnerModelSimulator/src/CMakeLists.txt:52 (ROBOCOMP_WRAP_ICE)
It appears the ice package installed is not the correct one. Or something is wrong with installation folder. Let’s see.
make printed this /usr/bin/ld: cannot find -lIceUtil
It’s the ice dependency.
- Let’s try with ice-ssb from the user repository.–> It didn’t work.
- Let’s try with libice from pacman. –> It didn’t work.
Commented line 36 in /home/gaby/robocomp/tools/rclogger/src/CMakeLists.txt.
IceUtil was merged with Ice on version 3.7. I can’t find where in the makefiles IceUtil is referenced to fix it.
But the dependency Robocomp works with is Ice 3.5. This is a little bad.
After a lot of searching I found the old version here.
Project for Robocomp –> Actualizing Ice to version 3.7.
Update - April 2018
Debian doesn’t have Ice 3.7 in their package database. A local branch of Robocomp must be done to make it work with Ice 3.7, then Robocomp can be installed following a different tutorial with Arch and Fedora.
Another option would be updating the package in apt. Need to look into how to do that.