Search code examples
c++compilationcompiler-errorsqt4

No rule to make target *.so


I am trying to build this https://github.com/felixendres/rgbdslam_v2 with ROS catkin. However, that shouldn't be that relevant. The error I am getting is with my installation of qt4.

No rule to make target /usr/lib/arm-linux-gnueabihf/libQtGui.so', needed by/home/odroid/catkin_ws/devel/lib/rgbdslam/rgbdslam'. Stop.

I heard else where that this is caused by duplicate library files, but when I do

ldconfig -p | grep libQtGui 

I get

libQtGui.so.4 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libQtGui.so.4
libQtGui.so (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libQtGui.so

How would I fix this build error? I think it has something to do with RGBDSLAM not being designed for arm and searching in the wrong place, but it is only doing a find_package(Qt4 REQUIRED) and include(${QT_USE_FILE})

Edit: Another example: No rule to make target /usr/lib/libpcl_io.so', needed by/home/odroid/catkin_ws/devel/lib/pcl_ros/convert_pcd_to_image'

I compiled both qt4 and pcl from source and only did sudo make install.


Solution

  • This error means that a second copy of the library is lying around. Run aptitude search to find the extra copy.