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

Revision history [back]

You need to install boost libraries greater than 1.58. Default boost for wheezy are 1.49

Not clean way how to do it:

$ mkdir ~/boost
$ cd ~/boost
$ wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
$ cd boost_1_59_0
$ ./bootstrap.sh
$ ./b2 stage threading=multi link=static
$ sudo ./b2 install threading=multi link=static --prefix=/usr
$ sudo rm -Rf ~/boost/

After this: remove directory "boost" from ~/ros_catkin_ws/src/vision_opencv/cv_bridge_src

$ sudo rm -Rf ~/ros_catkin_ws/src/vision_opencv/cv_bridge_src/boost

rebuild the workspace

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

You need to install boost libraries greater than 1.58. Default boost for wheezy are 1.49

Not clean way how to do it:

$ mkdir ~/boost
$ cd ~/boost
$ wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
$ tar xfz download
$ cd boost_1_59_0
$ ./bootstrap.sh
$ ./b2 stage threading=multi link=static
$ sudo ./b2 install threading=multi link=static --prefix=/usr
$ sudo rm -Rf ~/boost/

After this: remove directory "boost" from ~/ros_catkin_ws/src/vision_opencv/cv_bridge_src

$ sudo rm -Rf ~/ros_catkin_ws/src/vision_opencv/cv_bridge_src/boost

rebuild the workspace

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

You need to install boost libraries greater than 1.58. Default boost for wheezy are 1.49

Not clean way how to do it:

$ mkdir ~/boost
$ cd ~/boost
$ wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
$ tar xfz download
$ cd boost_1_59_0
$ ./bootstrap.sh
$ ./b2 stage threading=multi link=static
$ sudo ./b2 install threading=multi link=static --prefix=/usr
$ sudo rm -Rf ~/boost/

After this: remove directory "boost" from ~/ros_catkin_ws/src/vision_opencv/cv_bridge_src~/ros_catkin_ws/src/vision_opencv/cv_bridge/src

$ sudo rm -Rf ~/ros_catkin_ws/src/vision_opencv/cv_bridge_src/boost
~/ros_catkin_ws/src/vision_opencv/cv_bridge/src/boost

rebuild the workspace

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

You need to install boost libraries greater than 1.58. Default boost for wheezy are 1.49

Not clean way how to do it:

$ mkdir ~/boost
$ cd ~/boost
$ wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
$ tar xfz download
$ cd boost_1_59_0
$ ./bootstrap.sh
$ ./b2 stage threading=multi link=static
link=dynamic
$ sudo ./b2 install threading=multi link=static link=dynamic --prefix=/usr
$ sudo rm -Rf ~/boost/

After this: remove directory "boost" from ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src

$ sudo rm -Rf ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src/boost

rebuild the workspace

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

You need to install boost libraries greater than 1.58. Default boost for wheezy are 1.49

Not clean way how to do it:

$ mkdir ~/boost
$ cd ~/boost
$ wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
$ tar xfz download
$ cd boost_1_59_0
$ ./bootstrap.sh
$ ./b2 stage threading=multi link=dynamic
link=shared
$ sudo ./b2 install threading=multi link=dynamic link=shared --prefix=/usr
$ sudo rm -Rf ~/boost/

After this: remove directory "boost" from ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src

$ sudo rm -Rf ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src/boost

rebuild the workspace

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

You need to install boost libraries greater than 1.58. Default boost for wheezy are 1.49

Not clean way how to do it:

$ mkdir ~/boost
$ cd ~/boost
$ wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
$ tar xfz download
$ cd boost_1_59_0
$ ./bootstrap.sh
$ ./b2 stage threading=multi link=shared
$ sudo ./b2 install threading=multi link=shared --prefix=/usr
$ sudo rm -Rf ~/boost/

After this: remove directory "boost" from ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src

$ sudo rm -Rf ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src/boost

rebuild the workspace

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

Warning!!! this mixes 1.49 and 1.59 boost libraries, so you can get linking errors in other packages!!! Ideally uninstall boost 1.49, then install 1.59

You need to install boost libraries greater than 1.58. Default boost for wheezy are 1.49

Not clean way how to do it:

$ mkdir ~/boost
$ cd ~/boost
$ wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
$ tar xfz download
$ cd boost_1_59_0
$ ./bootstrap.sh
$ ./b2 stage threading=multi link=shared
variant=release
$ sudo ./b2 install threading=multi link=shared stage variant=release --prefix=/usr
$ sudo rm -Rf ~/boost/

After this: remove directory "boost" from ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src

$ sudo rm -Rf ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src/boost

rebuild the workspace

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

