Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't pass the custom message from ROS1 to ROS2. #77

Closed
mcmindcoder opened this issue Jun 26, 2017 · 10 comments
Closed

Can't pass the custom message from ROS1 to ROS2. #77

mcmindcoder opened this issue Jun 26, 2017 · 10 comments

Comments

@mcmindcoder
Copy link

I've created custom message:

string name
string description

It's the same in ROS1 and ROS2 and remains in the same package 'skynet_msgs'
I've created yaml file as explained and added it to ros1_bridge/package.xml:

-
  ros1_package_name: 'skynet_msgs'
  ros2_package_name: 'skynet_msgs'

Here is my ros1_bridge/CMakeLists.txt file:

cmake_minimum_required(VERSION 2.8.3)

project(ros1_bridge)

if(NOT WIN32)
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Wextra")
endif()

find_package(rmw REQUIRED)

find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rmw_implementation_cmake REQUIRED)
find_package(std_msgs REQUIRED)
find_package(skynet_msgs REQUIRED)

# find ROS 1 packages
include(cmake/find_ros1_package.cmake)

find_package(PkgConfig)
if(NOT PKG_CONFIG_FOUND)
  message(STATUS "Failed to find PkgConfig, skipping...")
  # call ament_package() to avoid ament_tools treating this as a plain CMake pkg
  ament_package()
  return()
endif()

find_ros1_package(roscpp)
if(NOT ros1_roscpp_FOUND)
  message(STATUS "Failed to find ROS 1 roscpp, skipping...")
  # call ament_package() to avoid ament_tools treating this as a plain CMake pkg
  ament_package()
  return()
endif()

find_ros1_package(std_msgs REQUIRED)
find_ros1_package(skynet_msgs REQUIRED)

set(TEST_ROS1_BRIDGE FALSE)
if(BUILD_TESTING)
  find_package(ament_lint_auto REQUIRED)
  find_package(diagnostic_msgs REQUIRED)
  find_ros1_package(diagnostic_msgs)
  find_ros1_package(roslaunch)
  ament_lint_auto_find_test_dependencies()
  if(ros1_diagnostic_msgs_FOUND AND ros1_roslaunch_FOUND)
    set(TEST_ROS1_BRIDGE TRUE)
  endif()
endif()

ament_export_include_directories(include)

ament_python_install_package(${PROJECT_NAME})

ament_package()

set(generated_path "${CMAKE_BINARY_DIR}/generated")
set(generated_files "${generated_path}/get_factory.cpp")
list(APPEND generated_files "${generated_path}/get_mappings.cpp")

# generate per package compilation units to keep the memory usage low
ament_index_get_resources(message_packages "rosidl_interfaces")
foreach(message_package ${message_packages})
  find_package(${message_package} REQUIRED)
  list(APPEND generated_files "${generated_path}/${message_package}_factories.cpp")
endforeach()

