ROS noetic: I want to use GNSS data in Rvis, but an error occurs in the catkin build.
First
I started studying ROS about a week ago. I started learning ROS about a week ago. I apologize if this question is elementary. I have git cloned a package that I want to use in ROS, but when I do a catkin build, I get a build error. If anyone has a solution, please let me know.
Environment
- Ubuntu 20.04
- ROS noetic
- GNSS receiver module : ZED-F9P
Final Goal
I want to reflect GNSS data in ROS Rvis and use it for autonomous movement of the robot.
Current problem
We performed the procedure with reference to the following site.
Reference site: https://qiita.com/k-koh/items/91d7ea5...
Procedure
- ~/catkin_ws/src
- git clone https://github.com/hakuturu583/gps_rv...
- cd ../
- catkin build
I got the following error when I did a catkin build.
error message:
/home/ubuntu/catkin_ws/src/gps_rviz_plugin/src/overlay_gps_display.cpp:55:33: error: ‘PyString_FromString’ was not declared in this scope; did you mean ‘PyLong_FromString’?
55 | PyObject* request_url_str = PyString_FromString(request_url.c_str());
PyString_FromString --> PyLong_FromString
I tried changing line 55 in overlay_gps_display according to the error message, but when I run build again, I got the following error when I did a catkin build.
Errors << gps_rviz_plugin:make /home/ubuntu/catkin_ws/logs/gps_rviz_plugin/build.make.003.log /home/ubuntu/catkin_ws/src/gps_rviz_plugin/src/overlay_gps_display.cpp: In member function ‘bool gps_rviz_plugin::OverlayGpsDisplay::download_map(std::string)’:
/home/ubuntu/catkin_ws/src/gps_rviz_plugin/src/overlay_gps_display.cpp:55:70: error: too few arguments to function ‘PyObject* PyLong_FromString(const char, char*, int)’
55 | PyObject* request_url_str = PyLong_FromString(request_url.c_str());
| ^
In file included from /usr/include/python3.8/Python.h:98,
from /home/ubuntu/catkin_ws/src/gps_rviz_plugin/include/overlay_gps_display.h:42, from /home/ubuntu/catkin_ws/src/gps_rviz_plugin/src/overlay_gps_display.cpp:1:
/usr/include/python3.8/longobject.h:103:24: note: declared here
103 | PyAPI_FUNC(PyObject ) PyLong_FromString(const char *, char *, int);
| ^~~~~~~~~~~~~~~~~
make[2]: * [CMakeFiles/gps_rviz_plugin.dir/build.make:76:
CMakeFiles/gps_rviz_plugin.dir/src/overlay_gps_display.cpp.o] error 1
make[1]: * [CMakeFiles/Makefile2:211: CMakeFiles/gps_rviz_plugin.dir/all] error 2
make: * [Makefile:141: all] error 2
※The following has been resolved
Also, I have performed the procedure with reference to the following site.
Reference site: https://qiita.com/k-koh/items/8fd8ef6...
Procedure
- ~/catkin_ws/src
- git clone https://github.com/KumarRobotics/ublo...
- cd ../
- catkin build
I got the following error when I did a catkin build.
Cmake Error at /opt//ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package)
Could not find a package configuration file provided by "rtcm_msgs" with any of the following names:
rtcm_msgsConfig.cmake
rtcm?_msgs-config.cmake
Add the installation prefix of "rtcm_msgs" to CMAKE_PREFIX_PATH or set "rtcm_msgs_DIR" to a directory containing one of the above files. If "rtcm_msgs" provides a separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
CmakeLists.txt:3 (find_package)
My guess is that it is due to my ROS version being different from the reference site. Is there any way to make GNSS data available in Rviz?
At the end
I am new to ROS ...