Warning!!! this mixes 1.49 and 1.59 boost libraries, so you can get linking errors in other packages!!! Ideally uninstall boost 1.49, then install 1.59

You need to install boost libraries greater than 1.58. Default boost for wheezy are 1.49

Not clean way how to do it:

$ mkdir ~/boost
$ cd ~/boost
$ wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
$ tar xfz download
$ cd boost_1_59_0
$ ./bootstrap.sh
$ ./b2 stage variant=release
$ sudo ./b2 install stage variant=release --prefix=/usr
$ sudo rm -Rf ~/boost/

After this: remove directory "boost" from ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src

$ sudo rm -Rf ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src/boost

rebuild the workspace

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

Warning!!! this mixes 1.49 and 1.59 boost libraries, so you can get linking errors in other packages!!! Ideally uninstall boost 1.49, then install 1.59

Came up with better solution:

in file ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src/cv_bridge.cpp make follow changes:

comment:

//#include "boost/endian/conversion.hpp"

comment:

//if ((boost::endian::order::native == boost::endian::order::big && source.is_bigendian) ||
//    (boost::endian::order::native == boost::endian::order::little && !source.is_bigendian) ||
//    byte_depth == 1)
    return mat;

change:

ros_image.is_bigendian = 0;//(boost::endian::order::native == boost::endian::order::big);

partially comment and change:

if ((!encoding.empty() && source.encoding != encoding));// || (source.is_bigendian &&
    //(boost::endian::order::native != boost::endian::order::big)))
return toCvCopy(source, encoding);

Assuming you will use ROS in little endian OS only.

You need to install boost libraries greater than 1.58. Default boost for wheezy are 1.49

Not clean way how to do it:

$ mkdir ~/boost
$ cd ~/boost
$ wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
$ tar xfz download
$ cd boost_1_59_0
$ ./bootstrap.sh
$ ./b2 stage variant=release
$ sudo ./b2 install stage variant=release --prefix=/usr
$ sudo rm -Rf ~/boost/

After this: remove directory "boost" from ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src

$ sudo rm -Rf ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src/boost

rebuild the workspace

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

Warning!!! this mixes 1.49 and 1.59 boost libraries, so you can get linking errors in other packages!!! Ideally uninstall boost 1.49, then install 1.59

Came up with better solution:

in file ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src/cv_bridge.cpp make follow changes:

comment:

//#include "boost/endian/conversion.hpp"

comment:

//if ((boost::endian::order::native == boost::endian::order::big && source.is_bigendian) ||
//    (boost::endian::order::native == boost::endian::order::little && !source.is_bigendian) ||
//    byte_depth == 1)
    return mat;

change:

ros_image.is_bigendian = 0;//(boost::endian::order::native == boost::endian::order::big);

partially comment and change:

if ((!encoding.empty() && source.encoding != encoding));// encoding))// || (source.is_bigendian &&
    //(boost::endian::order::native != boost::endian::order::big)))
return toCvCopy(source, encoding);

Assuming you will use ROS in little endian OS only.

You need to install Wheezy has boost libraries greater than 1.58. Default boost for wheezy are 1.49

Not clean way how to do it:

$ mkdir ~/boost
$ cd ~/boost
$ wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
$ tar xfz download
$ cd boost_1_59_0
$ ./bootstrap.sh
$ ./b2 stage variant=release
$ sudo ./b2 install stage variant=release --prefix=/usr
$ sudo rm -Rf ~/boost/

After this: remove directory "boost" 1.49, endian library is from ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src

$ sudo rm -Rf ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src/boost

rebuild the workspace

$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/indigo

Warning!!! this mixes 1.49 and 1.59 boost libraries, so you can get linking errors in other packages!!! Ideally uninstall boost 1.49, then install 1.59version 1.58.

Came up Working solution

use only if you are interfacing computers with better solution:little endian operating systems.

in file ~/ros_catkin_ws/src/vision_opencv/cv_bridge/src/cv_bridge.cpp make follow changes:

comment:

//#include "boost/endian/conversion.hpp"

comment:

//if ((boost::endian::order::native == boost::endian::order::big && source.is_bigendian) ||
//    (boost::endian::order::native == boost::endian::order::little && !source.is_bigendian) ||
//    byte_depth == 1)
    return mat;

change:

ros_image.is_bigendian = 0;//(boost::endian::order::native == boost::endian::order::big);

partially comment and change:

if ((!encoding.empty() && source.encoding != encoding))// || (source.is_bigendian &&
    //(boost::endian::order::native != boost::endian::order::big)))
return toCvCopy(source, encoding);

Assuming you will use ROS in little endian OS only.