Difference between revisions of "ROS2"

From ElphelWiki
Jump to: navigation, search
(Created page with "==GitHub== https://github.com/bmwcarit/meta-ros.git ==ROS1== * Won't build ==ROS2== * Add path to bblayers.conf * Add to "IMAGE_INSTALL_append" of core-image-elphel393.bb:...")
 
(Docker)
(45 intermediate revisions by the same user not shown)
Line 1: Line 1:
==GitHub==
+
==<font color='blue'>GitHub</font>==
 
https://github.com/bmwcarit/meta-ros.git
 
https://github.com/bmwcarit/meta-ros.git
  
 +
<font color='red'>https://github.com/erlerobot/meta-ros2</font> ?
  
==ROS1==
 
* Won't build
 
  
==ROS2==
+
==<font color='blue'>ROS2 General Notes</font>==
 +
===Useful links===
 +
* [http://docs.erlerobotics.com/robot_operating_system/ros2/tutorials/tutorial_10 Tutorials ErleRobotics]
 +
 
 +
===PC workflow===
 +
* Install ROS2 - will get installed to '''/opt/ros/<name>'''
 +
* Terminal setup:
 +
source /opt/ros/bouncy/setup.bash
 +
or
 +
source /opt/ros/bouncy/local_setup.bash
 +
 
 +
* Create a workspace
 +
* Create some packages inside or clone - they have a [https://github.com/dirk-thomas/vcstool vcs tool] to clone all repos from a text file.
 +
* Install [https://colcon.readthedocs.io/en/released/user/quick-start.html colcon]
 +
* Then build with colcon
 +
* Packages will not get installed to /opt/ros/bouncy/... Instead they will stay in their folders.
 +
* To use a package:
 +
source /opt/ros/bouncy/setup.bash
 +
source ~/ros2_ws/some-package/install/local_setup.bash
 +
ros2 pkg list
 +
then run anything in this terminal
 +
* Python scripts can live anywhere - just run them from that sourced terminal
 +
 
 +
===Embedded workflow===
 +
* Use meta-ros in yocto
 +
* Go for ROS2 recipes. Use as examples.
 +
* The build system in Yocto is '''ament''' - which is one generation older then '''colcon'''
 +
* Here there's no workspace - packages do get installed somewhere
 +
* Need to
 +
export AMENT_PREFIX_PATH=/usr
 +
* Python scripts can live anywhere - because ROS2 populates /usr/lib/...
 +
* Service formats are too few - for a simple "Request string - Response string" server need to add new srv.
 +
 
 +
===Docker===
 +
docker pull osrf/ros2:bouncy-desktop
 +
docker run -i -t osrf/ros2:bouncy-desktop
 +
...no network, no colcon, no ament...
 +
 
 +
==<font color='blue'>ROS2 on Zynq</font>==
 +
Cross-compiled and installed in Yocto
 +
 
 +
===Other links===
 +
* [http://design.ros2.org/articles/ros_on_dds.html ROS on DDS]
 +
<font size='2'>...
 +
if you are concerned about latency, like for soft real-time, you can basically tune DDS to be just a UDP blaster. In another scenario you might need something that behaves like TCP, but needs to be more
 +
tolerant to long dropouts, and with DDS all of these things can be controlled by changing the QoS parameters.
 +
...</font>
 +
 
 +
* [http://www.eprosima.com/index.php/resources-all/performance/40-eprosima-fast-rtps-performance FastRTPS benchmarks]
 +
* [http://docs.eprosima.com/en/latest/advanced.html FastRTPS max message size]
 +
* [https://wiki.ros.org/Services Request-Response is done with '''service''']. Format [https://wiki.ros.org/srv srv]
 +
 
 +
===Build===
 
* Add path to bblayers.conf
 
* Add path to bblayers.conf
 
* Add to "IMAGE_INSTALL_append" of core-image-elphel393.bb:
 
* Add to "IMAGE_INSTALL_append" of core-image-elphel393.bb:
  ros2-demo-nodes-cpp \
+
  packagegroup-ros2-world \
  ros2topic \
+
 
  ros2msg \
+
<font color='green'>'''Notes:'''
  ros2run \
+
* -</font>
 +
 
 +
===Work===
 +
 
 +
====Available packages====
 +
* SSH session:
 +
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
 +
root@elphel393:~# ros2 pkg list
 +
<font size='1'>builtin_interfaces
 +
demo_nodes_cpp
 +
example_interfaces
 +
geometry_msgs
 +
rcl
 +
rcl_interfaces
 +
rclcpp
 +
rclpy
 +
rcutils
 +
rmw
 +
rmw_fastrtps_cpp
 +
rosidl_cmake
 +
rosidl_generator_c
 +
rosidl_generator_cpp
 +
rosidl_parser
 +
rosidl_typesupport_interface
 +
rosidl_typesupport_introspection_c
 +
rosidl_typesupport_introspection_cpp
 +
sensor_msgs</font>
 +
 
 +
====Test Talker and Listener====
 +
* SSH session 1:
 +
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
 +
root@elphel393:~# ros2 run demo_nodes_cpp talker
 +
* SSH session 2:
 +
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
 +
root@elphel393:~# ros2 run demo_nodes_cpp listener
 +
 
 +
<font color='green'>'''Notes:'''</font>
 +
* It populates '''/usr/lib/python3.5/site-packages/''' so python scripts can be pretty much standalone
 +
* <font color='green'>If AMENT_PREFIX_PATH is not set (only for command line apps) then:</font>
 +
<font size='1'>Traceback (most recent call last):
 +
  File "/usr/bin/ros2", line 11, in <module>
 +
    load_entry_point('ros2cli==0.4.0', 'console_scripts', 'ros2')()
 +
  File "/usr/lib/python3.5/site-packages/ros2cli/cli.py", line 64, in main
 +
    rc = extension.main(parser=parser, args=args)
 +
  File "/usr/lib/python3.5/site-packages/ros2run/command/run.py", line 59, in main
 +
    executable_name=args.executable_name)
 +
  File "/usr/lib/python3.5/site-packages/ros2run/api/__init__.py", line 30, in get_executable_path
 +
    paths = get_executable_paths(package_name=package_name)
 +
  File "/usr/lib/python3.5/site-packages/ros2pkg/api/__init__.py", line 41, in get_executable_paths
 +
    prefix_path = get_prefix_path(package_name)
 +
  File "/usr/lib/python3.5/site-packages/ros2pkg/api/__init__.py", line 34, in get_prefix_path
 +
    prefix_path = get_package_prefix(package_name)
 +
  File "/usr/lib/python3.5/site-packages/ament_index_python/packages.py", line 49, in get_package_prefix
 +
    content, package_prefix = get_resource('packages', package_name)
 +
  File "/usr/lib/python3.5/site-packages/ament_index_python/resources.py", line 37, in get_resource
 +
    for path in get_search_paths():
 +
  File "/usr/lib/python3.5/site-packages/ament_index_python/search_paths.py", line 30, in get_search_paths
 +
    "Environment variable '{}' is not set or empty".format(AMENT_PREFIX_PATH_ENV_VAR))
 +
<font color='red'>'''OSError: Environment variable 'AMENT_PREFIX_PATH' is not set or empty'''</font></font>
 +
 
 +
==<font color='blue'>ROS2 on PC</font>==
 +
* [https://index.ros.org/doc/ros2/Linux-Install-Debians/ Linux-Install-Debians]
 +
 
 +
<font color='green'>'''Notes:'''
 +
* '''apt install ros-bouncy-desktop''' available in 18.04, n/a in 16.04
 +
* '''apt install ros-ardent-desktop''' available in 16.04</font>
 +
 
 +
==<font color='blue'>ROS1</font>==
 +
 
 +
===Build===
 +
<font color='red'>'''Won't build'''</font>
 +
<font size='1'>Build Configuration:
 +
BB_VERSION          = "1.37.0"
 +
BUILD_SYS            = "x86_64-linux"
 +
NATIVELSBSTRING      = "universal"
 +
TARGET_SYS          = "arm-poky-linux-gnueabi"
 +
MACHINE              = "elphel393"
 +
DISTRO              = "poky"
 +
DISTRO_VERSION      = "2.4+snapshot-20181204"
 +
TUNE_FEATURES        = "arm armv7a vfp neon cortexa9"
 +
TARGET_FPU          = "softfp"
 +
meta               
 +
meta-poky           
 +
meta-yocto-bsp      = "HEAD:72867393fe2004ab9f0ee23eb09a975c82938b9e"
 +
meta-ezynq          = "rocko:046de13c06cc248b725cb7b9928f35d4a369b50f"
 +
meta-elphel393      = "rocko:0cea9b9b8776f0fe725316f1be1501396c95feb4"
 +
meta-ros            = "HEAD:72068b17e4192b51e09c8dc633805a35edac8701"
 +
meta-xilinx-bsp      = "HEAD:a18947c20dba2c0c38db8bde1ad4684995df4bbd"
 +
meta-oe             
 +
meta-python         
 +
meta-networking     
 +
meta-webserver      = "HEAD:34aa4c3202b427f59f843dc43a4e1afda4f81d13"</font>
 +
 
 +
* Error 1:
 +
** ROS_USE_PYTHON3 = "yes"
 +
** IMAGE_INSTALL += "roslaunch"
 +
 
 +
<font size='1'>NOTE: Resolving any missing task queue dependencies
 +
ERROR: Nothing RPROVIDES 'python3-pycrypto' (but /home/oleg/GIT/elphel393_rocko_clean_install/meta/meta-ros/recipes-devtools/python/python3-paramiko_1.16.0.bb RDEPENDS on or otherwise requires it)
 +
NOTE: Runtime target 'python3-pycrypto' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['python3-pycrypto']
 +
NOTE: Runtime target 'python3-paramiko' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['python3-paramiko', 'python3-pycrypto']
 +
NOTE: Runtime target 'roslaunch' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['roslaunch', 'python3-paramiko', 'python3-pycrypto']
 +
ERROR: Required build target 'core-image-elphel393' has no buildable providers.
 +
Missing or unbuildable dependency chain was: ['core-image-elphel393', 'roslaunch', 'python3-paramiko', 'python3-pycrypto']</font>
 +
 
 +
* Successful build:
 +
** IMAGE_INSTALL += "roslaunch"
 +
 
 +
<font size='1'>NOTE: Resolving any missing task queue dependencies
 +
ERROR: Nothing RPROVIDES 'python3-pycrypto' (but /home/oleg/GIT/elphel393_rocko_clean_install/meta/meta-ros/recipes-devtools/python/python3-paramiko_1.16.0.bb RDEPENDS on or otherwise requires it)
 +
NOTE: Runtime target 'python3-pycrypto' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['python3-pycrypto']
 +
NOTE: Runtime target 'python3-paramiko' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['python3-paramiko', 'python3-pycrypto']
 +
NOTE: Runtime target 'roslaunch' is unbuildable, removing...
 +
Missing or unbuildable dependency chain was: ['roslaunch', 'python3-paramiko', 'python3-pycrypto']
 +
ERROR: Required build target 'core-image-elphel393' has no buildable providers.
 +
Missing or unbuildable dependency chain was: ['core-image-elphel393', 'roslaunch', 'python3-paramiko', 'python3-pycrypto']</font>
 +
 
 +
 
 +
* Error 2:
 +
** <font color='red'>Seems like '''rostopic''' causes:</font>
 +
<font size='1'>ERROR: python-imaging-1.1.7-r5 do_package_qa: QA Issue: python-imaging: The compile log indicates that host include and/or library paths were used.
 +
          Please check the log '/home/oleg/GIT/elphel393_rocko_clean_install/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/python-imaging/1.1.7-r5/temp/log.do_compile' for more information. [compile- host-path]
 +
ERROR: python-imaging-1.1.7-r5 do_package_qa: QA run found fatal errors. Please consider fixing them.
 +
ERROR: python-imaging-1.1.7-r5 do_package_qa: Function failed: do_package_qa
 +
ERROR: Logfile of failure stored in: /home/oleg/GIT/elphel393_rocko_clean_install/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/python-imaging/1.1.7-r5/temp/log.do_package_qa.19425
 +
ERROR: Task (/home/oleg/GIT/elphel393_rocko_clean_install/meta/meta-openembedded/meta-python/recipes-devtools/python/python-imaging_1.1.7.bb:do_package_qa) failed with exit code '1'</font>
 +
 +
potential links:
 +
  https://github.com/intel-aero/meta-intel-aero/issues/81
 +
  https://github.com/bmwcarit/meta-ros/issues/395
 +
 
 +
removed python3-imaging from '''rosbag''' - everything builds but then not really working.
 +
 
 +
with '''ROS_USE_PYTHON3 = "yes"''' stopped at finding an appropriate '''python-pycrypto''' lib
 +
 
 +
===Work===
 +
* <font color='red'>'''Won't work'''</font>
 +
 
 +
** There's no '''rosrun''' (does not exist?)
 +
 
 +
** SSH session 1:
 +
*** Add to /etc/hosts:
 +
127.0.0.1 elphel393.localdomain elphel393
 +
*** Export vars:
 +
export ROS_ROOT=/opt/ros
 +
export ROS_DISTRO=indigo
 +
export ROS_PACKAGE_PATH=/opt/ros/indigo/share
 +
export PATH=$PATH:/opt/ros/indigo/bin
 +
export LD_LIBRARY_PATH=/opt/ros/indigo/lib
 +
export PYTHONPATH=/opt/ros/indigo/lib/python2.7/site-packages
 +
export ROS_MASTER_URI=http://localhost:11311
 +
export CMAKE_PREFIX_PATH=/opt/ros/indigo
 +
touch /opt/ros/indigo/.catkin
 +
*** Roscore
 +
  roscore
 +
 
 +
 
 +
** SSH session 2:
 +
  root@elphel393:~# rosnode list
 +
  <font size='1'>/rosout</font>
 +
  root@elphel393:~# rospack list
 +
  <font size='1'>cpp_common /opt/ros/indigo/share/cpp_common
 +
  genmsg /opt/ros/indigo/share/genmsg
 +
  genpy /opt/ros/indigo/share/genpy
 +
  rosbag /opt/ros/indigo/share/rosbag
 +
  rosbag_storage /opt/ros/indigo/share/rosbag_storage
 +
  rosclean /opt/ros/indigo/share/rosclean
 +
  rosconsole /opt/ros/indigo/share/rosconsole
 +
  roscpp /opt/ros/indigo/share/roscpp
 +
  roscpp_serialization /opt/ros/indigo/share/roscpp_serialization
 +
  roscpp_tutorials /opt/ros/indigo/share/roscpp_tutorials
 +
  rosgraph /opt/ros/indigo/share/rosgraph
 +
  rosgraph_msgs /opt/ros/indigo/share/rosgraph_msgs
 +
  roslaunch /opt/ros/indigo/share/roslaunch
 +
  roslib /opt/ros/indigo/share/roslib
 +
  roslz4 /opt/ros/indigo/share/roslz4
 +
  rosmaster /opt/ros/indigo/share/rosmaster
 +
  rosnode /opt/ros/indigo/share/rosnode
 +
  rosout /opt/ros/indigo/share/rosout
 +
  rospack /opt/ros/indigo/share/rospack
 +
  rosparam /opt/ros/indigo/share/rosparam
 +
  rospy /opt/ros/indigo/share/rospy
 +
  rospy_tutorials /opt/ros/indigo/share/rospy_tutorials
 +
  rostime /opt/ros/indigo/share/rostime
 +
  rostopic /opt/ros/indigo/share/rostopic
 +
  std_msgs /opt/ros/indigo/share/std_msgs
 +
  topic_tools /opt/ros/indigo/share/topic_tools
 +
  xmlrpcpp /opt/ros/indigo/share/xmlrpcpp</font>

Revision as of 17:51, 6 December 2018

GitHub

https://github.com/bmwcarit/meta-ros.git

https://github.com/erlerobot/meta-ros2 ?


ROS2 General Notes

Useful links

PC workflow

  • Install ROS2 - will get installed to /opt/ros/<name>
  • Terminal setup:
source /opt/ros/bouncy/setup.bash
or
source /opt/ros/bouncy/local_setup.bash
  • Create a workspace
  • Create some packages inside or clone - they have a vcs tool to clone all repos from a text file.
  • Install colcon
  • Then build with colcon
  • Packages will not get installed to /opt/ros/bouncy/... Instead they will stay in their folders.
  • To use a package:
source /opt/ros/bouncy/setup.bash
source ~/ros2_ws/some-package/install/local_setup.bash
ros2 pkg list
then run anything in this terminal
  • Python scripts can live anywhere - just run them from that sourced terminal

Embedded workflow

  • Use meta-ros in yocto
  • Go for ROS2 recipes. Use as examples.
  • The build system in Yocto is ament - which is one generation older then colcon
  • Here there's no workspace - packages do get installed somewhere
  • Need to
export AMENT_PREFIX_PATH=/usr
  • Python scripts can live anywhere - because ROS2 populates /usr/lib/...
  • Service formats are too few - for a simple "Request string - Response string" server need to add new srv.

Docker

docker pull osrf/ros2:bouncy-desktop
docker run -i -t osrf/ros2:bouncy-desktop 
...no network, no colcon, no ament...

ROS2 on Zynq

Cross-compiled and installed in Yocto

Other links

... 
if you are concerned about latency, like for soft real-time, you can basically tune DDS to be just a UDP blaster. In another scenario you might need something that behaves like TCP, but needs to be more 
tolerant to long dropouts, and with DDS all of these things can be controlled by changing the QoS parameters.
...

Build

  • Add path to bblayers.conf
  • Add to "IMAGE_INSTALL_append" of core-image-elphel393.bb:
packagegroup-ros2-world \

Notes:

  • -

Work

Available packages

  • SSH session:
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
root@elphel393:~# ros2 pkg list
builtin_interfaces
demo_nodes_cpp
example_interfaces
geometry_msgs
rcl
rcl_interfaces
rclcpp
rclpy
rcutils
rmw
rmw_fastrtps_cpp
rosidl_cmake
rosidl_generator_c
rosidl_generator_cpp
rosidl_parser
rosidl_typesupport_interface
rosidl_typesupport_introspection_c
rosidl_typesupport_introspection_cpp
sensor_msgs

Test Talker and Listener

  • SSH session 1:
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
root@elphel393:~# ros2 run demo_nodes_cpp talker
  • SSH session 2:
root@elphel393:~# export AMENT_PREFIX_PATH=/usr
root@elphel393:~# ros2 run demo_nodes_cpp listener

Notes:

  • It populates /usr/lib/python3.5/site-packages/ so python scripts can be pretty much standalone
  • If AMENT_PREFIX_PATH is not set (only for command line apps) then:
Traceback (most recent call last):
  File "/usr/bin/ros2", line 11, in <module>
    load_entry_point('ros2cli==0.4.0', 'console_scripts', 'ros2')()
  File "/usr/lib/python3.5/site-packages/ros2cli/cli.py", line 64, in main
    rc = extension.main(parser=parser, args=args)
  File "/usr/lib/python3.5/site-packages/ros2run/command/run.py", line 59, in main
    executable_name=args.executable_name)
  File "/usr/lib/python3.5/site-packages/ros2run/api/__init__.py", line 30, in get_executable_path
    paths = get_executable_paths(package_name=package_name)
  File "/usr/lib/python3.5/site-packages/ros2pkg/api/__init__.py", line 41, in get_executable_paths
    prefix_path = get_prefix_path(package_name)
  File "/usr/lib/python3.5/site-packages/ros2pkg/api/__init__.py", line 34, in get_prefix_path
    prefix_path = get_package_prefix(package_name)
  File "/usr/lib/python3.5/site-packages/ament_index_python/packages.py", line 49, in get_package_prefix
    content, package_prefix = get_resource('packages', package_name)
  File "/usr/lib/python3.5/site-packages/ament_index_python/resources.py", line 37, in get_resource
    for path in get_search_paths():
  File "/usr/lib/python3.5/site-packages/ament_index_python/search_paths.py", line 30, in get_search_paths
    "Environment variable '{}' is not set or empty".format(AMENT_PREFIX_PATH_ENV_VAR))
OSError: Environment variable 'AMENT_PREFIX_PATH' is not set or empty

ROS2 on PC

Notes:

  • apt install ros-bouncy-desktop available in 18.04, n/a in 16.04
  • apt install ros-ardent-desktop available in 16.04

ROS1

Build

Won't build

Build Configuration:
BB_VERSION           = "1.37.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-poky-linux-gnueabi"
MACHINE              = "elphel393"
DISTRO               = "poky"
DISTRO_VERSION       = "2.4+snapshot-20181204"
TUNE_FEATURES        = "arm armv7a vfp neon cortexa9"
TARGET_FPU           = "softfp"
meta                 
meta-poky            
meta-yocto-bsp       = "HEAD:72867393fe2004ab9f0ee23eb09a975c82938b9e"
meta-ezynq           = "rocko:046de13c06cc248b725cb7b9928f35d4a369b50f"
meta-elphel393       = "rocko:0cea9b9b8776f0fe725316f1be1501396c95feb4"
meta-ros             = "HEAD:72068b17e4192b51e09c8dc633805a35edac8701"
meta-xilinx-bsp      = "HEAD:a18947c20dba2c0c38db8bde1ad4684995df4bbd"
meta-oe              
meta-python          
meta-networking      
meta-webserver       = "HEAD:34aa4c3202b427f59f843dc43a4e1afda4f81d13"
  • Error 1:
    • ROS_USE_PYTHON3 = "yes"
    • IMAGE_INSTALL += "roslaunch"
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'python3-pycrypto' (but /home/oleg/GIT/elphel393_rocko_clean_install/meta/meta-ros/recipes-devtools/python/python3-paramiko_1.16.0.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'python3-pycrypto' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python3-pycrypto']
NOTE: Runtime target 'python3-paramiko' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python3-paramiko', 'python3-pycrypto']
NOTE: Runtime target 'roslaunch' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['roslaunch', 'python3-paramiko', 'python3-pycrypto']
ERROR: Required build target 'core-image-elphel393' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-elphel393', 'roslaunch', 'python3-paramiko', 'python3-pycrypto']
  • Successful build:
    • IMAGE_INSTALL += "roslaunch"
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'python3-pycrypto' (but /home/oleg/GIT/elphel393_rocko_clean_install/meta/meta-ros/recipes-devtools/python/python3-paramiko_1.16.0.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'python3-pycrypto' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python3-pycrypto']
NOTE: Runtime target 'python3-paramiko' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['python3-paramiko', 'python3-pycrypto']
NOTE: Runtime target 'roslaunch' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['roslaunch', 'python3-paramiko', 'python3-pycrypto']
ERROR: Required build target 'core-image-elphel393' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-elphel393', 'roslaunch', 'python3-paramiko', 'python3-pycrypto']


  • Error 2:
    • Seems like rostopic causes:
ERROR: python-imaging-1.1.7-r5 do_package_qa: QA Issue: python-imaging: The compile log indicates that host include and/or library paths were used.
         Please check the log '/home/oleg/GIT/elphel393_rocko_clean_install/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/python-imaging/1.1.7-r5/temp/log.do_compile' for more information. [compile- host-path]
ERROR: python-imaging-1.1.7-r5 do_package_qa: QA run found fatal errors. Please consider fixing them.
ERROR: python-imaging-1.1.7-r5 do_package_qa: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /home/oleg/GIT/elphel393_rocko_clean_install/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/python-imaging/1.1.7-r5/temp/log.do_package_qa.19425
ERROR: Task (/home/oleg/GIT/elphel393_rocko_clean_install/meta/meta-openembedded/meta-python/recipes-devtools/python/python-imaging_1.1.7.bb:do_package_qa) failed with exit code '1'

potential links: 
 https://github.com/intel-aero/meta-intel-aero/issues/81
 https://github.com/bmwcarit/meta-ros/issues/395
removed python3-imaging from rosbag - everything builds but then not really working.
with ROS_USE_PYTHON3 = "yes" stopped at finding an appropriate python-pycrypto lib

Work

  • Won't work
    • There's no rosrun (does not exist?)
    • SSH session 1:
      • Add to /etc/hosts:
127.0.0.1	elphel393.localdomain		elphel393
      • Export vars:
export ROS_ROOT=/opt/ros
export ROS_DISTRO=indigo
export ROS_PACKAGE_PATH=/opt/ros/indigo/share
export PATH=$PATH:/opt/ros/indigo/bin
export LD_LIBRARY_PATH=/opt/ros/indigo/lib
export PYTHONPATH=/opt/ros/indigo/lib/python2.7/site-packages
export ROS_MASTER_URI=http://localhost:11311
export CMAKE_PREFIX_PATH=/opt/ros/indigo
touch /opt/ros/indigo/.catkin
      • Roscore
roscore


    • SSH session 2:
root@elphel393:~# rosnode list
 /rosout
root@elphel393:~# rospack list
 cpp_common /opt/ros/indigo/share/cpp_common
 genmsg /opt/ros/indigo/share/genmsg
 genpy /opt/ros/indigo/share/genpy
 rosbag /opt/ros/indigo/share/rosbag
 rosbag_storage /opt/ros/indigo/share/rosbag_storage
 rosclean /opt/ros/indigo/share/rosclean
 rosconsole /opt/ros/indigo/share/rosconsole
 roscpp /opt/ros/indigo/share/roscpp
 roscpp_serialization /opt/ros/indigo/share/roscpp_serialization
 roscpp_tutorials /opt/ros/indigo/share/roscpp_tutorials
 rosgraph /opt/ros/indigo/share/rosgraph
 rosgraph_msgs /opt/ros/indigo/share/rosgraph_msgs
 roslaunch /opt/ros/indigo/share/roslaunch
 roslib /opt/ros/indigo/share/roslib
 roslz4 /opt/ros/indigo/share/roslz4
 rosmaster /opt/ros/indigo/share/rosmaster
 rosnode /opt/ros/indigo/share/rosnode
 rosout /opt/ros/indigo/share/rosout
 rospack /opt/ros/indigo/share/rospack
 rosparam /opt/ros/indigo/share/rosparam
 rospy /opt/ros/indigo/share/rospy
 rospy_tutorials /opt/ros/indigo/share/rospy_tutorials
 rostime /opt/ros/indigo/share/rostime
 rostopic /opt/ros/indigo/share/rostopic
 std_msgs /opt/ros/indigo/share/std_msgs 
 topic_tools /opt/ros/indigo/share/topic_tools
 xmlrpcpp /opt/ros/indigo/share/xmlrpcpp