This is an old revision of the document!
MobotWare has been updated, so this should only be a problem with older versions. 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.
This page will notupdated because of the new version of MobotWare.
First remove
libcv-dev libhighgui
if you haven´t removed them, they will be removed automatically when you install ROS.
Then install ROS, when it is installed return here.
Execute these commands - Check you version of opencv to make sure you create the right links.
sudo ln -s /usr/include/opencv-2.3.1/opencv2 /usr/include/opencv2 sudo ln -s /usr/include/opencv-2.3.1/opencv /usr/include/opencv
Update
/usr/lib/pkgconfig/opencv-2-3-1.pc
so it look like this
# Package Information for pkg-config prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir_old=${prefix}/include/opencv-2.3.1/opencv includedir_new=${prefix}/include/opencv-2.3.1 Name: OpenCV Description: Open Source Computer Vision Library Version: 2.3.1 #Libs: -l${exec_prefix}/lib/libopencv_contrib.so.2.3.1 -l${exec_prefix}/lib/libopencv_legacy.so.2.3.1 -l${exec_prefix}/lib/libopencv_objdetect.so.2.3.1 -l${exec_prefix}/lib/libopencv_calib3d.so.2.3.1 -l${exec_prefix}/lib/libopencv_features2d.so.2.3.1 -l${exec_prefix}/lib/libopencv_video.so.2.3.1 -l${exec_prefix}/lib/libopencv_highgui.so.2.3.1 -l${exec_prefix}/lib/libopencv_ml.so.2.3.1 -l${exec_prefix}/lib/libopencv_imgproc.so.2.3.1 -l${exec_prefix}/lib/libopencv_flann.so.2.3.1 -l${exec_prefix}/lib/libopencv_core.so.2.3.1 Libs: -L${exec_prefix}/lib -lopencv_contrib -lopencv_legacy -lopencv_objdetect -lopencv_calib3d -lopencv_features2d -lopencv_video -lopencv_highgui -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core Cflags: -I${includedir_old} -I${includedir_new}
(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.)
/aurobotserves/trunk/src/ulmsserver/makefile
Remove
-lcxcore -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 \
</sxh> Insert
-L/usr/lib `pkg-config opencv-2.3.1 --libs`
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 \
#Removed because of ROS update: -lcxcore -lcv -lhighgui #Inserted because of ROS update: -L/usr/lib `pkg-config opencv-2.3.1 –libs` </sxh>
/aurobotserves/trunk/src/auclient/makefile
Remove
-lcxcore -lcv -lhighgui
from the LDFLAGS <sxh java; highlight: [1]; title: Changes in auclient makefile> LDFLAGS = -g3 -lcxcore -lcv -lhighgui \
-lpng -ldl -rdynamic -lcurses -lreadline -lurob4o -liau_mat </sxh> Insert
-L/usr/lib `pkg-config opencv-2.3.1 --libs`
in LDFLAGS <sxh java; highlight: [1]; title: Changes in auclient makefile> LDFLAGS = -g3 -L/usr/lib `pkg-config opencv-2.3.1 –libs` \
-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, then -lhighgui may be removed from LDFLAGS
#Removed because of ROS update: -lcxcore -lcv -lhighgui #Inserted because of ROS update: -L/usr/lib `pkg-config opencv-2.3.1 –libs` </sxh>
/aurobotserves/trunk/utils/cameracalibrate/makefile
Remove
-lcxcore -lcv -lhighgui
from the LDFLAGS <sxh java; highlight: [1]; title: Changes in cameracalibrate makefile> LDFLAGS = -lcxcore -lcv -lhighgui </sxh> Insert
-L/usr/lib `pkg-config opencv-2.3.1 --libs`
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` </sxh>
/aurobotserves/trunk/utils/stereocalibrate/makefile
Remove
-lcxcore -lcv -lhighgui
from the LDFLAGS <sxh java; highlight: [1]; title: Changes in stereocalibrate makefile> LDFLAGS = -lcxcore -lcv -lhighgui </sxh> Insert
-L/usr/lib `pkg-config opencv-2.3.1 --libs`
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` </sxh>
/aurobotserves/trunk/utils/utmpose2kml/makefile
Remove
-lcxcore
from the LDFLAGS <sxh java; highlight: [1]; title: Changes in utmpose2kml makefile> LDFLAGS = -L../../lib -lugen4o -lcxcore -lexpat </sxh> Insert
-L/usr/lib `pkg-config opencv-2.3.1 --libs`
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` </sxh>
There is some problem caused by ugen4 haven´t found it yet. Uncommented bayer2rgb from
.../utils/makefile
Here are the bayer2rgb makefile
/aurobotserves/trunk/utils/bayer2rgb/makefile
Remove
-lcxcore
from the LDFLAGS <sxh java; highlight: [1]; title: Changes in bayer2rgb makefile> LDFLAGS = -lcxcore -lcv -lhighgui -L../../lib -lugen4o </sxh> Insert
-L/usr/lib `pkg-config opencv-2.3.1 --libs`
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` </sxh>