add_custom_command(
  OUTPUT ${generated_files}
  COMMAND ${PYTHON_EXECUTABLE} bin/ros1_bridge_generate_factories
    --output-path "${generated_path}" --template-dir resource
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

if(NOT WIN32)
  # ignore warning in ROS 1 message headers
  set_source_files_properties(${generated_files}
    PROPERTIES COMPILE_FLAGS "-Wno-unused-parameter")
endif()

include_directories(include ${generated_path})

function(custom_executable target)
  cmake_parse_arguments(
    ARG "ROS1_DEPENDENCIES" "" "TARGET_DEPENDENCIES" ${ARGN})

  add_executable(${target}${target_suffix}
    ${ARG_UNPARSED_ARGUMENTS})
  ament_target_dependencies(${target}${target_suffix}
    "rclcpp${target_suffix}"
    ${ARG_TARGET_DEPENDENCIES})
  if(ARG_ROS1_DEPENDENCIES)
    ament_target_dependencies(${target}${target_suffix}
      "ros1_roscpp"
      "ros1_std_msgs"
      "ros1_skynet_msgs")
  endif()
  if(ARG_DEPENDENCIES)
    add_dependencies(${target}${target_suffix} ${ARG_DEPENDENCIES})
  endif()

  install(TARGETS ${target}${target_suffix}
    DESTINATION bin)
endfunction()

macro(targets)
  if(NOT "${target_suffix} " STREQUAL " ")
    get_rclcpp_information("${rmw_implementation}" "rclcpp${target_suffix}")
  endif()

  custom_executable(simple_bridge_1_to_2 "src/simple_bridge_1_to_2.cpp"
    ROS1_DEPENDENCIES
    TARGET_DEPENDENCIES "std_msgs" "skynet_msgs")
  custom_executable(simple_bridge_2_to_1 "src/simple_bridge_2_to_1.cpp"
    ROS1_DEPENDENCIES
    TARGET_DEPENDENCIES "std_msgs" "skynet_msgs")

  custom_executable(simple_bridge "src/simple_bridge.cpp"
    ROS1_DEPENDENCIES
    TARGET_DEPENDENCIES "std_msgs" "skynet_msgs")

  add_library(${PROJECT_NAME}${target_suffix} SHARED
    "src/convert_builtin_interfaces.cpp"
    ${generated_files})
  ament_target_dependencies(${PROJECT_NAME}${target_suffix}
    "rclcpp${target_suffix}"
    ${message_packages}
    "ros1_roscpp"
    "ros1_std_msgs"
    "ros1_skynet_msgs")

  install(TARGETS ${PROJECT_NAME}${target_suffix}
    ARCHIVE DESTINATION lib
    LIBRARY DESTINATION lib
    RUNTIME DESTINATION bin)

  custom_executable(static_bridge
    "src/static_bridge.cpp"
    ROS1_DEPENDENCIES
    TARGET_DEPENDENCIES ${message_packages})
  target_link_libraries(static_bridge${target_suffix}
    ${PROJECT_NAME}${target_suffix})

  custom_executable(dynamic_bridge
    "src/dynamic_bridge.cpp"
    ROS1_DEPENDENCIES
    TARGET_DEPENDENCIES ${message_packages})
  target_link_libraries(dynamic_bridge${target_suffix}
    ${PROJECT_NAME}${target_suffix})

  if(TEST_ROS1_BRIDGE AND NOT "${target_suffix}" STREQUAL "")
    custom_executable(test_ros2_client_cpp "test/test_ros2_client.cpp")
    ament_target_dependencies("test_ros2_client_cpp${target_suffix}" "ros1_roscpp" "diagnostic_msgs")
    custom_executable(test_ros2_server_cpp "test/test_ros2_server.cpp")
    ament_target_dependencies("test_ros2_server_cpp${target_suffix}" "ros1_roscpp" "diagnostic_msgs")

    set(TEST_BRIDGE_DYNAMIC_BRIDGE "${CMAKE_INSTALL_PREFIX}/bin/dynamic_bridge${target_suffix}")
    set(TEST_BRIDGE_ROS2_CLIENT "$")
    set(TEST_BRIDGE_ROS2_SERVER "$")
    set(TEST_BRIDGE_RMW ${rmw_implementation})

    configure_file(
      test/test_dynamic_bridge.py.in
      test_dynamic_bridge${target_suffix}.py.genexp
      @ONLY
    )
    file(GENERATE
      OUTPUT test_dynamic_bridge${target_suffix}_$.py
      INPUT test_dynamic_bridge${target_suffix}.py.genexp)
    ament_add_nose_test(test_dynamic_bridge${target_suffix}
      "${CMAKE_CURRENT_BINARY_DIR}/test_dynamic_bridge${target_suffix}_$.py"
      TIMEOUT 60)
  endif()
endmacro()

if(TEST_ROS1_BRIDGE)
  add_executable(test_ros1_client "test/test_ros1_client.cpp")
  ament_target_dependencies(test_ros1_client "ros1_roscpp")
  add_executable(test_ros1_server "test/test_ros1_server.cpp")
  ament_target_dependencies(test_ros1_server "ros1_roscpp")
  set(TEST_BRIDGE_ROS1_ENV "${ros1_roslaunch_PREFIX}/env.sh")
  set(TEST_BRIDGE_ROSCORE "${ros1_roslaunch_PREFIX}/bin/roscore")
  set(TEST_BRIDGE_ROS1_CLIENT "$")
  set(TEST_BRIDGE_ROS1_SERVER "$")
endif()

call_for_each_rmw_implementation(targets GENERATE_DEFAULT)

install(
  FILES skynet_rules.yaml
  DESTINATION share/${PROJECT_NAME})
install(
  PROGRAMS bin/ros1_bridge_generate_factories
  DESTINATION lib/ros1_bridge_generate_factories
)
install(
  DIRECTORY cmake
  DESTINATION share/${PROJECT_NAME}
)
install(
  DIRECTORY include/
  DESTINATION include
)
install(
  DIRECTORY resource
  DESTINATION share/${PROJECT_NAME}
)

I've created publisher and subscriber nodes for ROS1 and ROS2. They pass the message fine between each other inside when work inside ROS1 or ROS2 only.
When I start roscore and dynamic bridge and I start subscriber on ROS1 and publisher on ROS2.
Message is not passed. Dynamic bridge says:

failed to create 2to1 bridge for topic 'description_msgs_test' with ROS 2 type 'skynet_msgs/NodeDescription' and ROS 1 type '': No template specialization for the pair
failed to create 2to1 bridge for topic 'description_msgs_test' with ROS 2 type 'skynet_msgs/NodeDescription' and ROS 1 type '': No template specialization for the pair
failed to create 2to1 bridge for topic 'description_msgs_test' with ROS 2 type 'skynet_msgs/NodeDescription' and ROS 1 type '': No template specialization for the pair

Could you hint what I missed?

@mikaelarguedas
Copy link
Member

Hi @mc-android-developer, thanks for reporting the issue.

The way the dynamic_bridge is designed you should not need to specify the mapping in a yaml file if the massage package + name is the same between ros1 and ros2. You should also not need to change anything in the CMakLists or the package.xml of the bridge.

From the error message it looks like your ROS1 workspace with your custom messages was not sourced when you built the bridge hence the (ROS 1 type '' message)
Could you give more details about your setup (what version of the code you are using mostly and maybe also the platform and the rmw implementation you are using).

Usually when I use custom messages I have:

  • a ros2 workspace with just the core of ROS2
  • ros1 installed from binaries
  • an overlay catkin workspace with my custom message package
  • an overlay ament (ROS2) workspace with my custom message package

The steps I use are:

  • in one shell build my ros2 workspace
  • in another shell build my catkin workspace
  • in another shell: source my ros2 workspace and build my overlay workspace
  • finally build the bridge in a new shell:
    • source /opt/ros//setup.bash
    • source <MY_ROS2_WORKSPACE>/install/(local_)setup.bash
    • source my catkin workspace
    • source my ros2 overlay workspace
    • rm -rf ros2_ws/build/ros1_bridge
    • build the bridge: ament build --only ros1_bridge

If you can give this a try and report here with the outcome that would be awesome,
Thanks!

@mcmindcoder
Copy link
Author

mcmindcoder commented Jun 26, 2017

Hi @mikaelarguedas. Thank you for prompt response.

The way the dynamic_bridge is designed you should not need to specify the mapping in a yaml file if the massage package + name is the same between ros1 and ros2. You should also not need to change anything in the CMakLists or the package.xml of the bridge.

Right. That was my first effort. It didn't work so I've added yaml file.

From the error message it looks like your ROS1 workspace with your custom messages was not sourced when you built the bridge hence the (ROS 1 type '' message)

I've made sure that ROS1 workspace with custom message is sourced and recompiled bridge again. Here is the output:

~/ros2_ws $ src/ament/ament_tools/scripts/ament.py build --build-tests --symlink-install -j1 --only ros1_bridge
# Topological order
 - (ament_cppcheck)
 - (ament_package)
 - (ament_cmake_core)
 - (ament_cmake_export_definitions)
 - (ament_cmake_export_dependencies)
 - (ament_cmake_export_include_directories)
 - (ament_cmake_export_interfaces)
 - (ament_cmake_export_libraries)
 - (ament_cmake_export_link_flags)
 - (ament_cmake_gmock)
 - (ament_cmake_gtest)
 - (ament_cmake_include_directories)
 - (ament_cmake_libraries)
 - (ament_cmake)
 - (ament_cmake_nose)
 - (ament_cmake_python)
 - (ament_cmake_target_dependencies)
 - (ament_cmake_test)
 - (ament_cmake_auto)
 - (ament_lint_auto)
 - (ament_pep8)
 - (ament_pep257)
 - (ament_pyflakes)
 - (ament_copyright)
 - (ament_clang_format)
 - (ament_cpplint)
 - (ament_index_python)
 - (ament_lint_cmake)
 - (ament_cmake_lint_cmake)
 - (ament_cmake_copyright)
 - (ament_cmake_clang_format)
 - (ament_cmake_cppcheck)
 - (ament_cmake_cpplint)
 - (ament_cmake_pep257)
 - (ament_cmake_pep8)
 - (ament_cmake_pyflakes)
 - (ament_cmake_uncrustify)
 - (console_bridge)
 - (fastcdr)
 - (fastrtps)
 - (gmock_vendor)
 - (gtest_vendor)
 - (launch)
 - (launch_testing)
 - (osrf_pycommon)
 - (ament_tools)
 - (poco_vendor)
 - (class_loader)
 - (uncrustify)
 - (ament_uncrustify)
 - (ament_lint_common)
 - (ament_index_cpp)
 - (connext_cmake_module)
 - (fastrtps_cmake_module)
 - (opensplice_cmake_module)
 - (python_cmake_module)
 - (rmw)
 - (rmw_implementation_cmake)
 - (rosidl_default_generators)
 - (rosidl_default_runtime)
 - (rosidl_generator_dds_idl)
 - (rosidl_parser)
 - (rosidl_cmake)
 - (rosidl_generator_c)
 - (rmw_connext_shared_cpp)
 - (rosidl_generator_cpp)
 - (rosidl_typesupport_interface)
 - (rosidl_typesupport_connext_cpp)
 - (rosidl_typesupport_connext_c)
 - (rosidl_typesupport_introspection_c)
 - (rosidl_typesupport_introspection_cpp)
 - (rosidl_typesupport_opensplice_cpp)
 - (rosidl_typesupport_cpp)
 - (rmw_connext_cpp)
 - (rmw_fastrtps_cpp)
 - (rosidl_typesupport_opensplice_c)
 - (rmw_opensplice_cpp)
 - (rmw_implementation)
 - (rosidl_generator_py)
 - (builtin_interfaces)
 - (example_interfaces)
 - (lifecycle_msgs)
 - (pendulum_msgs)
 - (rcl_interfaces)
 - (rttest)
 - (std_msgs)
 - (actionlib_msgs)
 - (geometry_msgs)
 - (diagnostic_msgs)
 - (nav_msgs)
 - (rcl)
 - (rcl_lifecycle)
 - (rclcpp)
 - (composition)
 - (examples_rclcpp_minimal_client)
 - (examples_rclcpp_minimal_composition)
 - (examples_rclcpp_minimal_publisher)
 - (examples_rclcpp_minimal_service)
 - (examples_rclcpp_minimal_subscriber)
 - (examples_rclcpp_minimal_timer)
 - (rclpy)
 - (demo_nodes_py)
 - (examples_rclpy_minimal_client)
 - (examples_rclpy_minimal_publisher)
 - (examples_rclpy_minimal_service)
 - (examples_rclpy_minimal_subscriber)
 - (rclcpp_lifecycle)
 - (lifecycle)
 - ros1_bridge
 - (sensor_msgs)
 - (demo_nodes_cpp)
 - (image_tools)
 - (intra_process_demo)
 - (shape_msgs)
 - (std_srvs)
 - (stereo_msgs)
 - (test_communication)
 - (test_rclcpp)
 - (tf2)
 - (tf2_msgs)
 - (tf2_ros)
 - (tlsf)
 - (tlsf_cpp)
 - (pendulum_control)
 - (topic_monitor)
 - (trajectory_msgs)
 - (visualization_msgs)
# Skipping: ament_cppcheck
# Skipping: ament_package
# Skipping: ament_cmake_core
# Skipping: ament_cmake_export_definitions
# Skipping: ament_cmake_export_dependencies
# Skipping: ament_cmake_export_include_directories
# Skipping: ament_cmake_export_interfaces
# Skipping: ament_cmake_export_libraries
# Skipping: ament_cmake_export_link_flags
# Skipping: ament_cmake_gmock
# Skipping: ament_cmake_gtest
# Skipping: ament_cmake_include_directories
# Skipping: ament_cmake_libraries
# Skipping: ament_cmake
# Skipping: ament_cmake_nose
# Skipping: ament_cmake_python
# Skipping: ament_cmake_target_dependencies
# Skipping: ament_cmake_test
# Skipping: ament_cmake_auto
# Skipping: ament_lint_auto
# Skipping: ament_pep8
# Skipping: ament_pep257
# Skipping: ament_pyflakes
# Skipping: ament_copyright
# Skipping: ament_clang_format
# Skipping: ament_cpplint
# Skipping: ament_index_python
# Skipping: ament_lint_cmake
# Skipping: ament_cmake_lint_cmake
# Skipping: ament_cmake_copyright
# Skipping: ament_cmake_clang_format
# Skipping: ament_cmake_cppcheck
# Skipping: ament_cmake_cpplint
# Skipping: ament_cmake_pep257
# Skipping: ament_cmake_pep8
# Skipping: ament_cmake_pyflakes
# Skipping: ament_cmake_uncrustify
# Skipping: console_bridge
# Skipping: fastcdr
# Skipping: fastrtps
# Skipping: gmock_vendor
# Skipping: gtest_vendor
# Skipping: launch
# Skipping: launch_testing
# Skipping: osrf_pycommon
# Skipping: ament_tools
# Skipping: poco_vendor
# Skipping: class_loader
# Skipping: uncrustify
# Skipping: ament_uncrustify
# Skipping: ament_lint_common
# Skipping: ament_index_cpp
# Skipping: connext_cmake_module
# Skipping: fastrtps_cmake_module
# Skipping: opensplice_cmake_module
# Skipping: python_cmake_module
# Skipping: rmw
# Skipping: rmw_implementation_cmake
# Skipping: rosidl_default_generators
# Skipping: rosidl_default_runtime
# Skipping: rosidl_generator_dds_idl
# Skipping: rosidl_parser
# Skipping: rosidl_cmake
# Skipping: rosidl_generator_c
# Skipping: rmw_connext_shared_cpp
# Skipping: rosidl_generator_cpp
# Skipping: rosidl_typesupport_interface
# Skipping: rosidl_typesupport_connext_cpp
# Skipping: rosidl_typesupport_connext_c
# Skipping: rosidl_typesupport_introspection_c
# Skipping: rosidl_typesupport_introspection_cpp
# Skipping: rosidl_typesupport_opensplice_cpp
# Skipping: rosidl_typesupport_cpp
# Skipping: rmw_connext_cpp
# Skipping: rmw_fastrtps_cpp
# Skipping: rosidl_typesupport_opensplice_c
# Skipping: rmw_opensplice_cpp
# Skipping: rmw_implementation
# Skipping: rosidl_generator_py
# Skipping: builtin_interfaces
# Skipping: example_interfaces
# Skipping: lifecycle_msgs
# Skipping: pendulum_msgs
# Skipping: rcl_interfaces
# Skipping: rttest
# Skipping: std_msgs
# Skipping: actionlib_msgs
# Skipping: geometry_msgs
# Skipping: diagnostic_msgs
# Skipping: nav_msgs
# Skipping: rcl
# Skipping: rcl_lifecycle
# Skipping: rclcpp
# Skipping: composition
# Skipping: examples_rclcpp_minimal_client
# Skipping: examples_rclcpp_minimal_composition
# Skipping: examples_rclcpp_minimal_publisher
# Skipping: examples_rclcpp_minimal_service
# Skipping: examples_rclcpp_minimal_subscriber
# Skipping: examples_rclcpp_minimal_timer
# Skipping: rclpy
# Skipping: demo_nodes_py
# Skipping: examples_rclpy_minimal_client
# Skipping: examples_rclpy_minimal_publisher
# Skipping: examples_rclpy_minimal_service
# Skipping: examples_rclpy_minimal_subscriber
# Skipping: rclcpp_lifecycle
# Skipping: lifecycle
# Skipping: sensor_msgs
# Skipping: demo_nodes_cpp
# Skipping: image_tools
# Skipping: intra_process_demo
# Skipping: shape_msgs
# Skipping: std_srvs
# Skipping: stereo_msgs
# Skipping: test_communication
# Skipping: test_rclcpp
# Skipping: tf2
# Skipping: tf2_msgs
# Skipping: tf2_ros
# Skipping: tlsf
# Skipping: tlsf_cpp
# Skipping: pendulum_control
# Skipping: topic_monitor
# Skipping: trajectory_msgs
# Skipping: visualization_msgs

Process package 'ros1_bridge' with context:
--------------------------------------------------------------------------------
 source_space => /home/mc/ros2_b1_ws/src/ros2/ros1_bridge
  build_space => /home/mc/ros2_ws/build/ros1_bridge
install_space => /home/mc/ros2_ws/install
   make_flags => -j1
  build_tests => True
--------------------------------------------------------------------------------
+++ Building 'ros1_bridge'
==> '. /home/mc/ros2_ws/build/ros1_bridge/cmake__build.sh && /usr/bin/make cmake_check_build_system' in '/home/mc/ros2_ws/build/ros1_bridge'
-- Found rmw: 0.0.0 (/home/mc/ros2_ws/install/share/rmw/cmake)
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Override CMake install command with custom implementation using symlinks instead of copying resources
-- Found ament_cmake: 0.0.0 (/home/mc/ros2_ws/install/share/ament_cmake/cmake)
-- Found rclcpp: 0.0.0 (/home/mc/ros2_ws/install/share/rclcpp/cmake)
-- Found rmw_implementation_cmake: 0.0.0 (/home/mc/ros2_ws/install/share/rmw_implementation_cmake/cmake)
-- Using RMW implementation 'rmw_fastrtps_cpp' as default
-- Found rmw_fastrtps_cpp: 0.0.0 (/home/mc/ros2_ws/install/share/rmw_fastrtps_cpp/cmake)
-- Found std_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/std_msgs/cmake)
-- Found skynet_msgs: 0.0.0 (/home/mc/skynet-edge/core_ws/install/share/skynet_msgs/cmake)
-- Found ament_lint_auto: 0.0.0 (/home/mc/ros2_ws/install/share/ament_lint_auto/cmake)
-- Found diagnostic_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/diagnostic_msgs/cmake)
-- Added test 'copyright' to check for copyright in CMake / C / C++ / Python code
-- Added test 'cppcheck' to perform static code analysis on C / C++ code
-- Added test 'cpplint' to check C / C++ code against the Google style
-- Added test 'lint_cmake' to check CMake code style
-- Added test 'pep257' to check Python code against some of the style conventions in PEP 257
-- Added test 'pep8' to check Python code against some of the style conventions in PEP 8
-- Added test 'pyflakes' to perform static code analysis on Python code
-- Added test 'uncrustify' to check C / C++ code style
-- Found stereo_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/stereo_msgs/cmake)
-- Found tf2_msgs: 0.5.12 (/home/mc/ros2_ws/install/share/tf2_msgs/cmake)
-- Found example_interfaces: 0.0.0 (/home/mc/ros2_ws/install/share/example_interfaces/cmake)
-- Found std_srvs: 0.0.0 (/home/mc/ros2_ws/install/share/std_srvs/cmake)
-- Found visualization_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/visualization_msgs/cmake)
-- Found pendulum_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/pendulum_msgs/cmake)
-- Found lifecycle_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/lifecycle_msgs/cmake)
-- Found trajectory_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/trajectory_msgs/cmake)
-- Found composition: 0.0.0 (/home/mc/ros2_ws/install/share/composition/cmake)
-- Found shape_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/shape_msgs/cmake)
-- Found nav_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/nav_msgs/cmake)
-- Found actionlib_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/actionlib_msgs/cmake)
-- Using Python nosetests: /usr/bin/nosetests3 (1.3.7)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mc/ros2_ws/build/ros1_bridge
==> '. /home/mc/ros2_ws/build/ros1_bridge/cmake__build.sh && /usr/bin/make -j1' in '/home/mc/ros2_ws/build/ros1_bridge'
[  1%] Linking CXX shared library libros1_bridge.so
[ 31%] Built target ros1_bridge
[ 32%] Linking CXX executable dynamic_bridge
[ 34%] Built target dynamic_bridge
[ 35%] Linking CXX executable static_bridge
[ 36%] Built target static_bridge
[ 38%] Linking CXX executable simple_bridge__rmw_fastrtps_cpp
[ 39%] Built target simple_bridge__rmw_fastrtps_cpp
[ 42%] Built target test_ros1_client
[ 44%] Built target test_ros1_server
[ 46%] Linking CXX executable simple_bridge_1_to_2
[ 47%] Built target simple_bridge_1_to_2
[ 48%] Linking CXX executable simple_bridge_2_to_1
[ 50%] Built target simple_bridge_2_to_1
[ 52%] Built target test_ros2_client_cpp__rmw_fastrtps_cpp
[ 53%] Linking CXX shared library libros1_bridge__rmw_fastrtps_cpp.so
[ 84%] Built target ros1_bridge__rmw_fastrtps_cpp
[ 85%] Linking CXX executable dynamic_bridge__rmw_fastrtps_cpp
[ 86%] Built target dynamic_bridge__rmw_fastrtps_cpp
[ 89%] Built target test_ros2_server_cpp__rmw_fastrtps_cpp
[ 90%] Linking CXX executable simple_bridge
[ 92%] Built target simple_bridge
[ 93%] Linking CXX executable simple_bridge_1_to_2__rmw_fastrtps_cpp
[ 94%] Built target simple_bridge_1_to_2__rmw_fastrtps_cpp
[ 96%] Linking CXX executable simple_bridge_2_to_1__rmw_fastrtps_cpp
[ 97%] Built target simple_bridge_2_to_1__rmw_fastrtps_cpp
[ 98%] Linking CXX executable static_bridge__rmw_fastrtps_cpp
[100%] Built target static_bridge__rmw_fastrtps_cpp
+++ Installing 'ros1_bridge'
==> '. /home/mc/ros2_ws/build/ros1_bridge/cmake__install.sh && /usr/bin/make install' in '/home/mc/ros2_ws/build/ros1_bridge'
[ 31%] Built target ros1_bridge
[ 34%] Built target dynamic_bridge
[ 36%] Built target static_bridge
[ 39%] Built target simple_bridge__rmw_fastrtps_cpp
[ 42%] Built target test_ros1_client
[ 44%] Built target test_ros1_server
[ 47%] Built target simple_bridge_1_to_2
[ 50%] Built target simple_bridge_2_to_1
[ 52%] Built target test_ros2_client_cpp__rmw_fastrtps_cpp
[ 84%] Built target ros1_bridge__rmw_fastrtps_cpp
[ 86%] Built target dynamic_bridge__rmw_fastrtps_cpp
[ 89%] Built target test_ros2_server_cpp__rmw_fastrtps_cpp
[ 92%] Built target simple_bridge
[ 94%] Built target simple_bridge_1_to_2__rmw_fastrtps_cpp
[ 97%] Built target simple_bridge_2_to_1__rmw_fastrtps_cpp
[100%] Built target static_bridge__rmw_fastrtps_cpp
Install the project...
-- Install configuration: ""
-- Execute custom install script
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/environment/pythonpath.sh
-- Up-to-date symlink: /home/mc/ros2_ws/install/lib/python3.5/site-packages/ros1_bridge/__init__.py
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ament_index/resource_index/package_run_dependencies/ros1_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ament_index/resource_index/parent_prefix_path/ros1_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/environment/ament_prefix_path.sh
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/environment/path.sh
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/local_setup.bash
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/local_setup.sh
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/local_setup.zsh
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ament_index/resource_index/packages/ros1_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/cmake/ament_cmake_export_include_directories-extras.cmake
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/cmake/ros1_bridgeConfig.cmake
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/cmake/ros1_bridgeConfig-version.cmake
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/package.xml
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge_1_to_2
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge_2_to_1
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/lib/libros1_bridge.so
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/static_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/dynamic_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge_1_to_2__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge_2_to_1__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/lib/libros1_bridge__rmw_fastrtps_cpp.so
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/static_bridge__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/dynamic_bridge__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/test_ros2_client_cpp__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/test_ros2_server_cpp__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/skynet_rules.yaml
-- Up-to-date symlink: /home/mc/ros2_ws/install/lib/ros1_bridge_generate_factories/ros1_bridge_generate_factories
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/cmake/find_ros1_package.cmake
-- Up-to-date symlink: /home/mc/ros2_ws/install/include/ros1_bridge/bridge.hpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/include/ros1_bridge/convert_builtin_interfaces.hpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/include/ros1_bridge/convert_decl.hpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/include/ros1_bridge/factory.hpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/include/ros1_bridge/factory_interface.hpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/resource/get_factory.cpp.em
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/resource/get_mappings.cpp.em
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/resource/pkg_factories.cpp.em
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/resource/pkg_factories.hpp.em
-- [ament] Deploying: /home/mc/ros2_ws/install/local_setup.bash
-- [ament] Deploying: /home/mc/ros2_ws/install/local_setup.sh
-- [ament] Deploying: /home/mc/ros2_ws/install/local_setup.zsh
-- [ament] Deploying: /home/mc/ros2_ws/install/setup.bash
-- [ament] Deploying: /home/mc/ros2_ws/install/setup.sh
-- [ament] Deploying: /home/mc/ros2_ws/install/setup.zsh
-- [ament] Deploying: /home/mc/ros2_ws/install/_order_packages.py

