I was trying to compile ROS melodic from source following the instruction on the official website. And I ran into a compiler error stated [here](https://answers.ros.org/question/311685/cmake-compile-error-pthread-not-found-how-to-tell-the-compiler-to-look-for-pthread-lib/) and I need to modify the libraries it( pthread instead of -lpthread) is trying to locate. Because a post on [StackOverflow](https://stackoverflow.com/questions/1662909/undefined-reference-to-pthread-create-in-linux) stated that the syntax for gcc works differently.
↧
what is the script that generated ros_catkin_ws/devel_isolated/class_loader/share/class_loader/cmake/class_loaderConfig.cmake
↧
Installing melodic on debian buster
Hello list!
Trying to install melodic using the recipe from [http://wiki.ros.org/melodic/Installation/Source](http://wiki.ros.org/melodic/Installation/Source) using current debian/testing/buster.
I only added `--os=debian:buster` to the rosdep command. All three variants fail in the same way.
The catkin_make isolated for the bare bones variant ends in:
<== Finished processing package [8 of 54]: 'cmake_modules'
==> Processing catkin package: 'class_loader'
......
-- Found the following Boost libraries:
-- thread
-- chrono
-- system
-- date_time
-- atomic
CMake Error at /home/sietse/ros_catkin_ws/devel_isolated/class_loader/share/class_loader/cmake/class_loaderConfig.cmake:148 (message):
Project 'class_loader' tried to find library '-lpthread'. The library is
neither a target nor built/installed properly. Did you compile project
'class_loader'? Did you find_package() it before the subdirectory
containing its code is included?
Call Stack (most recent call first):
/home/sietse/ros_catkin_ws/install_isolated/share/catkin/cmake/catkinConfig.cmake:76 (find_package)
test/CMakeLists.txt:4 (find_package)
-- Configuring incomplete, errors occurred!
It seems that is a problem with the boost library in this context.
The CMakeError.log file reports the following:
Run Build Command:"/usr/bin/make" "cmTC_50014/fast"
/usr/bin/make -f CMakeFiles/cmTC_50014.dir/build.make CMakeFiles/cmTC_50014.dir/build
make[1]: Entering directory '/home/sietse/ros_catkin_ws/build_isolated/class_loader/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_50014.dir/CheckSymbolExists.cxx.o
/usr/bin/c++ -o CMakeFiles/cmTC_50014.dir/CheckSymbolExists.cxx.o -c /home/sietse/ros_catkin_ws/build_isolated/class_loader/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
Linking CXX executable cmTC_50014
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_50014.dir/link.txt --verbose=1
/usr/bin/c++ CMakeFiles/cmTC_50014.dir/CheckSymbolExists.cxx.o -o cmTC_50014
/usr/bin/ld: CMakeFiles/cmTC_50014.dir/CheckSymbolExists.cxx.o: in function `main':
CheckSymbolExists.cxx:(.text+0x1b): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_50014.dir/build.make:87: cmTC_50014] Error 1
make[1]: Leaving directory '/home/sietse/ros_catkin_ws/build_isolated/class_loader/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_50014/fast] Error 2
File /home/sietse/ros_catkin_ws/build_isolated/class_loader/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:
/* */
#include
int main(int argc, char** argv)
{
(void)argv;
#ifndef pthread_create
return ((int*)(&pthread_create))[argc];
#else
(void)argc;
return 0;
#endif
}
The library is of course installed on this system.
Please note that this worked about 2 months ago on this system, with older libraries, such as libboost.
Is there a simple solution to this problem, or is melodic not yet ready for this?
Thanks in advance, Sietse
↧
↧
Is it possible to be made a knot and from how many robotic arms?
Imagine two robotic arms are holding twine which is positioned vertically and robotic arms are moving horizontally towards a horizontal metal wire from left to the right direction as the twine touches the wire with it's middle part, robotic arms continue to move forward so that the twine begins to flex in a form similar to parabola, or more precisely in a form of the Latin letter V but rotated by -90 degrees, i.e., it looks like "less than" sign from mathematics. Which equation / equations can make a knot of the two ends of this twine or what source code is needed for both robotic arms to make a knot or are 2 robotics arms only enough for this procedure?
↧
ROS Melodic Python 3 Source
As I'm a glutton for punishment I keep trying to find a way to get Python 3 to work with ROS, even starting from source.
Side note: I reviewed ROS2, but the TF2 package isn't incorporated into ROS2 Python3 yet.
Anyways, I tried with a fresh install of Ubuntu 18.04 with the commands below, but I don't seem to download the resources consistently. Only about 4 packages downloaded with the VCSTools fix described below.
I guess what I'm asking, does anyone have a well described path on how to build ROS1 (anything) with Python3 support? Really all I desire is ROS commands, debugging tools, and TF2.
I've tried following these bash.scripts as well,
https://gist.github.com/ShreyasSkandan/fd8682253d71c960b2b56376db6bd74a
which also seem to fail similarly.
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt update
# can probably leave out wstool?
sudo apt install python3-rosdep python3-rosinstall-generator python3-wstool python3-rosinstall build-essential
sudo rosdep init
sudo rosdep update
# https://github.com/vcstools/vcstools/pull/141
cd ~
git clone https://github.com/tkruse/vcstools
cd vcstools
git checkout mock_server_tar_test
python3 setup.py develop
cd ~
git clone https://github.com/vcstools/wstool
cd wstool
python setup.py develop
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
rosinstall_generator desktop_full --rosdistro melodic --deps --tar > melodic-desktop-full.rosinstall
wstool init -j8 src melodic-desktop-full.rosinstall
↧
Error running ros in docker conatiner
Hi
I am getting the following error when the simulator connects with the ros server. The roslaunch is successful. -
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/engineio/server.py", line 505, in _trigger_event
return self.handlers[event](*args)
File "/usr/local/lib/python2.7/dist-packages/socketio/server.py", line 509, in _handle_eio_message
self._handle_event(sid, pkt.namespace, pkt.id, pkt.data)
File "/usr/local/lib/python2.7/dist-packages/socketio/server.py", line 448, in _handle_event
self._handle_event_internal(self, sid, data, namespace, id)
File "/usr/local/lib/python2.7/dist-packages/socketio/server.py", line 451, in _handle_event_internal
r = server._trigger_event(data[0], namespace, sid, *data[1:])
File "/usr/local/lib/python2.7/dist-packages/socketio/server.py", line 480, in _trigger_event
return self.handlers[namespace][event](*args)
File "/capstone/ros/src/styx/server.py", line 44, in control
bridge.publish_controls(data)
File "/capstone/ros/src/styx/bridge.py", line 145, in publish_controls
self.publishers['steering_report'].publish(self.create_steer(steering))
File "/capstone/ros/src/styx/bridge.py", line 102, in create_steer
st.steering_wheel_angle_cmd = val * math.pi/180.
AttributeError: 'SteeringReport' object has no attribute 'steering_wheel_angle_cmd'
Dockerfile - https://github.com/udacity/CarND-Capstone/blob/master/Dockerfile
I am trying to run this app(https://github.com/udacity/CarND-Capstone) in a docker container. The are the steps I followed -
git clone https://github.com/udacity/CarND-Capstone
cd CarND-Capstone
docker build . -t capstone
docker run -p 4567:4567 -v $PWD:/capstone -v /tmp/log:/root/.ros/ --rm -it capstone
from inside the container, I run the following commands
cd /capstone/ros
catkin_make
source devel/setup.sh
roslaunch launch/styx.launch
I was able to verify that the `dbw_mkz_msgs` package is available on the conatiner at `/opt/ros/kinetic/share` path. When the same code is run on VirtiualBox I do not get this error. It could be the way docker sources ENV variables. Any help with this will be greatly appreciated.
↧
↧