2023-03-21 23:47:26 -0500 | marked best answer | Can"t find libroscpp.so fedora 21 Hello all ! Might be good information to know that I'm using the repo for here to try Ros on Fedora 21. All was working fine before today when I tried roscore and I was hit with this error on start-up : [malcolm@localhost ~]$ roscore
... logging to /home/malcolm/.ros/log/17102148-d3b5-11e4-9c31-dc85de5a9ca4/roslaunch-localhost.localdomain-3906.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://localhost.localdomain:60372/
ros_comm version 1.11.10
SUMMARY
========
PARAMETERS
* /rosdistro: indigo
* /rosversion: 1.11.10
NODES
auto-starting new master
process[master]: started with pid [3917]
ROS_MASTER_URI=http://localhost.localdomain:11311/
setting /run_id to 17102148-d3b5-11e4-9c31-dc85de5a9ca4
/opt/ros/indigo/lib/rosout/rosout: error while loading shared libraries: libroscpp.so: cannot open shared object file: No such file or directory
process[rosout-1]: started with pid [3930]
started core service [/rosout]
[rosout-1] process has died [pid 3930, exit code 127, cmd /opt/ros/indigo/lib/rosout/rosout __name:=rosout __log:=/home/malcolm/.ros/log/17102148-d3b5-11e4-9c31-dc85de5a9ca4/rosout-1.log].
log file: /home/malcolm/.ros/log/17102148-d3b5-11e4-9c31-dc85de5a9ca4/rosout-1*.log
My ROS params at start-up are : declare -x ROSLISP_PACKAGE_DIRECTORIES="/home/malcolm/ros_ws/indigo_catkin/devel/share/common-lisp"
declare -x ROS_DISTRO="indigo"
declare -x ROS_ETC_DIR="/opt/ros/indigo/etc/ros"
declare -x ROS_MASTER_URI="http://localhost:11311"
declare -x ROS_PACKAGE_PATH="/home/malcolm/ros_ws/indigo_catkin/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks"
declare -x ROS_ROOT="/opt/ros/indigo/share/ros"
declare -x ROS_TEST_RESULTS_DIR="/home/malcolm/ros_ws/indigo_catkin/build/test_results"
And I can find the named .so in [malcolm@localhost lib]$ pwd
/opt/ros/indigo/lib
[malcolm@localhost lib]$ ls | grep libroscpp
libroscpp_serialization.so
libroscpp.so
All was working fine couple of days ago. So I really have no idea what happen since I don't think I did anything significant and I didn't worked on ROS lately. I tried reinstalling it but with no luck. I appreciate any idea or explanation on why it suddenly broke ! [UPDATE] [malcolm@localhost ~]$ ldd /opt/ros/indigo/lib/rosout/rosout
linux-vdso.so.1 => (0x00007fff48749000)
libroscpp.so => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa96de3e000)
libboost_signals.so.1.55.0 => /lib64/libboost_signals.so.1.55.0 (0x00007fa96dc26000)
libboost_filesystem.so.1.55.0 => /lib64/libboost_filesystem.so.1.55.0 (0x00007fa96da0d000)
librosconsole.so => not found
librosconsole_log4cxx.so => not found
librosconsole_backend_interface.so => not found
liblog4cxx.so.10 => /lib64/liblog4cxx.so.10 (0x00007fa96d61b000)
libboost_regex.so.1.55.0 => /lib64/libboost_regex.so.1.55.0 (0x00007fa96d30a000)
libroscpp_serialization.so => not found
librostime.so => not found
libboost_date_time.so.1.55.0 => /lib64/libboost_date_time.so.1.55.0 (0x00007fa96d0f7000)
libxmlrpcpp.so => not found
libcpp_common.so => not found
libboost_system.so.1.55.0 => /lib64/libboost_system.so.1.55.0 (0x00007fa96cef2000)
libboost_thread.so.1.55.0 => /lib64/libboost_thread.so.1.55.0 (0x00007fa96ccd7000)
libconsole_bridge.so => /lib64/libconsole_bridge.so (0x00007fa96cacd000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fa96c7be000)
libm.so.6 => /lib64/libm.so.6 (0x00007fa96c4b5000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fa96c29e000)
libc.so.6 => /lib64/libc.so.6 ... (more) |
2023-03-21 23:47:25 -0500 | received badge | ● Good Answer
(source)
|
2023-03-14 15:41:33 -0500 | marked best answer | Compiling with Cmake and PCL Hellow everyone, I have a problem with compiling my code and I can't seem to find the solution anywhere.
I'm using PCL. My main is in a one file named main.cpp. The code inside is irrelevant. The thing is in order to use the fromROSMsg() pcl_ros function I need to declare it somewhere in the main file. Like for example I have a function callback() for now that is used absolutely nowhere in the code later on like this : void callback(){
const sensor_msgs::PointCloud2ConstPtr& cloudy;
pcl::PointCloud<pcl::PointXYZRGBA> cloud;
pcl::fromROSMsg(*cloudy, cloud);
}
And this function is absolutely of no use later on since my callback function is actually a class function somewhere else using fromROSMsg by herself. but if I don't include this function somewhere in the main file here is the result of CMake : /home/ros/catkin_ws/devel/lib/lib3Dmain.so: undefined reference to 'pcl::console::print(pcl::console::VERBOSITY_LEVEL, char const*, ...)'
collect2: ld a retourné 1 code d'état d'exécution
make[2]: *** [/home/ros/catkin_ws/devel/lib/open_tld_3d/opentld_3D] Erreur 1
make[1]: *** [open_tld_3d/CMakeFiles/opentld_3D.dir/all] Erreur 2
I tried linking manually PCL in themakefile as explain Here but it didn't help. Thanks a lot for any help. Here is the CMakeLists.txt : cmake_minimum_required(VERSION 2.8.3)
project(this_project)
## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
cv_bridge
geometry_msgs
pcl
pcl_ros
roscpp
rospy
sensor_msgs
std_msgs
)
find_package(PCL REQUIRED)
find_package(OpenCV REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
include_directories(${OpenCV_INCLUDE_DIRS}
include/this_project)
include_directories(
src/opentld
src/opentld/main
src/libopentld/imacq
src/libopentld/mftracker
src/libopentld/tld
src/libopentld/tld/detector
src/libopentld/tld/detector/cuda
src/3rdparty/cvblobs
src/3rdparty/libconfig)
include_directories(src/libopentld/imacq
src/libopentld/mftracker
src/libopentld/tld
src/libopentld/tld/detector
src/libopentld/tld/detector/cuda
src/libopentld/tld/detector/cuda/npp
${CUDA_INCLUDE_DIRS})
## System dependencies are found with CMake's conventions
# find_package(Boost REQUIRED COMPONENTS system)
## Uncomment this if the package has a setup.py. This macro ensures
## modules and global scripts declared therein get installed
## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
# catkin_python_setup()
###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## INCLUDE_DIRS: uncomment this if you package contains header files
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
INCLUDE_DIRS include
LIBRARIES open_tld_3d
CATKIN_DEPENDS geometry_msgs roscpp rospy std_msgs pcl_ros pcl
DEPENDS system_lib
)
###########
## Build ##
###########
## Specify additional locations of header files
## Your package locations should be listed before other locations
# include_directories(include)
include_directories(
${catkin_INCLUDE_DIRS}
)
## Declare a cpp library
add_library(3dlib
include/open_tld_3d/handler3D.cpp
include/open_tld_3d/handler3D.hpp)
add_library(3Dcvblobs
src/3rdparty/cvblobs/blob.cpp
src/3rdparty/cvblobs/BlobContour.cpp
src/3rdparty/cvblobs/BlobOperators.cpp
src/3rdparty/cvblobs/BlobProperties.cpp
src ... (more) |
2023-01-01 08:16:44 -0500 | marked best answer | Synchronise point Cloud and RGB Image from the same camera Hello, I possess a Xtion camera and I'm trying to retrieve the Point Cloud AND the rgb image at the same time through a Callback Function. I tried using message_filters to do this as such : message_filters::Subscriber<sensor_msgs::PointCloud2> cloud_sub(nh, "/camera/depth/points_xyzrgb", 100);
message_filters::Subscriber<sensor_msgs::Image> image_sub(nh, "/camera/rgb/image", 100);
message_filters::TimeSynchronizer<sensor_msgs::PointCloud2, sensor_msgs::Image> sync(cloud_sub, image_sub, 10);
sync.registerCallback(boost::bind(&Main::doWork, main, _1, _2));
The code is working but since the message are not published at the exact same time (it is actually my guess of why the callback is never call), the Callback is never called and nothing happen. My second idea would have been to store the rgb data each time the call back for this image is called and compared the time stamp of this image with the PointCloud one, for them not to be to far apart. But it's not a very elegant solution and I'm wondering if nothing better exist to do that in ROS.
I would love to be able to give messages filter a space in which it can consider two messages to be published at the same time but I didn't find a way to do it in the doc. I know already that I can find the rgb image from the pointCloud but the calculation are more intensive if I do it that way... Thanks for you help and time ! |
2022-09-08 18:11:05 -0500 | received badge | ● Notable Question
(source)
|
2022-09-08 18:11:05 -0500 | received badge | ● Famous Question
(source)
|
2022-04-22 07:46:21 -0500 | marked best answer | install perception pcl Hellow, I'm trying to install the package here perception_pcl to use the object recognition of pcl in ros Groovy. For now I have pcl installed in groovy (pcl 1.6) and I can't figure how to install this repo in my catkin workspace. I tried cloning it and then catkin_make or cmake then make pcl then catkin_make while isolating the pcl folder but I have tons of dependency error then. Can someone give me a "how to do it" explanation please ? There is no README so I'm lost >< I tried follow this link as well but there is no cmake_find_ros anymore... For example I just ran catkin_make after downloading the package and I have that kind of errors : In file included from /home/ros/catkin_ws/src/perception_pcl-groovy-unstable-devel/pcl_ros/src/pcl_ros/features/feature.cpp:51:0:
/home/ros/catkin_ws/src/perception_pcl-groovy-unstable-devel/pcl_ros/include/pcl_ros/features/feature.h:43:35: erreur fatale: pcl_msgs/PointIndices.h : Aucun fichier ou dossier de ce type
compilation terminée.
In file included from /home/ros/catkin_ws/src/perception_pcl-groovy-unstable-devel/pcl_ros/tools/pcd_to_pointcloud.cpp:53:0:
/home/ros/catkin_ws/src/perception
_pcl-groovy-unstable-devel/pcl_ros/include/pcl_ros/publisher.h:50:29: erreur fatale: pcl/conversions.h : Aucun fichier ou dossier de ce type
compilation terminée.
Here is the output of dkpg -l |grep perception ros@ros-K56CM:~$ dpkg -l |grep perception
ii ros-groovy-perception 1.0.0-s1391975666~precise Meta package for perception variant of ROS.
ii ros-groovy-perception-pcl 1.0.36-0precise-20131016-0534-+0000 PCL (Point Cloud Library) ROS interface stack. PCL-ROS is the preferred bridge for 3D applications involving n-D Point Clouds and 3D geometry processing in ROS.
Here are my includes in my program : #include <pcl/recognition/cg/hough_3d.h>
#include <pcl/recognition/cg/geometric_consistency.h>
And here is the output of catkin_make : ros@ros-K56CM:~/catkin_ws$ catkin_make --pkg stalker
Base path: /home/ros/catkin_ws
Source space: /home/ros/catkin_ws/src
Build space: /home/ros/catkin_ws/build
Devel space: /home/ros/catkin_ws/devel
Install space: /home/ros/catkin_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/ros/catkin_ws/build"
####
####
#### Running command: "make -j4 -l4" in "/home/ros/catkin_ws/build/Tobot/stalker"
####
[ 20%] Built target basic
[ 20%] Built target gui
[ 20%] [ 40%] Building CXX object Tobot/stalker/CMakeFiles/3Dreckon.dir/include/stalker/reckon_pipeline/Main.cpp.o
Building CXX object Tobot/stalker/CMakeFiles/3Dreckon.dir/include/stalker/reckon_pipeline/CorrespGrouping.cpp.o
In file included from /home/ros/catkin_ws/src/Tobot/stalker/include/stalker/reckon_pipeline/Main.hpp:9:0,
from /home/ros/catkin_ws/src/Tobot/stalker/include/stalker/reckon_pipeline/Main.cpp:1:
/home/ros/catkin_ws/src/Tobot/stalker/include/stalker/reckon_pipeline/CorrespGrouping.hpp:8:41: erreur fatale: pcl/recognition/cg/hough_3d.h : Aucun fichier ou dossier de ce type
compilation terminée.
In file included from /home/ros/catkin_ws/src/Tobot/stalker/include/stalker/reckon_pipeline/CorrespGrouping.cpp:1:0:
/home/ros/catkin_ws/src/Tobot/stalker/include/stalker/reckon_pipeline/CorrespGrouping.hpp:8:41: erreur fatale: pcl/recognition/cg/hough_3d.h : Aucun fichier ou dossier de ce type
compilation terminée.
make[2]: *** [Tobot/stalker/CMakeFiles/3Dreckon.dir/include/stalker ... (more) |
2022-04-22 07:46:21 -0500 | received badge | ● Self-Learner
(source)
|
2022-03-29 13:05:56 -0500 | marked best answer | Multiple subscriber to one topic Hello, Simple comprehension problem.
I though that when a message on a topic was read by a subscriber it was "erased" just after. If I have, lets say, two subscribers on one topic, when new information is available, do all subscriber are going to receive the same message ? It makes sense but I never considered it that way =). So I just want confirmation. For example if I have a subscriber with a very complex and long callback while I have a very short callback for the other subscriber, I guess it's their queue size that is going to determine which message are going to be used by he Callback but overall, thy are gong to have access to the same message. Is it correct ? Like : Message 1 on topic -|----> Message 1 to Subscriber 1 if space available in queue
|----> Message 1 to Subscriber 2 at the same time if space available in queue
Thanks |
2022-01-19 14:59:00 -0500 | received badge | ● Good Question
(source)
|
2021-09-29 14:40:06 -0500 | received badge | ● Good Question
(source)
|
2021-01-22 00:12:56 -0500 | received badge | ● Guru
(source)
|
2021-01-22 00:12:56 -0500 | received badge | ● Great Answer
(source)
|
2020-10-28 04:59:44 -0500 | marked best answer | Custom message Hellow all ! I'm trying to create a custom message using Geomety messages and std msgs. But I can't seem to link it correctly. I've been following this tutorial but so far I'm having this error : CMake Error at /home/malcolm/ros_ws/hydro_ws/catkin_ws/build/Tobot/open_tld_3d/cmake/open_tld_3d-genmsg.cmake:3 (message):
Could not find messages which
'/home/malcolm/ros_ws/hydro_ws/catkin_ws/src/Tobot/open_tld_3d/msg/square.msg'
depends on. Did you forget to specify generate_messages(DEPENDENCIES ...)?
Cannot locate message [point] in package [open_tld_3d] with paths
[['/home/malcolm/ros_ws/hydro_ws/catkin_ws/src/Tobot/open_tld_3d/msg']]
Indeed you can find point in geometry_msgs and in my CMakeList.txt I added that: generate_messages(
DEPENDENCIES
geometry_msgs
std_msgs
)
So for my understanding, it should be able to find Point... This is my square.msg in case : point x
point y
float64 width
float64 height
Nothing really complexe and I'm pretty sure I'm missing something trivial but still... Thanks a lot ! |
2020-10-13 12:49:01 -0500 | received badge | ● Nice Question
(source)
|
2020-09-22 14:33:28 -0500 | marked best answer | Why is there a Twist in Odometry message Hello, Everything basically is in the title. I've been here and I know it's position and speed of the robot. But I'm wondering why you need the speed in the Odometry as it's going to be the exact same thing as the cmd_vel topic. For example if I'm doing a motor driver taking a Twist as input, should I return the exact same Twist in the /Odometry message afterward ? It seems rather useless to me and I feel like I'm missing something but I don't know what. |
2020-09-03 17:38:32 -0500 | received badge | ● Nice Question
(source)
|
2020-04-21 12:05:23 -0500 | marked best answer | Cmake debug option Hellow, I may have just search really bad but I didn't find this information. I'm used to Makefile but how do I use the otion "-g" and "-Wall" in Cmake with catkin ? I try writing a really dumb program with a memory leak and to run it with valgrind but I have the following ==20197== 4 bytes in 1 blocks are definitely lost in loss record 1 of 1
==20197== at 0x4C2B1C7: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==20197== by 0x400845: main (in /home/ros/groovy_ws/catkin_ws/devel/lib/stalker/debug)
And so no line numbers... Thanks a lot ! |
2020-01-25 12:27:53 -0500 | received badge | ● Famous Question
(source)
|
2020-01-07 10:22:58 -0500 | received badge | ● Good Answer
(source)
|
2019-12-24 17:14:58 -0500 | received badge | ● Notable Question
(source)
|
2019-12-14 18:47:49 -0500 | received badge | ● Nice Answer
(source)
|
2019-12-12 10:19:50 -0500 | received badge | ● Self-Learner
(source)
|
2019-12-12 10:16:40 -0500 | received badge | ● Popular Question
(source)
|
2019-12-06 04:53:57 -0500 | received badge | ● Famous Question
(source)
|
2019-11-11 19:04:04 -0500 | marked best answer | Source install on Fedora 31. Error with catkin.environment Hello all, I'm trying to install ROS on Fedora 31 from source and I have that error: Traceback (most recent call last):
File "/home/malcolm/ros_catkin_ws/melodic/src_melodic/build_isolated/rosbag_migration_rule/catkin_generated/generate_cached_setup.py", line 20, in <module>
from catkin.environment_cache import generate_environment_script
ImportError: No module named catkin.environment_cache
CMake Error at /home/malcolm/ros_catkin_ws/melodic/src_melodic/install_isolated/share/catkin/cmake/safe_execute_process.cmake:11 (message):
execute_process(/usr/bin/python2
"/home/malcolm/ros_catkin_ws/melodic/src_melodic/build_isolated/rosbag_migration_rule/catkin_generated/generate_cached_setup.py")
returned error code 1
Call Stack (most recent call first):
/home/malcolm/ros_catkin_ws/melodic/src_melodic/install_isolated/share/catkin/cmake/all.cmake:208 (safe_execute_process)
/home/malcolm/ros_catkin_ws/melodic/src_melodic/install_isolated/share/catkin/cmake/catkinConfig.cmake:20 (include)
CMakeLists.txt:3 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/malcolm/ros_catkin_ws/melodic/src_melodic/build_isolated/rosbag_migration_rule/CMakeFiles/CMakeOutput.log".
<== Failed to process package 'rosbag_migration_rule':
I've tried reinstalling everything and I have python2/3-catkin_pkg installed. Most error I found online talk doing catkin clean and re-compiling but I can't really do that during a source install. Here the generated catkin file for rosbag_migration_rule # -*- coding: utf-8 -*-
from __future__ import print_function
import argparse
import os
import stat
import sys
# find the import for catkin's python package - either from source space or from an installed underlay
if os.path.exists(os.path.join('/home/malcolm/ros_catkin_ws/melodic/src_melodic/install_isolated/share/catkin/cmake', 'catkinConfig.cmake.in')):
sys.path.insert(0, os.path.join('/home/malcolm/ros_catkin_ws/melodic/src_melodic/install_isolated/share/catkin/cmake', '..', 'python'))
try:
from catkin.environment_cache import generate_environment_script
except ImportError:
# search for catkin package in all workspaces and prepend to path
for workspace in "/home/malcolm/ros_catkin_ws/melodic/src_melodic/install_isolated".split(';'):
python_path = os.path.join(workspace, 'lib/python2.7/site-packages')
if os.path.isdir(os.path.join(python_path, 'catkin')):
sys.path.insert(0, python_path)
break
from catkin.environment_cache import generate_environment_script
code = generate_environment_script('/home/malcolm/ros_catkin_ws/melodic/src_melodic/devel_isolated/rosbag_migration_rule/env.sh')
output_filename = '/home/malcolm/ros_catkin_ws/melodic/src_melodic/build_isolated/rosbag_migration_rule/catkin_generated/setup_cached.sh'
with open(output_filename, 'w') as f:
#print('Generate script for cached setup "%s"' % output_filename)
f.write('\n'.join(code))
mode = os.stat(output_filename).st_mode
os.chmod(output_filename, mode | stat.S_IXUSR)
and here is the catkin cmake folder cd /home/malcolm/ros_catkin_ws/melodic/src_melodic/install_isolated/share/catkin/cmake
[malcolm@localhost cmake]$ ls
all.cmake catkin_python_setup.cmake list_insert_in_workspace_order.cmake
assert.cmake catkin_symlink_install.cmake order_paths.py
atomic_configure_file.cmake catkin_workspace.cmake parse_package_xml.py
catkin_add_env_hooks.cmake custom_install.cmake platform
catkinConfig.cmake debug_message.cmake python.cmake
catkinConfig-version.cmake em safe_execute_process.cmake
catkin_destinations.cmake em_expand.cmake shell.cmake
catkin_download.cmake empy.cmake stamp.cmake
catkin_generate_environment.cmake env-hooks string_starts_with.cmake
catkin_install_python.cmake find_program_required.cmake symlink_install
catkin_libraries.cmake interrogate_setup_dot_py.py templates
catkin_metapackage.cmake legacy.cmake test
catkin_package.cmake list_append_deduplicate.cmake tools
catkin_package_xml.cmake list_append_unique.cmake toplevel.cmake
Not sure where to go from there. Thanks |
2019-11-11 19:03:59 -0500 | answered a question | Source install on Fedora 31. Error with catkin.environment Found the solution. It's necessary to force catkin to compile everything against python3
./src/catkin/bin/catkin_make_i |
2019-11-11 19:03:59 -0500 | received badge | ● Rapid Responder
(source)
|
2019-11-11 18:05:42 -0500 | edited question | Source install on Fedora 31. Error with catkin.environment Source install on Fedora 31. Error with catkin.environment
Hello all,
I'm trying to install ROS on Fedora 31 from sourc |
2019-11-11 16:41:11 -0500 | asked a question | Source install on Fedora 31. Error with catkin.environment Source install on Fedora 31. Error with catkin.environment
Hello all,
I'm trying to install ROS on Fedora 31 from sourc |