It didn't help. Result is the same.

I also tried run nodes the other way. Subscriber on ROS2 and publisher on ROS1. The message produced by dynamic bridge is changed:

failed to create 1to2 bridge for topic 'description_msgs_test' with ROS 1 type 'skynet_msgs/NodeDescription' and ROS 2 type 'skynet_msgs/NodeDescription': No template specialization for the pair
failed to create 1to2 bridge for topic 'description_msgs_test' with ROS 1 type 'skynet_msgs/NodeDescription' and ROS 2 type 'skynet_msgs/NodeDescription': No template specialization for the pair
failed to create 1to2 bridge for topic 'description_msgs_test' with ROS 1 type 'skynet_msgs/NodeDescription' and ROS 2 type 'skynet_msgs/NodeDescription': No template specialization for the pair
failed to create 1to2 bridge for topic 'description_msgs_test' with ROS 1 type 'skynet_msgs/NodeDescription' and ROS 2 type 'skynet_msgs/NodeDescription': No template specialization for the pair
failed to create 1to2 bridge for topic 'description_msgs_test' with ROS 1 type 'skynet_msgs/NodeDescription' and ROS 2 type 'skynet_msgs/NodeDescription': No template specialization for the pair
...

I use Ubuntu Linux. ROS1 lunar (from binaries) and ROS2 beta1 (compiled from sources) with default rmw (fastrtps):

