This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
|
robotsoftware:mobotware:mobotware-ros [2012/01/18 16:54] claes |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Compile MobotWare with ROS Electric ====== | ||
| - | This should only be a problem for older versions of MobotWare. MobotWare has been updated, and the conflict is resolved in the current version. | ||
| - | ---- | ||
| - | |||
| - | We are currently working on solving the problems between ROS and MobotWare. | ||
| - | |||
| - | There are problems with | ||
| - | libcv-dev | ||
| - | libhighgui-dev | ||
| - | and the OpenCV package from ROS. | ||
| - | |||
| - | This is a walkthrough on how to solve the problem. | ||
| - | |||
| - | It does not solv all problems yet, we are still working on it. | ||
| - | The testing stopped at bayer2rgb, they may bee more problems thatt needs to be fixed in order to run an older version of MobotWare alongside ROS. | ||
| - | |||
| - | There are no plans for updating this page because of the new version of MobotWare, but we plan on leaving it as is. | ||
| - | |||
| - | ===== Initial changes ===== | ||
| - | First remove | ||
| - | libcv-dev | ||
| - | libhighgui | ||
| - | if you haven´t removed them, they will be removed automatically when you install ROS. | ||
| - | |||
| - | Then [[robotsoftware: | ||
| - | |||
| - | Execute these commands - Check you version of opencv to make sure you create the right links. | ||
| - | sudo ln -s / | ||
| - | sudo ln -s / | ||
| - | | ||
| - | Update | ||
| - | / | ||
| - | so it look like this | ||
| - | < | ||
| - | # Package Information for pkg-config | ||
| - | |||
| - | prefix=/usr | ||
| - | exec_prefix=${prefix} | ||
| - | libdir=${exec_prefix}/ | ||
| - | includedir_old=${prefix}/ | ||
| - | includedir_new=${prefix}/ | ||
| - | |||
| - | Name: OpenCV | ||
| - | Description: | ||
| - | Version: 2.3.1 | ||
| - | # | ||
| - | Libs: -L${exec_prefix}/ | ||
| - | Cflags: -I${includedir_old} -I${includedir_new} | ||
| - | </ | ||
| - | |||
| - | ===== Change following make files ===== | ||
| - | (This is only the first file that has to be updated. Try to find a solution so it can all be written in one file so you don´t have to change it.) | ||
| - | |||
| - | ==== ulmsserver ==== | ||
| - | / | ||
| - | Remove | ||
| - | < | ||
| - | | ||
| - | -lcv | ||
| - | </ | ||
| - | from the LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in ulmsserver makefile> | ||
| - | LDFLAGS = -g3 -O0 -L../../lib -lurob4o -lugen4o -lumap4o -lcxcore -lcv -ldl -rdynamic \ | ||
| - | -lcurses -lreadline -lpng -liau_mat | ||
| - | </ | ||
| - | Insert | ||
| - | < | ||
| - | in LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in ulmsserver makefile> | ||
| - | LDFLAGS = -g3 -O0 -L../../lib -lurob4o -lugen4o -lumap4o -L/usr/lib `pkg-config opencv-2.3.1 --libs` -ldl -rdynamic \ | ||
| - | -lcurses -lreadline -lpng -liau_mat | ||
| - | #Removed because of ROS update: -lcxcore -lcv -lhighgui | ||
| - | #Inserted because of ROS update: -L/usr/lib `pkg-config opencv-2.3.1 --libs` | ||
| - | </ | ||
| - | |||
| - | |||
| - | ==== auclient ==== | ||
| - | / | ||
| - | Remove | ||
| - | < | ||
| - | | ||
| - | -lcv | ||
| - | | ||
| - | </ | ||
| - | from the LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in auclient makefile> | ||
| - | LDFLAGS = -g3 -lcxcore -lcv -lhighgui \ | ||
| - | -L../../lib -lurob4o -lugen4o -lumap4o \ | ||
| - | -lpng -ldl -rdynamic -lcurses -lreadline -lurob4o -liau_mat | ||
| - | </ | ||
| - | Insert | ||
| - | < | ||
| - | in LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in auclient makefile> | ||
| - | LDFLAGS = -g3 -L/usr/lib `pkg-config opencv-2.3.1 --libs` \ | ||
| - | -L../../lib -lurob4o -lugen4o -lumap4o \ | ||
| - | -lpng -ldl -rdynamic -lcurses -lreadline -lurob4o -liau_mat | ||
| - | # extra preprocessor defines (mainly for module testcode) | ||
| - | # change NO_USE_HIGHGUI to USE_HIGHGUI for X-display direct | ||
| - | # if NO_USE_HIGHGUI, | ||
| - | |||
| - | #Removed because of ROS update: -lcxcore -lcv -lhighgui | ||
| - | #Inserted because of ROS update: -L/usr/lib `pkg-config opencv-2.3.1 --libs` | ||
| - | </ | ||
| - | |||
| - | ==== cameracalibrate ==== | ||
| - | / | ||
| - | Remove | ||
| - | < | ||
| - | | ||
| - | -lcv | ||
| - | | ||
| - | </ | ||
| - | from the LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in cameracalibrate makefile> | ||
| - | LDFLAGS = -lcxcore -lcv -lhighgui | ||
| - | </ | ||
| - | Insert | ||
| - | < | ||
| - | in LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in cameracalibrate makefile> | ||
| - | LDFLAGS = -L/usr/lib `pkg-config opencv-2.3.1 --libs` | ||
| - | #Removed because of ROS update: -lcxcore -lcv -lhighgui | ||
| - | #Inserted because of ROS update: -L/usr/lib `pkg-config opencv-2.3.1 --libs` | ||
| - | </ | ||
| - | |||
| - | ==== stereocalibrate ==== | ||
| - | / | ||
| - | Remove | ||
| - | < | ||
| - | | ||
| - | -lcv | ||
| - | | ||
| - | </ | ||
| - | from the LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in stereocalibrate makefile> | ||
| - | LDFLAGS = -lcxcore -lcv -lhighgui | ||
| - | </ | ||
| - | Insert | ||
| - | < | ||
| - | in LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in stereocalibrate makefile> | ||
| - | LDFLAGS = -L/usr/lib `pkg-config opencv-2.3.1 --libs` | ||
| - | #Removed because of ROS update: -lcxcore -lcv -lhighgui | ||
| - | #Inserted because of ROS update: -L/usr/lib `pkg-config opencv-2.3.1 --libs` | ||
| - | </ | ||
| - | |||
| - | |||
| - | ==== utmpose2kml ==== | ||
| - | / | ||
| - | Remove | ||
| - | < | ||
| - | | ||
| - | </ | ||
| - | from the LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in utmpose2kml makefile> | ||
| - | LDFLAGS = -L../../lib -lugen4o -lcxcore -lexpat | ||
| - | </ | ||
| - | Insert | ||
| - | < | ||
| - | in LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in utmpose2kml makefile> | ||
| - | LDFLAGS = -L../../lib -lugen4o -L/usr/lib `pkg-config opencv-2.3.1 --libs` -lexpat | ||
| - | #Removed because of ROS update: -lcxcore | ||
| - | #Inserted because of ROS update: -L/usr/lib `pkg-config opencv-2.3.1 --libs` | ||
| - | </ | ||
| - | |||
| - | ==== bayer2rgb ==== | ||
| - | There is some problem caused by ugen4 haven´t found it yet. Uncommented bayer2rgb from | ||
| - | .../ | ||
| - | | ||
| - | Here are the bayer2rgb makefile | ||
| - | / | ||
| - | Remove | ||
| - | < | ||
| - | | ||
| - | </ | ||
| - | from the LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in bayer2rgb makefile> | ||
| - | LDFLAGS = -lcxcore -lcv -lhighgui -L../../lib -lugen4o | ||
| - | </ | ||
| - | Insert | ||
| - | < | ||
| - | in LDFLAGS | ||
| - | <sxh java; highlight: [1]; title: Changes in bayer2rgb makefile> | ||
| - | LDFLAGS = -L/usr/lib `pkg-config opencv-2.3.1 --libs` -L../../lib -lugen4o | ||
| - | #Removed because of ROS update: -lcxcore -lcv -lhighgui | ||
| - | #Inserted because of ROS update: -L/usr/lib `pkg-config opencv-2.3.1 --libs` | ||
| - | </ | ||