How do I change the version of a package being used? Specifically, I want to downgrade the version of opencv being used.
I want to change the version of opencv I am using to fix a problem I am having, or to at least rule out the version update as the problem cause. The problem is described here.
Downgrading the package using apt-get does not work because the package source is not available. I used the following commands to download an archived version(current version 3.3.1):
wget -O opencv_contrib.zip https://github.com/opencv/opencv_cont... unzip opencv_contrib.zip
The unzipped file is 'opencv-3.3.0'. Initially moved the unzipped file to the src directory of my catkin workspace and executed catkin_make from the top of the work space. The build exited with errors.
Next, I moved the file to the /opt/src/kinetic/include directory where opencv-3.3.1 was located. Then I changed the files cv_bridge-extras.cmake and cv_bridgeConfig.cmake in the directory /opt/ros/kinetic/share/cv_bridge/cmake/ to reflect the version information and location that I wanted. I executed catkin_make again. There were no errors but does not finish. It gets hung up at:
[ 93%] Building CXX object apriltags_ros/apriltags_ros/CMakeFiles/apriltag_detector_nodelet.dir/src/apriltag_detector_nodelet.cpp.o
After about 15 minutes I interrupt the build and the following output is produced:
^CTraceback (most recent call last):
File "/opt/ros/kinetic/bin/catkin_make", line 296, in <module> sys.exit(main()) File "/opt/ros/kinetic/bin/catkin_make", line 240, in main> run_command(cmd, make_path) File "/opt/ros/kinetic/lib/python2.7/dist-packages/catkin/builder.py", line 239, in run_command proc.wait() File "/usr/lib/python2.7/subprocess.py", line 1392, in wait pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0) File "/usr/lib/python2.7/subprocess.py", line 476, in _eintr_retry_call return func(*args)KeyboardInterruptapriltags_ros/apriltags_ros/CMakeFiles/apriltag_detector_nodelet.dir/build.make:62: recipe for target 'apriltags_ros/apriltags_ros/CMakeFiles/apriltag_detector_nodelet.dir/src/apriltag_detector_nodelet.cpp.o' failed apriltags_ros/apriltags_ros/CMakeFiles/apriltag_detector_node.dir/build.make:62: recipe for target 'apriltags_ros/apriltags_ros/CMakeFiles/apriltag_detector_node.dir/src/apriltag_detector_node.cpp.o' failed make[2]: * [apriltags_ros/apriltags_ros/CMakeFiles/apriltag_detector_node.dir/src/apriltag_detector_node.cpp.o] Interrupt make[2]: * [apriltags_ros/apriltags_ros/CMakeFiles/apriltag_detector_nodelet.dir/src/apriltag_detector_nodelet.cpp.o] Interrupt
CMakeFiles/Makefile2:987: recipe for target 'apriltags_ros/apriltags_ros/CMakeFiles/apriltag_detector_node.dir/all' failed make[1]: * [apriltags_ros/apriltags_ros/CMakeFiles/apriltag_detector_node.dir/all] Interrupt CMakeFiles/Makefile2:1968: recipe for target 'apriltags_ros/apriltags_ros/CMakeFiles/apriltag_detector_nodelet.dir/all' failed make[1]: [apriltags_ros/apriltags_ros/CMakeFiles/apriltag_detector_nodelet.dir/all] Interrupt Makefile:138: recipe for target 'all' failed make: ** [all] Interrupt