~/ros2_ws $ cat ros2.repos 
repositories:
 ...
  ros2/ros1_bridge:
    type: git
    url: https://github.com/ros2/ros1_bridge.git
    version: release-beta1
 ...
  vendor/console_bridge:
    type: git
    url: https://github.com/ros/console_bridge.git
    version: 148df7e841b91da488ec3bb4abd295a2bccdb728

Now I'm trying to do steps you described. I'll post result later.
Thank you!

@mikaelarguedas
Copy link
Member

Yeah this console output indicates that the bridge is not being rebuilt. If you try the same after deleting build/ros1_bridge it should rebuild and the output should contain:

-- Checking for module 'my_custom_msg_package'
--   Found my_custom_msg_package, version x.x.x

and later something like:

Generating generated/get_factory.cpp, generated/get_mappings.cpp, generated/my_custom_msg_package.cpp

@mcmindcoder
Copy link
Author

I did as you offered. I reverted all changes with yaml file in ros1_bridge and removed build/ros1_bridge dir.

$ src/ament/ament_tools/scripts/ament.py build --build-tests --symlink-install -j1 --only ros1_bridge
# Topological order
 - (ament_cppcheck)
 - (ament_package)
 - (ament_cmake_core)
 - (ament_cmake_export_definitions)
 - (ament_cmake_export_dependencies)
 - (ament_cmake_export_include_directories)
 - (ament_cmake_export_interfaces)
 - (ament_cmake_export_libraries)
 - (ament_cmake_export_link_flags)
 - (ament_cmake_gmock)
 - (ament_cmake_gtest)
 - (ament_cmake_include_directories)
 - (ament_cmake_libraries)
 - (ament_cmake)
 - (ament_cmake_nose)
 - (ament_cmake_python)
 - (ament_cmake_target_dependencies)
 - (ament_cmake_test)
 - (ament_cmake_auto)
 - (ament_lint_auto)
 - (ament_pep8)
 - (ament_pep257)
 - (ament_pyflakes)
 - (ament_copyright)
 - (ament_clang_format)
 - (ament_cpplint)
 - (ament_index_python)
 - (ament_lint_cmake)
 - (ament_cmake_lint_cmake)
 - (ament_cmake_copyright)
 - (ament_cmake_clang_format)
 - (ament_cmake_cppcheck)
 - (ament_cmake_cpplint)
 - (ament_cmake_pep257)
 - (ament_cmake_pep8)
 - (ament_cmake_pyflakes)
 - (ament_cmake_uncrustify)
 - (console_bridge)
 - (fastcdr)
 - (fastrtps)
 - (gmock_vendor)
 - (gtest_vendor)
 - (launch)
 - (launch_testing)
 - (osrf_pycommon)
 - (ament_tools)
 - (poco_vendor)
 - (class_loader)
 - (uncrustify)
 - (ament_uncrustify)
 - (ament_lint_common)
 - (ament_index_cpp)
 - (connext_cmake_module)
 - (fastrtps_cmake_module)
 - (opensplice_cmake_module)
 - (python_cmake_module)
 - (rmw)
 - (rmw_implementation_cmake)
 - (rosidl_default_generators)
 - (rosidl_default_runtime)
 - (rosidl_generator_dds_idl)
 - (rosidl_parser)
 - (rosidl_cmake)
 - (rosidl_generator_c)
 - (rmw_connext_shared_cpp)
 - (rosidl_generator_cpp)
 - (rosidl_typesupport_interface)
 - (rosidl_typesupport_connext_cpp)
 - (rosidl_typesupport_connext_c)
 - (rosidl_typesupport_introspection_c)
 - (rosidl_typesupport_introspection_cpp)
 - (rosidl_typesupport_opensplice_cpp)
 - (rosidl_typesupport_cpp)
 - (rmw_connext_cpp)
 - (rmw_fastrtps_cpp)
 - (rosidl_typesupport_opensplice_c)
 - (rmw_opensplice_cpp)
 - (rmw_implementation)
 - (rosidl_generator_py)
 - (builtin_interfaces)
 - (example_interfaces)
 - (lifecycle_msgs)
 - (pendulum_msgs)
 - (rcl_interfaces)
 - (rttest)
 - (std_msgs)
 - (actionlib_msgs)
 - (geometry_msgs)
 - (diagnostic_msgs)
 - (nav_msgs)
 - (rcl)
 - (rcl_lifecycle)
 - (rclcpp)
 - (composition)
 - (examples_rclcpp_minimal_client)
 - (examples_rclcpp_minimal_composition)
 - (examples_rclcpp_minimal_publisher)
 - (examples_rclcpp_minimal_service)
 - (examples_rclcpp_minimal_subscriber)
 - (examples_rclcpp_minimal_timer)
 - (rclpy)
 - (demo_nodes_py)
 - (examples_rclpy_minimal_client)
 - (examples_rclpy_minimal_publisher)
 - (examples_rclpy_minimal_service)
 - (examples_rclpy_minimal_subscriber)
 - (rclcpp_lifecycle)
 - (lifecycle)
 - ros1_bridge
 - (sensor_msgs)
 - (demo_nodes_cpp)
 - (image_tools)
 - (intra_process_demo)
 - (shape_msgs)
 - (std_srvs)
 - (stereo_msgs)
 - (test_communication)
 - (test_rclcpp)
 - (tf2)
 - (tf2_msgs)
 - (tf2_ros)
 - (tlsf)
 - (tlsf_cpp)
 - (pendulum_control)
 - (topic_monitor)
 - (trajectory_msgs)
 - (visualization_msgs)
