So yesterday I decided to preupgrade fc 15 to 16. And,as always, fedora didn’t disappoint in coming up with issues. Although it downloaded the required packages all fine, on reboot, anaconda fired up and fell through on not being able to install qt-examples, and since it represented a possible media failure from the (local) repo, it decided to fatal error on me, dropping to a non responsive screen.
Fortunately, I could shift to tty2 (Alt+F2) where I got anaconda’s bash. I
/mnt/sysimg to get to my fedora install, and
qt-examples. This done, I rebooted to find anaconda chugging along fine.
As expected, that wasn’t the end. Since fc16 has implemented grub2 by default, anaconda tried to update grub, but because my Dell Utility partition didn’t leave any space at the beginning of the drive, it failed. So I booted up fc15, which fortunately had not been removed, and
gparted the Dell utility partition off. I then made the grub2 config and installed it to
Not. So, I happily logged in to FC 16, and it was only when I accessed my yum repos, I realized that they were still fc15. After trying yum clean all and makecache, I looked up on the net to find that I needed to reinstall fedora-release. a yum reinstall fedora-release threw up an error
"Error: Protected multilib versions: fedora-release-15-3.noarch != fedora-release-16-1.noarch"
After a lot of looking around, realized that the issue lay in the fact that somehow yum was getting
$releasever wrong all the time. So, as a workaround, created a
releasever file in
16 in it. Voila!
I then had to erase all the duplicates on my system that amounted to over 5.5 GB(!) using
package-cleanup --cleandupes. Additionally, to avoid dependency hell I had to remove all my boost library installs.
Update: You can follow the rest of the development on this page. I don’t like it.
So I went around trying to install ROS Electric on my Fedora machine again (Had to increase the partition size earlier today using a GParted iso). Went about the procedure on the website – fortunately this time atleast the initial ROS install completed without any issues. So the deal is that with this iteration quite a lot of the dependencies of ROS have been offloaded to the system – something that I realized as soon as I tried rosmaking vision_opencv. I needed to have Opencv 2.3.1, and Fedora’s repos only provided 2.2, so I built OpenCV from source using cmake, and threw in TBB, libv4l, gstreamer stuff and unicap (since I’ll be dealing a lot with video). Once it was built, as in my very first post, copied the generated opencv.pc file from /usr/local/lib/pkgconfig to /usr/lib64/pkgconfig. No dice, with rosmake crying about not being able to find opencv2.3.1. Then judging by one of the prompts created a clone in the same folder called opencv-2.3.1.pc, a ldconfig -v, and voila!
The next thing I set upon trying to make was simulator_gazebo, and was (predictably) thrown up loads of dependency issues. Had to install yampl-cpp-devel, tinyxml-devel, vtk-devel, libyaml-devel, rosdep install for gazebo_tools, build assimp, copied the /usr/include/ffmpeg/* to /usr/include (to fix missing avformat.h), hdf5-devel, added -ltinyxml flag to /gazebo/build/CMakeCache.txt (and in gazebo_tools), added a VTK_DIR:FILEPATH=/usr/lib64/vtk-5.6 to pcl_ros/CMakeCache.txt … Didnt work, used http://www.cmake.org/pipermail/cmake/2006-March/008633.html and changed VTK REQUIRED to VTK% required. Also changed the path in the URL file to point to lib64/vtk-5.6
Then I used the info at http://www.cmake.org/pipermail/cmake/2006-March/008633.html and changed VTK REQUIRED to VTK5 required in the cmake files. Also changed the path in the URL file to point to lib64/vtk-5.6 , which fixed the VTK errors. It was around this time when I created this question on answers.ros.org which got finally resolved (yay!)