[ROS2] UnicodeEncodeError building test_msgs as an overlay on Windows
Hey Forum,
I'm working on the ros2_dotnet project (language bindings for C#). Currently the build instructions require a full rebuild of the core ROS2 repositories, and I'm working on converting that to be an overlay on top of an existing ROS2 installation (requires the core ros2_dotnet repositories and any packages containing interface definitions).
I'm finding that when I build certain messages (for example the test_msgs package) I get a UnicodeEncodeError.
Here's a minimal repos file (referred to as 'minimal.repos' below)
repositories:
ros2/rcl_interfaces:
type: git
url: https://github.com/ros2/rcl_interfaces.git
version: eloquent
ros2/rosidl_defaults:
type: git
url: https://github.com/ros2/rosidl_defaults.git
version: eloquent
ros2/test_interface_files:
type: git
url: https://github.com/ros2/test_interface_files.git
version: eloquent
I have installed the binary package for ROS2 Eloquent to c:\dev\ros2e. My commands, run from an Administrative VS2019 developer prompt:
call \dev\ros2e\setup.bat
md c:\dev\test_ws\src
cd c:\dev\test_ws
vcs import src < minimal.repos
colcon build --merge-install --packages-up-to test_msgs
Building test_msgs fails with the following output:
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.19613.
-- The C compiler identification is MSVC 19.24.28314.0
-- The CXX compiler identification is MSVC 19.24.28314.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe -- 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: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.24.28314/bin/Hostx64/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ament_cmake: 0.7.4 (C:/dev/ros2e/share/ament_cmake/cmake)
-- Found PythonInterp: C:/Python37/python.exe (found suitable version "3.7.5", minimum required is "3")
-- Using PYTHON_EXECUTABLE: C:/Python37/python.exe
-- Found builtin_interfaces: 0.8.0 (C:/dev/test_msgs_ws/install/share/builtin_interfaces/cmake)
-- Found rosidl_adapter: 0.7.9 (C:/dev/ros2e/share/rosidl_adapter/cmake)
-- Found rosidl_default_generators: 0.8.0 (C:/dev/test_msgs_ws/install/share/rosidl_default_generators/cmake)
-- Could not find RTI Connext - skipping rosidl_typesupport_connext_c
-- Could not find RTI Connext - skipping rosidl_typesupport_connext_cpp
-- Found OpenSSL: optimized;C:/OpenSSL-Win64/lib/VC/libeay32MD.lib;debug;C:/OpenSSL-Win64/lib/VC/libeay32MDd.lib (found version "1.0.2r")
-- Found FastRTPS: C:/dev/ros2e/include
-- Could not find PrismTech OpenSplice - skipping rosidl_typesupport_opensplice_c
-- Could not find PrismTech OpenSplice - skipping rosidl_typesupport_opensplice_cpp
-- Found test_interface_files: 0.8.0 (C:/dev/test_msgs_ws/install/share/test_interface_files/cmake)
-- Found PythonInterp: C:/Python37/python.exe (found version "3.7.5")
-- Found ament_cmake_cppcheck: 0.7.11 (C:/dev/ros2e/share/ament_cmake_cppcheck/cmake)
-- Found ament_cmake_cpplint: 0.7.11 (C:/dev/ros2e/share/ament_cmake_cpplint/cmake)
-- Found ament_cmake_uncrustify: 0.7.11 (C:/dev/ros2e/share/ament_cmake_uncrustify/cmake)
-- Using all available rosidl_typesupport_c: rosidl_typesupport_connext_c;rosidl_typesupport_fastrtps_c;rosidl_typesupport_introspection_c;rosidl_typesupport_opensplice_c
-- Using all available rosidl_typesupport_cpp: rosidl_typesupport_connext_cpp;rosidl_typesupport_fastrtps_cpp;rosidl_typesupport_introspection_cpp;rosidl_typesupport_opensplice_cpp
-- Found rmw_implementation_cmake: 0.7.2 (C:/dev/ros2e/share/rmw_implementation_cmake/cmake)
-- Found PythonInterp: C:/Python37/python.exe (found suitable version "3.7.5", minimum required is "3.5")
-- Found python_cmake_module: 0.7.10 (C:/dev/ros2e/share/python_cmake_module/cmake)
-- Found PythonLibs: C:/Python37/libs/python37.lib (found suitable version "3.7.5", minimum required is "3.5")
-- Using PYTHON_EXECUTABLE: C:/Python37/python.exe
-- Using PYTHON_INCLUDE_DIRS: C:/Python37/include
-- Using PYTHON_LIBRARIES: C:/Python37/libs/python37.lib
-- Found PythonExtra: .pyd
-- Could not find RTI Connext - skipping rmw_connext_cpp
CMake Warning at C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/ament_cmake_export_include_directories-extras.cmake:11 (message):
Package 'rmw_connext_shared_cpp' exports the include directory 'C:/Program
Files/rti_connext_dds-5.3.1/include' which doesn't exist
Call Stack (most recent call first):
C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/rmw_connext_shared_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/rmw_connext_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:61 (find_package)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake:26 (call_for_each_rmw_implementation)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake:27 (rosidl_generator_py_get_typesupports)
C:/dev/ros2e/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
C:/dev/ros2e/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
CMakeLists.txt:23 (rosidl_generate_interfaces)
CMake Warning at C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/ament_cmake_export_include_directories-extras.cmake:11 (message):
Package 'rmw_connext_shared_cpp' exports the include directory 'C:/Program
Files/rti_connext_dds-5.3.1/include/ndds' which doesn't exist
Call Stack (most recent call first):
C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/rmw_connext_shared_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/rmw_connext_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:61 (find_package)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake:26 (call_for_each_rmw_implementation)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake:27 (rosidl_generator_py_get_typesupports)
C:/dev/ros2e/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
C:/dev/ros2e/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
CMakeLists.txt:23 (rosidl_generate_interfaces)
CMake Warning at C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/ament_cmake_export_libraries-extras.cmake:62 (message):
Package 'rmw_connext_shared_cpp' exports the library 'C:/Program
Files/rti_connext_dds-5.3.1/lib/x64Win64VS2017/nddsc.lib' which doesn't
exist
Call Stack (most recent call first):
C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/rmw_connext_shared_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/rmw_connext_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:61 (find_package)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake:26 (call_for_each_rmw_implementation)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake:27 (rosidl_generator_py_get_typesupports)
C:/dev/ros2e/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
C:/dev/ros2e/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
CMakeLists.txt:23 (rosidl_generate_interfaces)
CMake Warning at C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/ament_cmake_export_libraries-extras.cmake:62 (message):
Package 'rmw_connext_shared_cpp' exports the library 'C:/Program
Files/rti_connext_dds-5.3.1/lib/x64Win64VS2017/nddscore.lib' which doesn't
exist
Call Stack (most recent call first):
C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/rmw_connext_shared_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/rmw_connext_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:61 (find_package)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake:26 (call_for_each_rmw_implementation)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake:27 (rosidl_generator_py_get_typesupports)
C:/dev/ros2e/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
C:/dev/ros2e/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
CMakeLists.txt:23 (rosidl_generate_interfaces)
CMake Warning at C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/ament_cmake_export_libraries-extras.cmake:62 (message):
Package 'rmw_connext_shared_cpp' exports the library 'C:/Program
Files/rti_connext_dds-5.3.1/lib/x64Win64VS2017/nddscpp.lib' which doesn't
exist
Call Stack (most recent call first):
C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/rmw_connext_shared_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/rmw_connext_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:61 (find_package)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake:26 (call_for_each_rmw_implementation)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake:27 (rosidl_generator_py_get_typesupports)
C:/dev/ros2e/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
C:/dev/ros2e/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
CMakeLists.txt:23 (rosidl_generate_interfaces)
CMake Warning at C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/ament_cmake_export_libraries-extras.cmake:62 (message):
Package 'rmw_connext_shared_cpp' exports the library 'C:/Program
Files/rti_connext_dds-5.3.1/lib/x64Win64VS2017/rticonnextmsgcpp.lib' which
doesn't exist
Call Stack (most recent call first):
C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/rmw_connext_shared_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/rmw_connext_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:61 (find_package)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake:26 (call_for_each_rmw_implementation)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake:27 (rosidl_generator_py_get_typesupports)
C:/dev/ros2e/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
C:/dev/ros2e/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
CMakeLists.txt:23 (rosidl_generate_interfaces)
CMake Warning at C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/ament_cmake_export_libraries-extras.cmake:62 (message):
Package 'rmw_connext_shared_cpp' exports the library 'C:/Program
Files/rti_connext_dds-5.3.1/lib/x64Win64VS2017/nddscd.lib' which doesn't
exist
Call Stack (most recent call first):
C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/rmw_connext_shared_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/rmw_connext_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:61 (find_package)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake:26 (call_for_each_rmw_implementation)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake:27 (rosidl_generator_py_get_typesupports)
C:/dev/ros2e/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
C:/dev/ros2e/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
CMakeLists.txt:23 (rosidl_generate_interfaces)
CMake Warning at C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/ament_cmake_export_libraries-extras.cmake:62 (message):
Package 'rmw_connext_shared_cpp' exports the library 'C:/Program
Files/rti_connext_dds-5.3.1/lib/x64Win64VS2017/nddscored.lib' which doesn't
exist
Call Stack (most recent call first):
C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/rmw_connext_shared_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/rmw_connext_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:61 (find_package)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake:26 (call_for_each_rmw_implementation)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake:27 (rosidl_generator_py_get_typesupports)
C:/dev/ros2e/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
C:/dev/ros2e/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
CMakeLists.txt:23 (rosidl_generate_interfaces)
CMake Warning at C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/ament_cmake_export_libraries-extras.cmake:62 (message):
Package 'rmw_connext_shared_cpp' exports the library 'C:/Program
Files/rti_connext_dds-5.3.1/lib/x64Win64VS2017/nddscppd.lib' which doesn't
exist
Call Stack (most recent call first):
C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/rmw_connext_shared_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/rmw_connext_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:61 (find_package)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake:26 (call_for_each_rmw_implementation)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake:27 (rosidl_generator_py_get_typesupports)
C:/dev/ros2e/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
C:/dev/ros2e/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
CMakeLists.txt:23 (rosidl_generate_interfaces)
CMake Warning at C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/ament_cmake_export_libraries-extras.cmake:62 (message):
Package 'rmw_connext_shared_cpp' exports the library 'C:/Program
Files/rti_connext_dds-5.3.1/lib/x64Win64VS2017/rticonnextmsgcppd.lib' which
doesn't exist
Call Stack (most recent call first):
C:/dev/ros2e/share/rmw_connext_shared_cpp/cmake/rmw_connext_shared_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/ament_cmake_export_dependencies-extras.cmake:21 (find_package)
C:/dev/ros2e/share/rmw_connext_cpp/cmake/rmw_connext_cppConfig.cmake:38 (include)
C:/dev/ros2e/share/rmw_implementation_cmake/cmake/call_for_each_rmw_implementation.cmake:61 (find_package)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake:26 (call_for_each_rmw_implementation)
C:/dev/ros2e/share/rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake:27 (rosidl_generator_py_get_typesupports)
C:/dev/ros2e/share/ament_cmake_core/cmake/core/ament_execute_extensions.cmake:48 (include)
C:/dev/ros2e/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:286 (ament_execute_extensions)
CMakeLists.txt:23 (rosidl_generate_interfaces)
-- Could not find PrismTech OpenSplice - skipping rmw_opensplice_cpp
-- Using numpy include directory: C:\Python37\lib\site-packages\numpy\core\include
-- Found ament_cmake_flake8: 0.7.11 (C:/dev/ros2e/share/ament_cmake_flake8/cmake)
-- Found ament_cmake_pep257: 0.7.11 (C:/dev/ros2e/share/ament_cmake_pep257/cmake)
-- Found ament_lint_auto: 0.7.11 (C:/dev/ros2e/share/ament_lint_auto/cmake)
-- Found gtest sources under 'C:/dev/ros2e/src/gtest_vendor': C++ tests using 'Google Test' will be built
-- Added test 'cppcheck' to perform static code analysis on C / C++ code
-- Configured cppcheck include dirs: C:/dev/test_msgs_ws/src/ros2/rcl_interfaces/test_msgs/include
-- Added test 'cpplint' to check C / C++ code against the Google style
-- Added test 'uncrustify' to check C / C++ code style
-- Added test 'flake8' to check Python code syntax and style conventions
-- Added test 'pep257' to check Python code against some of the style conventions in PEP 257
-- Added test 'copyright' to check for copyright in CMake / C / C++ / Python code
-- Added test 'lint_cmake' to check CMake code style
-- Added test 'xmllint' to check XML markup files
-- Configuring done
-- Generating done
-- Build files have been written to: C:/dev/test_msgs_ws/build/test_msgs
Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
Checking Build System
CMake does not need to re-run because C:/dev/test_msgs_ws/build/test_msgs/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/dev/test_msgs_ws/build/test_msgs/test_msgs__py/CMakeFiles/generate.stamp is up-to-date.
CMake does not need to re-run because C:/dev/test_msgs_ws/build/test_msgs/gtest/CMakeFiles/generate.stamp is up-to-date.
Building Custom Rule C:/dev/ros2e/src/gtest_vendor/CMakeLists.txt
CMake does not need to re-run because C:/dev/test_msgs_ws/build/test_msgs/gtest/CMakeFiles/generate.stamp is up-to-date.
gtest-all.cc
gtest.vcxproj -> C:\dev\test_msgs_ws\build\test_msgs\gtest\Release\gtest.lib
Building Custom Rule C:/dev/ros2e/src/gtest_vendor/CMakeLists.txt
CMake does not need to re-run because C:/dev/test_msgs_ws/build/test_msgs/gtest/CMakeFiles/generate.stamp is up-to-date.
gtest_main.cc
gtest_main.vcxproj -> C:\dev\test_msgs_ws\build\test_msgs\gtest\Release\gtest_main.lib
Generating C code for ROS interfaces
Error processing idl file: C:\dev\test_msgs_ws\build\test_msgs\rosidl_adapter\test_msgs\msg\WStrings.idl
Traceback (most recent call last):
File "C:/dev/ros2e/share/rosidl_generator_c/cmake/../../../lib/rosidl_generator_c/rosidl_generator_c", line 40, in <module>
sys.exit(main())
File "C:/dev/ros2e/share/rosidl_generator_c/cmake/../../../lib/rosidl_generator_c/rosidl_generator_c", line 35, in main
args.generator_arguments_file,
File "c:\dev\ros2e\Lib\site-packages\rosidl_generator_c\__init__.py", line 37, in generate_c
generate_files(generator_arguments_file, mapping)
File "c:\dev\ros2e\Lib\site-packages\rosidl_cmake\__init__.py", line 90, in generate_files
raise(e)
File "c:\dev\ros2e\Lib\site-packages\rosidl_cmake\__init__.py", line 85, in generate_files
template_basepath=template_basepath)
File "c:\dev\ros2e\Lib\site-packages\rosidl_cmake\__init__.py", line 174, in expand_template
h.write(content)
File "C:\Python37\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 1875-1876: character maps to <undefined>
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(231,5): error MSB6006: "cmd.exe" exited with code 1. [C:\dev\test_msgs_ws\build\test_msgs\test_msgs__rosidl_generator_c.vcxproj]
Generating C++ code for ROS interfaces
Error processing idl file: C:\dev\test_msgs_ws\build\test_msgs\rosidl_adapter\test_msgs\msg\WStrings.idl
Traceback (most recent call last):
File "C:/dev/ros2e/share/rosidl_generator_cpp/cmake/../../../lib/rosidl_generator_cpp/rosidl_generator_cpp", line 40, in <module>
sys.exit(main())
File "C:/dev/ros2e/share/rosidl_generator_cpp/cmake/../../../lib/rosidl_generator_cpp/rosidl_generator_cpp", line 35, in main
args.generator_arguments_file,
File "c:\dev\ros2e\Lib\site-packages\rosidl_generator_cpp\__init__.py", line 37, in generate_cpp
generate_files(generator_arguments_file, mapping)
File "c:\dev\ros2e\Lib\site-packages\rosidl_cmake\__init__.py", line 90, in generate_files
raise(e)
File "c:\dev\ros2e\Lib\site-packages\rosidl_cmake\__init__.py", line 85, in generate_files
template_basepath=template_basepath)
File "c:\dev\ros2e\Lib\site-packages\rosidl_cmake\__init__.py", line 174, in expand_template
h.write(content)
File "C:\Python37\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 1510-1511: character maps to <undefined>
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(231,5): error MSB6006: "cmd.exe" exited with code 1. [C:\dev\test_msgs_ws\build\test_msgs\test_msgs__cpp.vcxproj]
This does not reproduce using the same minimal.repos file on Linux, or if I build the entire ROS2 source tree (of course without sourcing the underlay).
Have I stumbled upon a bug or is there something more obvious I'm doing wrong?
Asked by theseankelly on 2020-04-30 05:24:34 UTC
Comments
It seems like rebuilding the rosidl package as well avoids this, but I don't think that should be necessary to generate new interface bindings.
Asked by theseankelly on 2020-04-30 16:13:35 UTC