# Skipping: ament_cppcheck
# Skipping: ament_package
# Skipping: ament_cmake_core
# Skipping: ament_cmake_export_definitions
# Skipping: ament_cmake_export_dependencies
# Skipping: ament_cmake_export_include_directories
# Skipping: ament_cmake_export_interfaces
# Skipping: ament_cmake_export_libraries
# Skipping: ament_cmake_export_link_flags
# Skipping: ament_cmake_gmock
# Skipping: ament_cmake_gtest
# Skipping: ament_cmake_include_directories
# Skipping: ament_cmake_libraries
# Skipping: ament_cmake
# Skipping: ament_cmake_nose
# Skipping: ament_cmake_python
# Skipping: ament_cmake_target_dependencies
# Skipping: ament_cmake_test
# Skipping: ament_cmake_auto
# Skipping: ament_lint_auto
# Skipping: ament_pep8
# Skipping: ament_pep257
# Skipping: ament_pyflakes
# Skipping: ament_copyright
# Skipping: ament_clang_format
# Skipping: ament_cpplint
# Skipping: ament_index_python
# Skipping: ament_lint_cmake
# Skipping: ament_cmake_lint_cmake
# Skipping: ament_cmake_copyright
# Skipping: ament_cmake_clang_format
# Skipping: ament_cmake_cppcheck
# Skipping: ament_cmake_cpplint
# Skipping: ament_cmake_pep257
# Skipping: ament_cmake_pep8
# Skipping: ament_cmake_pyflakes
# Skipping: ament_cmake_uncrustify
# Skipping: console_bridge
# Skipping: fastcdr
# Skipping: fastrtps
# Skipping: gmock_vendor
# Skipping: gtest_vendor
# Skipping: launch
# Skipping: launch_testing
# Skipping: osrf_pycommon
# Skipping: ament_tools
# Skipping: poco_vendor
# Skipping: class_loader
# Skipping: uncrustify
# Skipping: ament_uncrustify
# Skipping: ament_lint_common
# Skipping: ament_index_cpp
# Skipping: connext_cmake_module
# Skipping: fastrtps_cmake_module
# Skipping: opensplice_cmake_module
# Skipping: python_cmake_module
# Skipping: rmw
# Skipping: rmw_implementation_cmake
# Skipping: rosidl_default_generators
# Skipping: rosidl_default_runtime
# Skipping: rosidl_generator_dds_idl
# Skipping: rosidl_parser
# Skipping: rosidl_cmake
# Skipping: rosidl_generator_c
# Skipping: rmw_connext_shared_cpp
# Skipping: rosidl_generator_cpp
# Skipping: rosidl_typesupport_interface
# Skipping: rosidl_typesupport_connext_cpp
# Skipping: rosidl_typesupport_connext_c
# Skipping: rosidl_typesupport_introspection_c
# Skipping: rosidl_typesupport_introspection_cpp
# Skipping: rosidl_typesupport_opensplice_cpp
# Skipping: rosidl_typesupport_cpp
# Skipping: rmw_connext_cpp
# Skipping: rmw_fastrtps_cpp
# Skipping: rosidl_typesupport_opensplice_c
# Skipping: rmw_opensplice_cpp
# Skipping: rmw_implementation
# Skipping: rosidl_generator_py
# Skipping: builtin_interfaces
# Skipping: example_interfaces
# Skipping: lifecycle_msgs
# Skipping: pendulum_msgs
# Skipping: rcl_interfaces
# Skipping: rttest
# Skipping: std_msgs
# Skipping: actionlib_msgs
# Skipping: geometry_msgs
# Skipping: diagnostic_msgs
# Skipping: nav_msgs
# Skipping: rcl
# Skipping: rcl_lifecycle
# Skipping: rclcpp
# Skipping: composition
# Skipping: examples_rclcpp_minimal_client
# Skipping: examples_rclcpp_minimal_composition
# Skipping: examples_rclcpp_minimal_publisher
# Skipping: examples_rclcpp_minimal_service
# Skipping: examples_rclcpp_minimal_subscriber
# Skipping: examples_rclcpp_minimal_timer
# Skipping: rclpy
# Skipping: demo_nodes_py
# Skipping: examples_rclpy_minimal_client
# Skipping: examples_rclpy_minimal_publisher
# Skipping: examples_rclpy_minimal_service
# Skipping: examples_rclpy_minimal_subscriber
# Skipping: rclcpp_lifecycle
# Skipping: lifecycle
# Skipping: sensor_msgs
# Skipping: demo_nodes_cpp
# Skipping: image_tools
# Skipping: intra_process_demo
# Skipping: shape_msgs
# Skipping: std_srvs
# Skipping: stereo_msgs
# Skipping: test_communication
# Skipping: test_rclcpp
# Skipping: tf2
# Skipping: tf2_msgs
# Skipping: tf2_ros
# Skipping: tlsf
# Skipping: tlsf_cpp
# Skipping: pendulum_control
# Skipping: topic_monitor
# Skipping: trajectory_msgs
# Skipping: visualization_msgs

