problems compiling: qt5-qmake not found, then share/std_msgs/cmake/std_msgs-msg-paths.cmake not found

asked 2019-03-29 06:40:18 -0600

Ed gravatar image

Hi all,

I'm very new to ros. For the moment I'm copying turtlesim to my src directory and I will start making modifications from there.

I did the following:

$ cp -R /opt/ros/melodic/share/turtlesim/ ~/catkin_ws/src
$ cd ~/catkin_ws/src

Then I crated the package in order to have CMakeLists.txt:

$ catkin_create_pkg  turtlesim_edu geometry_msgs qtbase5-dev message_generation qt5-qmake rosconsole roscpp roscpp_serialization roslib rostime std_msgs std_srvs geometry_msgs
$ catkin_make

got the following error:

Could not find the required component 'qt5-qmake'.


The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.

CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):

Could not find a package configuration file provided by "qt5-qmake" with
  any of the following names:

qt5-qmakeConfig.cmake
qt5-qmake-config.cmake

some places suggested to install qt5-default package but didn't help:

sudo apt-get install qt5-default

I solved it with:

export CMAKE_PREFIX_PATH=/usr/local/Qt5.5.1/5.5/gcc_64/lib/cmake

I tried again and I got the following error:

-- +++ processing catkin package: 'beginner_tutorials'
-- ==> add_subdirectory(beginner_tutorials)
-- Using these message generators: 
CMake Error at /opt/ros/melodic/share/genmsg/cmake/genmsg-extras.cmake:271 (message):
   Could not find 'share/std_msgs/cmake/std_msgs-msg-paths.cmake' (searched in

My environment:

ubuntu-18.04.2 (I can install another version if necessary)
version) qt5-qmake/bionic-updates,now
5.9.5+dfsg-0ubuntu2 amd64 [installed] qt5-qmake-bin/bionic-updates,now
5.9.5+dfsg-0ubuntu2 amd64 [installed] ros-melodic-qt-qmake/bionic,now

1.0.1-0bionic.20181026.232051 amd64 [installed]

How can I solve this situation ?

Is there a better way to copy the package ?

Thanks all!

edit retag flag offensive close merge delete

Comments

Then I crated the package in order to have CMakeLists.txt:

$ catkin_create_pkg  turtlesim_edu geometry_msgs qtbase5-dev message_generation qt5-qmake rosconsole roscpp roscpp_serialization roslib rostime std_msgs std_srvs geometry_msgs

this will create packages, but will obviously not populate them with (the correct) content. They're just empty packages at this point.

How did you install ROS? Using apt or apt-get? Which installation tutorial did you follow? Or did you compile everything from source?

Packages like std_msgs and geometry_msgs are part of just about every ROS install, so the fact that you're missing them is rather strange.


Edit: I misread what you did.

gvdhoorn gravatar imagegvdhoorn ( 2019-03-29 07:50:10 -0600 )edit
Ed gravatar imageEd ( 2019-03-29 08:14:20 -0600 )edit

I extracted the list of dependences to include on the package from /opt/ros/melodic/share/turtlesim/package.xml.

# egrep "std|qt" turtlesim/package.xml 
  <build_depend>qtbase5-dev</build_depend>
  <build_depend>qt5-qmake</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>std_srvs</build_depend>

I understand this dependences are packages on /opt/ros/meolic/share, but qtbase5-dev and qt5-qmake packages are not in this directory.

Did I use a wrong example then ?

Ed gravatar imageEd ( 2019-03-30 10:11:28 -0600 )edit