Process package 'ros1_bridge' with context:
--------------------------------------------------------------------------------
 source_space => /home/mc/ros2_b1_ws/src/ros2/ros1_bridge
  build_space => /home/mc/ros2_ws/build/ros1_bridge
install_space => /home/mc/ros2_ws/install
   make_flags => -j1
  build_tests => True
--------------------------------------------------------------------------------
+++ Building 'ros1_bridge'
Running cmake because arguments have changed.
==> '. /home/mc/ros2_ws/build/ros1_bridge/cmake__build.sh && /usr/bin/cmake /home/mc/ros2_b1_ws/src/ros2/ros1_bridge -DBUILD_TESTING=1 -DAMENT_CMAKE_SYMLINK_INSTALL=1 -DCMAKE_INSTALL_PREFIX=/home/mc/ros2_ws/install' in '/home/mc/ros2_ws/build/ros1_bridge'
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found rmw: 0.0.0 (/home/mc/ros2_ws/install/share/rmw/cmake)
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.2", minimum required is "3") 
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Override CMake install command with custom implementation using symlinks instead of copying resources
-- Found ament_cmake: 0.0.0 (/home/mc/ros2_ws/install/share/ament_cmake/cmake)
-- Found rclcpp: 0.0.0 (/home/mc/ros2_ws/install/share/rclcpp/cmake)
-- Found rmw_implementation_cmake: 0.0.0 (/home/mc/ros2_ws/install/share/rmw_implementation_cmake/cmake)
-- Using RMW implementation 'rmw_fastrtps_cpp' as default
-- Found rmw_fastrtps_cpp: 0.0.0 (/home/mc/ros2_ws/install/share/rmw_fastrtps_cpp/cmake)
-- Found std_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/std_msgs/cmake)
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'roscpp'
--   Found roscpp, version 1.13.0
-- Checking for module 'std_msgs'
--   Found std_msgs, version 0.5.11
-- Found ament_lint_auto: 0.0.0 (/home/mc/ros2_ws/install/share/ament_lint_auto/cmake)
-- Found diagnostic_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/diagnostic_msgs/cmake)
-- Checking for module 'diagnostic_msgs'
--   Found diagnostic_msgs, version 1.12.5
-- Checking for module 'roslaunch'
--   Found roslaunch, version 1.13.0
-- Added test 'copyright' to check for copyright in CMake / C / C++ / Python code
-- Added test 'cppcheck' to perform static code analysis on C / C++ code
-- Added test 'cpplint' to check C / C++ code against the Google style
-- Added test 'lint_cmake' to check CMake code style
-- Added test 'pep257' to check Python code against some of the style conventions in PEP 257
-- Added test 'pep8' to check Python code against some of the style conventions in PEP 8
-- Added test 'pyflakes' to perform static code analysis on Python code
-- Added test 'uncrustify' to check C / C++ code style
-- Found stereo_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/stereo_msgs/cmake)
-- Found tf2_msgs: 0.5.12 (/home/mc/ros2_ws/install/share/tf2_msgs/cmake)
-- Found example_interfaces: 0.0.0 (/home/mc/ros2_ws/install/share/example_interfaces/cmake)
-- Found std_srvs: 0.0.0 (/home/mc/ros2_ws/install/share/std_srvs/cmake)
-- Found visualization_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/visualization_msgs/cmake)
-- Found pendulum_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/pendulum_msgs/cmake)
-- Found lifecycle_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/lifecycle_msgs/cmake)
-- Found trajectory_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/trajectory_msgs/cmake)
-- Found composition: 0.0.0 (/home/mc/ros2_ws/install/share/composition/cmake)
-- Found shape_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/shape_msgs/cmake)
-- Found nav_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/nav_msgs/cmake)
-- Found actionlib_msgs: 0.0.0 (/home/mc/ros2_ws/install/share/actionlib_msgs/cmake)
-- Found skynet_msgs: 0.0.0 (/home/mc/skynet-edge/core_ws/install/share/skynet_msgs/cmake)
-- Using Python nosetests: /usr/bin/nosetests3 (1.3.7)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mc/ros2_b1_ws/build/ros1_bridge
==> '. /home/mc/ros2_ws/build/ros1_bridge/cmake__build.sh && /usr/bin/make -j1' in '/home/mc/ros2_ws/build/ros1_bridge'
[  1%] Generating generated/get_factory.cpp, generated/get_mappings.cpp, generated/diagnostic_msgs_factories.cpp, generated/stereo_msgs_factories.cpp, generated/rcl_interfaces_factories.cpp, generated/tf2_msgs_factories.cpp, generated/example_interfaces_factories.cpp, generated/builtin_interfaces_factories.cpp, generated/std_srvs_factories.cpp, generated/visualization_msgs_factories.cpp, generated/pendulum_msgs_factories.cpp, generated/lifecycle_msgs_factories.cpp, generated/geometry_msgs_factories.cpp, generated/trajectory_msgs_factories.cpp, generated/composition_factories.cpp, generated/std_msgs_factories.cpp, generated/shape_msgs_factories.cpp, generated/nav_msgs_factories.cpp, generated/actionlib_msgs_factories.cpp, generated/sensor_msgs_factories.cpp, generated/skynet_msgs_factories.cpp
Failed to load Python extension for LZ4 support. LZ4 compression will not be available.
Scanning dependencies of target ros1_bridge
[  2%] Building CXX object CMakeFiles/ros1_bridge.dir/src/convert_builtin_interfaces.cpp.o
[  3%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/get_factory.cpp.o
[  5%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/get_mappings.cpp.o
[  6%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/diagnostic_msgs_factories.cpp.o
[  7%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/stereo_msgs_factories.cpp.o
[  9%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/rcl_interfaces_factories.cpp.o
[ 10%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/tf2_msgs_factories.cpp.o
[ 11%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/example_interfaces_factories.cpp.o
[ 13%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/builtin_interfaces_factories.cpp.o
[ 14%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/std_srvs_factories.cpp.o
[ 15%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/visualization_msgs_factories.cpp.o
[ 17%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/pendulum_msgs_factories.cpp.o
[ 18%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/lifecycle_msgs_factories.cpp.o
[ 19%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/geometry_msgs_factories.cpp.o
[ 21%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/trajectory_msgs_factories.cpp.o
[ 22%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/composition_factories.cpp.o
[ 23%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/std_msgs_factories.cpp.o
[ 25%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/shape_msgs_factories.cpp.o
[ 26%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/nav_msgs_factories.cpp.o
[ 27%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/actionlib_msgs_factories.cpp.o
[ 28%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/sensor_msgs_factories.cpp.o
[ 30%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/skynet_msgs_factories.cpp.o
[ 31%] Linking CXX shared library libros1_bridge.so
[ 31%] Built target ros1_bridge
Scanning dependencies of target dynamic_bridge
[ 32%] Building CXX object CMakeFiles/dynamic_bridge.dir/src/dynamic_bridge.cpp.o
[ 34%] Linking CXX executable dynamic_bridge
[ 34%] Built target dynamic_bridge
Scanning dependencies of target static_bridge
[ 35%] Building CXX object CMakeFiles/static_bridge.dir/src/static_bridge.cpp.o
[ 36%] Linking CXX executable static_bridge
[ 36%] Built target static_bridge
Scanning dependencies of target simple_bridge__rmw_fastrtps_cpp
[ 38%] Building CXX object CMakeFiles/simple_bridge__rmw_fastrtps_cpp.dir/src/simple_bridge.cpp.o
[ 39%] Linking CXX executable simple_bridge__rmw_fastrtps_cpp
[ 39%] Built target simple_bridge__rmw_fastrtps_cpp
Scanning dependencies of target test_ros1_client
[ 40%] Building CXX object CMakeFiles/test_ros1_client.dir/test/test_ros1_client.cpp.o
[ 42%] Linking CXX executable test_ros1_client
[ 42%] Built target test_ros1_client
Scanning dependencies of target test_ros1_server
[ 43%] Building CXX object CMakeFiles/test_ros1_server.dir/test/test_ros1_server.cpp.o
[ 44%] Linking CXX executable test_ros1_server
[ 44%] Built target test_ros1_server
Scanning dependencies of target simple_bridge_1_to_2
[ 46%] Building CXX object CMakeFiles/simple_bridge_1_to_2.dir/src/simple_bridge_1_to_2.cpp.o
[ 47%] Linking CXX executable simple_bridge_1_to_2
[ 47%] Built target simple_bridge_1_to_2
Scanning dependencies of target simple_bridge_2_to_1
[ 48%] Building CXX object CMakeFiles/simple_bridge_2_to_1.dir/src/simple_bridge_2_to_1.cpp.o
[ 50%] Linking CXX executable simple_bridge_2_to_1
[ 50%] Built target simple_bridge_2_to_1
Scanning dependencies of target test_ros2_client_cpp__rmw_fastrtps_cpp
[ 51%] Building CXX object CMakeFiles/test_ros2_client_cpp__rmw_fastrtps_cpp.dir/test/test_ros2_client.cpp.o
[ 52%] Linking CXX executable test_ros2_client_cpp__rmw_fastrtps_cpp
[ 52%] Built target test_ros2_client_cpp__rmw_fastrtps_cpp
Scanning dependencies of target ros1_bridge__rmw_fastrtps_cpp
[ 53%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/src/convert_builtin_interfaces.cpp.o
[ 55%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/get_factory.cpp.o
[ 56%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/get_mappings.cpp.o
[ 57%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/diagnostic_msgs_factories.cpp.o
[ 59%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/stereo_msgs_factories.cpp.o
[ 60%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/rcl_interfaces_factories.cpp.o
[ 61%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/tf2_msgs_factories.cpp.o
[ 63%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/example_interfaces_factories.cpp.o
[ 64%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/builtin_interfaces_factories.cpp.o
[ 65%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/std_srvs_factories.cpp.o
[ 67%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/visualization_msgs_factories.cpp.o
[ 68%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/pendulum_msgs_factories.cpp.o
[ 69%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/lifecycle_msgs_factories.cpp.o
[ 71%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/geometry_msgs_factories.cpp.o
[ 72%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/trajectory_msgs_factories.cpp.o
[ 73%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/composition_factories.cpp.o
[ 75%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/std_msgs_factories.cpp.o
[ 76%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/shape_msgs_factories.cpp.o
[ 77%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/nav_msgs_factories.cpp.o
[ 78%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/actionlib_msgs_factories.cpp.o
[ 80%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/sensor_msgs_factories.cpp.o
[ 81%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/skynet_msgs_factories.cpp.o
[ 82%] Linking CXX shared library libros1_bridge__rmw_fastrtps_cpp.so
[ 84%] Built target ros1_bridge__rmw_fastrtps_cpp
Scanning dependencies of target dynamic_bridge__rmw_fastrtps_cpp
[ 85%] Building CXX object CMakeFiles/dynamic_bridge__rmw_fastrtps_cpp.dir/src/dynamic_bridge.cpp.o
[ 86%] Linking CXX executable dynamic_bridge__rmw_fastrtps_cpp
[ 86%] Built target dynamic_bridge__rmw_fastrtps_cpp
Scanning dependencies of target test_ros2_server_cpp__rmw_fastrtps_cpp
[ 88%] Building CXX object CMakeFiles/test_ros2_server_cpp__rmw_fastrtps_cpp.dir/test/test_ros2_server.cpp.o
[ 89%] Linking CXX executable test_ros2_server_cpp__rmw_fastrtps_cpp
[ 89%] Built target test_ros2_server_cpp__rmw_fastrtps_cpp
Scanning dependencies of target simple_bridge
[ 90%] Building CXX object CMakeFiles/simple_bridge.dir/src/simple_bridge.cpp.o
[ 92%] Linking CXX executable simple_bridge
[ 92%] Built target simple_bridge
Scanning dependencies of target simple_bridge_1_to_2__rmw_fastrtps_cpp
[ 93%] Building CXX object CMakeFiles/simple_bridge_1_to_2__rmw_fastrtps_cpp.dir/src/simple_bridge_1_to_2.cpp.o
[ 94%] Linking CXX executable simple_bridge_1_to_2__rmw_fastrtps_cpp
[ 94%] Built target simple_bridge_1_to_2__rmw_fastrtps_cpp
Scanning dependencies of target simple_bridge_2_to_1__rmw_fastrtps_cpp
[ 96%] Building CXX object CMakeFiles/simple_bridge_2_to_1__rmw_fastrtps_cpp.dir/src/simple_bridge_2_to_1.cpp.o
[ 97%] Linking CXX executable simple_bridge_2_to_1__rmw_fastrtps_cpp
[ 97%] Built target simple_bridge_2_to_1__rmw_fastrtps_cpp
Scanning dependencies of target static_bridge__rmw_fastrtps_cpp
[ 98%] Building CXX object CMakeFiles/static_bridge__rmw_fastrtps_cpp.dir/src/static_bridge.cpp.o
[100%] Linking CXX executable static_bridge__rmw_fastrtps_cpp
[100%] Built target static_bridge__rmw_fastrtps_cpp
+++ Installing 'ros1_bridge'
==> '. /home/mc/ros2_ws/build/ros1_bridge/cmake__install.sh && /usr/bin/make install' in '/home/mc/ros2_ws/build/ros1_bridge'
[ 31%] Built target ros1_bridge
[ 34%] Built target dynamic_bridge
[ 36%] Built target static_bridge
[ 39%] Built target simple_bridge__rmw_fastrtps_cpp
[ 42%] Built target test_ros1_client
[ 44%] Built target test_ros1_server
[ 47%] Built target simple_bridge_1_to_2
[ 50%] Built target simple_bridge_2_to_1
[ 52%] Built target test_ros2_client_cpp__rmw_fastrtps_cpp
[ 84%] Built target ros1_bridge__rmw_fastrtps_cpp
[ 86%] Built target dynamic_bridge__rmw_fastrtps_cpp
[ 89%] Built target test_ros2_server_cpp__rmw_fastrtps_cpp
[ 92%] Built target simple_bridge
[ 94%] Built target simple_bridge_1_to_2__rmw_fastrtps_cpp
[ 97%] Built target simple_bridge_2_to_1__rmw_fastrtps_cpp
[100%] Built target static_bridge__rmw_fastrtps_cpp
Install the project...
-- Install configuration: ""
-- Execute custom install script
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/environment/pythonpath.sh
-- Up-to-date symlink: /home/mc/ros2_ws/install/lib/python3.5/site-packages/ros1_bridge/__init__.py
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ament_index/resource_index/package_run_dependencies/ros1_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ament_index/resource_index/parent_prefix_path/ros1_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/environment/ament_prefix_path.sh
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/environment/path.sh
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/local_setup.bash
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/local_setup.sh
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/local_setup.zsh
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ament_index/resource_index/packages/ros1_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/cmake/ament_cmake_export_include_directories-extras.cmake
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/cmake/ros1_bridgeConfig.cmake
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/cmake/ros1_bridgeConfig-version.cmake
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/package.xml
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge_1_to_2
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge_2_to_1
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/lib/libros1_bridge.so
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/static_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/dynamic_bridge
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge_1_to_2__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge_2_to_1__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/simple_bridge__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/lib/libros1_bridge__rmw_fastrtps_cpp.so
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/static_bridge__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/dynamic_bridge__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/test_ros2_client_cpp__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/bin/test_ros2_server_cpp__rmw_fastrtps_cpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/lib/ros1_bridge_generate_factories/ros1_bridge_generate_factories
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/cmake/find_ros1_package.cmake
-- Up-to-date symlink: /home/mc/ros2_ws/install/include/ros1_bridge/bridge.hpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/include/ros1_bridge/convert_builtin_interfaces.hpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/include/ros1_bridge/convert_decl.hpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/include/ros1_bridge/factory.hpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/include/ros1_bridge/factory_interface.hpp
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/resource/get_factory.cpp.em
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/resource/get_mappings.cpp.em
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/resource/pkg_factories.cpp.em
-- Up-to-date symlink: /home/mc/ros2_ws/install/share/ros1_bridge/resource/pkg_factories.hpp.em
-- [ament] Deploying: /home/mc/ros2_ws/install/local_setup.bash
-- [ament] Deploying: /home/mc/ros2_ws/install/local_setup.sh
-- [ament] Deploying: /home/mc/ros2_ws/install/local_setup.zsh
-- [ament] Deploying: /home/mc/ros2_ws/install/setup.bash
-- [ament] Deploying: /home/mc/ros2_ws/install/setup.sh
-- [ament] Deploying: /home/mc/ros2_ws/install/setup.zsh
-- [ament] Deploying: /home/mc/ros2_ws/install/_order_packages.py

I still can't see: -- Checking for module 'skynet_msgs'

Only these messages:

-- Found skynet_msgs: 0.0.0 (/home/mc/skynet-edge/core_ws/install/share/skynet_msgs/cmake)
...
[  1%] Generating generated/get_factory.cpp, generated/get_mappings.cpp, generated/diagnostic_msgs_factories.cpp, generated/stereo_msgs_factories.cpp, generated/rcl_interfaces_factories.cpp, generated/tf2_msgs_factories.cpp, generated/example_interfaces_factories.cpp, generated/builtin_interfaces_factories.cpp, generated/std_srvs_factories.cpp, generated/visualization_msgs_factories.cpp, generated/pendulum_msgs_factories.cpp, generated/lifecycle_msgs_factories.cpp, generated/geometry_msgs_factories.cpp, generated/trajectory_msgs_factories.cpp, generated/composition_factories.cpp, generated/std_msgs_factories.cpp, generated/shape_msgs_factories.cpp, generated/nav_msgs_factories.cpp, generated/actionlib_msgs_factories.cpp, generated/sensor_msgs_factories.cpp, generated/skynet_msgs_factories.cpp
...
[ 30%] Building CXX object CMakeFiles/ros1_bridge.dir/generated/skynet_msgs_factories.cpp.o
[ 81%] Building CXX object CMakeFiles/ros1_bridge__rmw_fastrtps_cpp.dir/generated/skynet_msgs_factories.cpp.o

I'm sure all warkspaces (ros2 core, ros2 skynet_msgs, ros1 core, ros1 skynet_msgs) are sourced at this point. It still doesn't work this way. dynamic_bridge output is the same. Does it look like incorrect output as well?

@mikaelarguedas
Copy link
Member

@mc-android-developer sorry for the trouble, I just missed that part of your previous comment:

I use Ubuntu Linux. ROS1 lunar (from binaries) and ROS2 beta1 (compiled from sources) with default rmw (fastrtps):

The support of overlay ros1 workspace has been fixed recently in the bridge: #67 so it's not part of beta1

@mikaelarguedas
Copy link
Member

@mc-android-developer I saw on other issues that you were working with the master branch these days. If you have the opportunity, can you try to pass custom messages using the latest version and report the outcome here ? Thanks!

@mcmindcoder
Copy link
Author

Hi @mikaelarguedas
I checked that on master branch. It works fine. The same way it worked before in ROS2 beta1.
Here is the test project I use to test it: https://drive.google.com/open?id=0B68BPOrWQeULcmVXNDdTdTRYcFE
Please check README.md file. It has detailed instruction how to run it.

@mikaelarguedas
Copy link
Member

Glad it works for you, I'm going to close this issue then

@mcmindcoder
Copy link
Author

Thank you!

@whyscience
Copy link

Thank you too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants