Giter Club home page Giter Club logo

rosonwindows's Introduction

ROS on Windows Documentation Repository

Visit https://aka.ms/ros/docs to read the generated documentation.

Build Locally

To test this generated HTML pages locally on your machine, you need a Python environment and run MkDocs tool.

:: git clone this repository.
:: change directory to the repository root.
pip install mkdocs-material
mkdocs serve

Then, a local web server will be running by MkDocs and now you can open the link from your browser and test the pages.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

rosonwindows's People

Contributors

bscallan avatar carltonsemple avatar cglwn avatar gavanderhoorn avatar jcoliz avatar johnsonshih avatar kejxu avatar lilustga avatar mincrmatt12 avatar ooeygui avatar rjbeckwith55 avatar seanyen avatar tobias-fischer avatar traversaro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rosonwindows's Issues

Linking error with Debug configuration of a C++ project that links TinyXML

Describe the bug
Any C++ project that links to TinyXML fails to compile in Debug, because only the Release version of TinyXML is provided in tinyxml package in the chocolatey ros-win channel.

To Reproduce
After executing setup.bat, try to compile in Debug a simple project that uses TinyXML https://gist.github.com/traversaro/c27938365ca06f0f95facc887275a42e :

git clone https://gist.github.com/traversaro/c27938365ca06f0f95facc887275a42e test_tinyxml
cd test_tinyxml
md build
cd build 
cmake -A x64 ..
cmake --build . --config Debug

The last command results in the following error:


C:\src\test_tinyxml\build>cmake --build . --config Debug
<...>

Build FAILED.

"C:\src\test_tinyxml\build\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\src\test_tinyxml\build\tinyxml_test.vcxproj" (default target) (3) ->
(Link target) ->
  LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library [C:\src\test_tinyxml\build\tinyxml_test.vcxproj]


"C:\src\test_tinyxml\build\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\src\test_tinyxml\build\tinyxml_test.vcxproj" (default target) (3) ->
(Link target) ->
  tinyxml.lib(tinyxml.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in tinyxml_test.obj [C:\src\test_tinyxml\build\tinyxml_test.vcxproj]
  tinyxml.lib(tinyxml.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in tinyxml_test.obj [C:\src\test_tinyxml\build\tinyxml_test.v
cxproj]
  tinyxml.lib(tinyxmlparser.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in tinyxml_test.obj [C:\src\test_tinyxml\build\tinyxml_test.vcxproj]
  tinyxml.lib(tinyxmlparser.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in tinyxml_test.obj [C:\src\test_tinyxml\build\tinyxml_
test.vcxproj]
  tinyxml.lib(tinyxmlerror.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in tinyxml_test.obj [C:\src\test_tinyxml\build\tinyxml_test.vcxproj]
  tinyxml.lib(tinyxmlerror.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in tinyxml_test.obj [C:\src\test_tinyxml\build\tinyxml_t
est.vcxproj]
  C:\src\test_tinyxml\build\Debug\tinyxml_test.exe : fatal error LNK1319: 6 mismatches detected [C:\src\test_tinyxml\build\tinyxml_test.vcxproj]

    1 Warning(s)
    7 Error(s)

Time Elapsed 00:00:05.31

C:\src\test_tinyxml\build>

Expected behavior
I was expecting to be able to compile any C++ program that links ROS dependencies also in Debug configuration.

Environment information:

  • OS version: Windows Version 1709 - OS Build 16299.192
  • Chocolatey Versions:
C:\src\test-tinyxml\build>choco list  --local-only
Chocolatey v0.10.11
assimp 4.0.1.1809242322
boost 1.66.0.1809242326
bullet3 2.87.0.1809242326
bzip2 1.0.6.1809242322
chocolatey 0.10.11
console_bridge 0.4.0.1809242322
cppunit 1.12.1.1809242322
eigen 3.3.4.1809242322
freeglut 3.0.0.1809242322
google-mock 1.8.0.1809242326
google-test 1.8.0.1809242322
libcurl 7.58.0.1809242322
libgraphviz 2.41.0.1810022039
libopencv 3.4.1.1809242322
log4cxx 0.10.0.1809242322
lz4 1.8.1.1809242322
ogre 1.10.11.1809100020
openssl 1.1.1.1809242322
pkg-config 0.29.2.1809242322
poco 1.8.1.1809242322
pyqt5 5.10.1.1809242322
pyside2 5.10.1.1809242322
qt5-sdk 5.10.1.1810112239
ros-catkin-tools 0.0.1.1810092059
ros-cmake 3.11.4.1809242322
ros-melodic-desktop 20181027.1
ros-python2 2.7.15.1809242354
sbcl 0.0.0.1809242326
sdl 1.2.15.1809242322
sdl_image 1.2.12.1809242322
sip 4.19.8.1809242322
tinyxml 2.6.2.1809242322
tinyxml2 6.1.0.1809242322
urdfdom 1.0.0.1809242322
urdfdom_headers 1.0.0.1809242322
vcpython27 9.0.30729.1809090720
yaml-cpp 0.5.3.1809242322
37 packages installed.

devel\setup.bat intermixes local bin & lib with opt bin

Build a catkin package
run devel\setup.bat
set path

Result:
path is:
C:/ws/robo_ws/devel\lib;C:/opt/ros/melodic/x64\lib;C:/opt/rosdeps/x64\lib;C:/ws/robo_ws/devel\bin; ...

Expect:
C:/ws/robo_ws/devel\bin;C:/ws/robo_ws/devel\lib;C:/opt/ros/melodic/x64\lib;C:/opt/rosdeps/x64\lib; ...

[roswtf] WARNING Communication with node [/rosout] is very slow

C:\temp\test_ws\src\my_tut>roswtf
Loaded plugin tf.tfwtf
Package: my_tut
================================================================================
Static checks summary:
Found 1 error(s).
�[31m�[1mERROR�[0m Local network configuration is invalid: Local hostname [DESKTOP-E0BPROA] resolves to [2001:4898:d8:27:d993:bad8:bf0d:182f,fe80::5464:3b68:972d:8714%7,2001:4898:d8:27:5464:3b68:972d:8714], which does not appear to be a local IP address ['10.131.8.171'].
================================================================================
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
ERROR: connection refused to [http://DESKTOP-E0BPROA:60645/]
... done running graph rules
Online checks summary:
Found 2 warning(s).
Warnings are things that may be just fine, but are sometimes at fault
�[1mWARNING�[0m Communication with node [/rosout] is very slow
�[1mWARNING�[0m The following nodes are unexpectedly connected:
 * /rosout->/rqt_gui_py_node_8208 (/rosout_agg)

[ros_comm] class_loader refers to a vector which has a dynmamic sized ABI

Describe the bug
class_loader has a std::vector in its interface, which when exported on Windows results in a build break:

warning C4251: 'class_loader::impl::AbstractMetaObjectBase::associated_class_loaders_': class 'std::vector<class_loader::ClassLoader *,std::allocator<_Ty>>' needs to have dll-interface to be used by clients of class 'class_loader::impl::AbstractMetaObjectBase'

the associated_class_loaders member should be allocated, and a pointer stored.
ClassLoaderVector associated_class_loaders_;

Does not recognize any ros commands

I have followed all steps on the install page, but when trying to run roscore:

C:\Windows\System32>roscore
'roscore' is not recognized as an internal or external command, operable program or batch file.

Is there a step I missed?

Thank you in advance

Error while building: Could NOT find gazebo_ros

Hi, I am getting this error while trying to build (catkin_make install -DCMAKE_BUILD_TYPE=RelWithDebInfo):
This is on a fresh machine, just finished installing ROS Win, and was trying to run the Turtle bot simulation.

-- Could NOT find gazebo_ros (missing: gazebo_ros_DIR)
-- Could not find the required component 'gazebo_ros'. 

gazebo error

eigen include directory

Describe the bug
today eigen include directory should be equal C:/opt/rosdeps/x64/include/eigen3. It required by files C:\opt\ros\melodic\x64\lib\pkgconfig\orocos-kdl.pc and C:\opt\ros\melodic\x64\lib\pkgconfig\orocos_kdl.pc

To Reproduce
*call " choco upgrade ros-melodic-desktop -y"

Expected behavior
files orocos_kdl.pc and orocos-kdl.pc shouldn't contain absolute paths.

Environment information:

  • OS version: windows 10 x64 Pro
  • Chocolatey Versions:
    Chocolatey v0.10.11
    assimp 4.0.1.1809242322
    boost 1.66.0.1809242326
    bullet3 2.87.0.1809242326
    bzip2 1.0.6.1809242322
    chocolatey 0.10.11
    chocolatey-core.extension 1.3.3
    console_bridge 0.4.0.1809242322
    cppunit 1.12.1.1809242322
    eigen 3.3.4.1809242322
    git 2.19.1
    git.install 2.19.1
    google-mock 1.8.0.1809242326
    google-test 1.8.0.1809242322
    libcurl 7.58.0.1809242322
    libgraphviz 2.41.0.1810022039
    libopencv 3.4.1.1809242322
    log4cxx 0.10.0.1809242322
    lz4 1.8.1.1809242322
    ogre 1.10.11.1809100020
    openssl 1.1.1.1809242322
    pkg-config 0.29.2.1809242322
    poco 1.8.1.1809242322
    pyqt5 5.10.1.1809242322
    pyside2 5.10.1.1809242322
    qt5-sdk 5.10.1.1810112239
    ros-catkin-tools 0.0.1.1811160029
    ros-cmake 3.11.4.1809242322
    ros-melodic-desktop 20181116.1
    ros-python2 2.7.15.1809242354
    sbcl 0.0.0.1809242326
    sdl 1.2.15.1809242322
    sdl_image 1.2.12.1809242322
    sip 4.19.8.1809242322
    tinyxml 2.6.2.1809242322
    tinyxml2 6.1.0.1809242322
    urdfdom 1.0.0.1809242322
    urdfdom_headers 1.0.0.1809242322
    vcpython27 9.0.30729.1809090720
    yaml-cpp 0.5.3.1809242322

[MoveIt] Can't import moveit_commander (no _moveit_roscpp_initializer)

Hi, MoveIt works correctly, but I'd like to use the python interface and I can't import moveit_commander (from python 2.7). Is it possible to use moveit_commander on ROS on Windows?

>>> import moveit_commander
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\opt\ros\melodic\x64\lib\site-packages\moveit_commander\__init__.py", line 2, in <module>
    from roscpp_initializer import *
  File "C:\opt\ros\melodic\x64\lib\site-packages\moveit_commander\roscpp_initializer.py", line 35, in <module>
    from moveit_ros_planning_interface import _moveit_roscpp_initializer
ImportError: cannot import name _moveit_roscpp_initializer

RViz does not display Temperature

Describe the bug
When I try to add a TemperatureDisplay, I am getting the following error:

GLHardwareVertexBuffer::lock - Error: failed to Discard the buffer

51304855-8e0a2b80-1a39-11e9-9a52-c56d4b06ff7b

I see a similar error was described in #49, where it seem to be related to driver

Device information

  • Graphic Processor: Intel HD Graphics 630
  • Graphic Diver: Intel HD Graphics Driver 23.20.16.4973

[MoveIt] MOVEIT_CLASS_FORWARD declares a class; however, some forward declares are actually structs

Describe the bug
In the MoveIt headers, a class is forward declared with MOVEIT_CLASS_FORWARD. However, in some cases, the class is later declared as a struct:

MOVEIT_CLASS_FORWARD(CollisionDetector);
struct CollisionDetector

This causes a build break for consumers of MoveIt.
warning C4099: 'planning_scene::PlanningScene::CollisionDetector': type name first seen using 'class' now seen using 'struct'

**Fix **
Please make all structs classes with a public

  class CollisionDetector
  {
    public:
        ...

[Cloud] rViz died immediately after starting

Hi,
I was trying out the TurtleBot3 project, however when I try to launch the simulation(roslaunch turtlebot3_fake turtlebot3_fake.launch), rViz seems to be crashing immediately after starting:

...
ROS_MASTER_URI=http://localhost:11311
process[turtlebot3_fake_node-1]: started with pid [3768]
process[robot_state_publisher-2]: started with pid [3964]
process[rviz-3]: started with pid [7880]
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
�[31m[rviz-3] process has died [pid 7880, exit code -1073741819, cmd C:\opt\ros\melodic\x64\lib\rviz\rviz.exe -d C:\workspaces\turtlebot3\install\share\turtlebot3_fake\rviz\turtlebot3_fake.rviz __name:=rviz __log:=C:\Users\Amit\.ros\log\b3e15940-05f4-11e9-96b5-000d3a58c4a0\rviz-3.log].
log file: C:\Users\Amit\.ros\log\b3e15940-05f4-11e9-96b5-000d3a58c4a0\rviz-3*.log�[0m

Any idea what might be the reason?

image

gzclient does not start unless the GAZEBO_IP env variable is set to 127.0.0.1 when a non-running interface is present in the machine

Describe the bug
gzclient does not start correctly unless the GAZEBO_IP env variable is set to 127.0.0.1 for both gzserver and gzclient.

To Reproduce
I tried to launch https://ms-iot.github.io/ROSOnWindows/Turtlebot/Turtlebot3.html using the the roslaunch turtlebot3_gazebo turtlebot3_gazebo_cartographer_demo.launch command, and the gzclient was opening but instead of the rendererede 3D scene of Gazebo, I only get a white rectangle, as shown in the attached screenshot:
gzclient-white
If I call set GAZEBO_IP=127.0.0.1 before calling roslaunch, the Gzclient windows is working correctly:
gzclient-working

Expected behavior
I expect that everything works as described in the tutorial without the need to set GAZEBO_IP manually.

Environment information:

  • OS version: winver
    Microsoft Windows Version 1709 (OS Build 16299.129)
  • Chocolatey Versions: choco list --local-only
C:\Users\STraversaro\source>choco list --local-only
Chocolatey v0.10.11
assimp 4.0.1.1809242322
boost 1.66.0.1809242326
bullet3 2.87.0.1809242326
bzip2 1.0.6.1809242322
cairo 1.15.12.1810221716
ceres 1.14.0.1812111905
chocolatey 0.10.11
clapack 3.2.1.1811082319
console_bridge 0.4.0.1809242322
cppunit 1.12.1.1809242322
cppzmq 4.2.2.1811162207
dlfcn-win32 1.1.1.1811162226
eigen 3.3.4.1809242322
freeglut 3.0.0.1809242322
freeimage 3.17.0.1811160037
gazebo9 9.4.1.1812181926
gflags 2.2.1.1811082321
glog 0.3.5.1811082321
google-mock 1.8.0.1809242326
google-test 1.8.0.1809242322
gtk2 2.22.1.1809242322
hg 4.6.1
ilmbase 2.2.1.1811210800
jasper 2.0.14.1811210919
jxrlib 1.1.0.1811210809
lcms 2.8.0.1811210903
libcurl 7.58.0.1809242322
libflann 1.9.1.1809090720
libgraphviz 2.41.0.1810022039
libjpeg-turbo 1.5.3.1809242322
liblzma 5.2.4.1811210837
libogg 1.3.3.1809090720
libopencv 3.4.1.1809242322
libpcl 1.8.1.1809090720
libpng 1.6.35.1809242322
libraw 0.19.0.1811210804
libtbb-dev 2018.6.0.1812011750
libtheora 1.1.1.1809090720
libwebp 0.6.1.1811210731
log4cxx 0.10.0.1809242322
lua 5.3.4.1810221716
lz4 1.8.1.1809242322
metis 5.1.0.1811082350
ogre 1.10.11.1809100020
openblas 0.2.20.1811082312
openexr 2.2.1.1811210832
openjpeg 2.3.0.1811210736
openssl 1.1.1.1809242322
pkg-config 0.29.2.1809242322
poco 1.8.1.1809242322
protobuf 3.6.1.1811130545
pyqt5 5.10.1.1809242322
pyside2 5.10.1.1809242322
qt5-sdk 5.10.1.1810112239
qwt 6.1.3.1811212304
ros-catkin-tools 0.0.1.1811160029
ros-cmake 3.11.4.1809242322
ros-melodic-cartographer_ros 20181220.1
ros-melodic-desktop 20181220.2
ros-melodic-desktop_full 20181220.2
ros-python2 2.7.15.1809242354
sbcl 0.0.0.1809242326
sdl 1.2.15.1809242322
sdl_image 1.2.12.1809242322
sip 4.19.8.1809242322
suitesparse 1.4.0.1811082321
tiff 4.0.9.1811210742
tinyxml 2.6.2.1809242322
tinyxml2 6.1.0.1809242322
urdfdom 1.0.0.1809242322
urdfdom_headers 1.0.0.1809242322
vcpython27 9.0.30729.1809090720
yaml-cpp 0.5.3.1809242322
zeromq 4.2.5.1811162203
zlib 1.2.11.1809242322
75 packages installed.

C:\Users\STraversaro\source>

Possible fix
See #47 (comment) for a possible fix.

rosrun does not work with camera calibration

Working through the camera calibration tutorial, rosrun cannot find the installed calibration python script.
http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration

Using the command
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.0245 image:=/cv_camera/image_raw camera:=/cv_camera

I receive the error:
[rosrun] Couldn't find executable named cameracalibrator.py

rospack shows
camera_calibration C:/opt/ros/melodic/x64\share\camera_calibration
but this location only has a package.xml.

I suspect that rosrun should also look in the lib\site-packages

roslaunch error shutting down moveit: killpg not implemented on Windows

roslaunch uses a unix method when shutting down, which causes an error.

[roslaunch][ERROR] 2019-01-20 19:16:21,368: [move_group-3] EXCEPTION Traceback (most recent call last):
  File "C:\opt\ros\melodic\x64\lib\site-packages\roslaunch\nodeprocess.py", line 534, in stop
    self._stop_win32(errors)
  File "C:\opt\ros\melodic\x64\lib\site-packages\roslaunch\nodeprocess.py", line 486, in _stop_win32
    os.killpg(pid, signal.SIGTERM)
AttributeError: 'module' object has no attribute 'killpg'

MoveIt Setup assistant generates xacro entry that's not cross platform

The setup tool adds unneeded single quotes, which causes problems on Windows.

  <param if="$(arg load_robot_description)" name="$(arg robot_description)" command="xacro  '$(find x_arm_support)/urdf\workcell.xacro'"/>

Should generate something more like this:

  <param if="$(arg load_robot_description)" name="$(arg robot_description)" command="xacro  $(find x_arm_support)/urdf/workcell.xacro"/>

[catkin_make] How to add PCL dependency for ROS

Describe the issue
There are some code based on PCL and VS2017, and I want plant them into ROS.
I found out the PCL_percetion package is not ready. So I have to use PCL from PCL-1.8.1-AllInOne-msvc2017-win64.exe.
My question is how to config local library in ROS-windows.
In Linux side, find_package will help. But in windows side, I don't know how to make catkin to find local library.

Discuss solution
I'm newer for cmake, would you please give me some advice.
I guess maybe there are two way:

  1. Can I copy all the lib of PCL into C:\opt\rosdeps\x64\lib
    copy all the h of PCL into C:\opt\rosdeps\x64\include
    and set all necessary bin into PATH of OS.
  2. In the Cmake file to set include folder, library folder and name of lib.
    include_directories to add include folder.
    LINK_DIRECTORIES to add library folder.
    LINK_LIBRARIES to add lib file name.

I only try way 2. I find out boost from PCL conflict with boost in rosdep.

Robot_state_publisher dies on an invalid URDF

Describe the bug
robot_state_publisher does not handle the parse error from urdf model parsing, instead crashes without an error description.

To Reproduce
Create a URDF with an invalid link; such as two roots.

<?xml version="1.0" ?>

<robot name="sample" xmlns:xacro="http://ros.org/wiki/xacro">
    <link name="camera_frame"/>
    <link nmae="foo" />
</robot>

Then use urdf_tutorial to run this:
roslaunch urdf_tutorial display.launch model:=sample_ws\urdf\workcell.xacro

Expected behavior
robot_state_publisher should output an error instead of crashing

[doc] single quote vs double quote for command line tools

C:\temp\test_ws>rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'
No handlers could be found for logger "rosout"
Usage: rostopic pub /topic type [args...]
rostopic: error: Argument error: while scanning a quoted scalar
  in "<string>", line 1, column 1:
    '[2.0,
    ^
found unexpected end of stream
  in "<string>", line 1, column 7:
    '[2.0,

This problem is on Window the delimiter is double quote so the single quoted string '[2.0, 0.0, 0.0]' is treated as 3 parameters instead of 1.

rViz does not run in the devel environment due to plugins not being found.

When running rViz in a devel environment, rViz cannot load plugins, however it does work in the install environment. I suspect this is a general issue with plugins in development.

Repro:
Checkout rViz into a catkin workspace.
catkin_make
devel\setup.bat

Result:
[ERROR] [1547964534.724646000]: PluginlibFactory: The plugin for class 'rviz/Orbit' failed to load. Error: Could not find library corresponding to plugin rviz/Orbit. Make sure the plugin description XML file has the correct name of the library and that the library actually exists.

Expect:
rViz to run without error.

[Descartes] Needs Integral types for OpenMP

The bug
Descartes uses OpenMP to parallel process graph points. However, OpenMP requires a signed integral type. Descartes uses std::size_t which is incompatible.

** The Fix **
Figure out how to either use std::size_t in OpenMP or route through an signed integral index.

[general] Revert changes in https://github.com/ms-iot/common_msgs

In the beginning of the ROS1 windows ported, many messages have name conflicts with macros defined in Windows.h (which is included by ros.h by default) so we renamed them as a workaround.

Now we don't have windows.h always included in ros.h, we should consider removing those messages renames changes.

[rosservice] rosservice does not de-register

after shutdown of turtlesim, the xmlrpc server still advertises the endpoint address.

run rosnode ping turtlesim and you will see the entry remains.

Repro steps:
console 1: run 'roscore'
console 2: run 'rosrun turtlesim turtlesim_node', turtle window shown
console 3: run 'rosnode list'

press Ctrl-C in console 2, turtle window disappear but prompt will not show up. If close the console, the entry will not be clean up. If close turtlesim by clicking the close button on the turtle window, the service de-register correctly.

rviz fail to start because it could not find or load the Qt platform plugin

Hi,
After install binary of ros-win 20181221.1.
But I try to run rosrun rviz rviz. I get error, can't find Qt plateform. and I have run setup.bat before rosrun.
roscore have run without no problem in other.
The procedure of install, choco upgrade ros-melodic-desktop -y, no error happen.
I can find folder of C:\opt\rosdeps\x64\plugins\platforms
And add C:\opt\rosdeps\x64 into path of OS. But there is still issue.

RVIZ can't display point cloud from PointCloud2 message

Describe the bug
When I publish Point Cloud2 message, I find out rviz can get the message information but can't display.
This is rviz screen shot:
snipaste_2019-01-03_20-58-16
This is the error in the cmd windows:
snipaste_2019-01-03_20-49-55

To Reproduce
Generate random point cloud, I just generate 100 random point.

  • Catkin workspace setup instructions
    • Clone locations
    • build command line
    • Launch command line

Expected behavior
A clear and concise description of what you expected to happen.

Environment information:

  • OS version: Win10 1809
  • Chocolatey Versions:
    Chocolatey v0.10.11
    assimp 4.0.1.1809242322
    boost 1.66.0.1809242326
    bullet3 2.87.0.1809242326
    bzip2 1.0.6.1809242322
    chocolatey 0.10.11
    chocolatey-core.extension 1.3.3
    console_bridge 0.4.0.1809242322
    cppunit 1.12.1.1809242322
    cppzmq 4.2.2.1811162207
    dlfcn-win32 1.1.1.1811162226
    eigen 3.3.4.1809242322
    freeimage 3.17.0.1811160037
    gazebo9 9.4.1.1812181926
    git 2.20.1
    git.install 2.20.1
    google-mock 1.8.0.1809242326
    google-test 1.8.0.1809242322
    gtk2 2.22.1.1809242322
    hg 4.6.1
    ilmbase 2.2.1.1811210800
    jasper 2.0.14.1811210919
    jxrlib 1.1.0.1811210809
    lcms 2.8.0.1811210903
    libcurl 7.58.0.1809242322
    libflann 1.9.1.1809090720
    libgraphviz 2.41.0.1810022039
    libjpeg-turbo 1.5.3.1809242322
    liblzma 5.2.4.1811210837
    libogg 1.3.3.1809090720
    libopencv 3.4.1.1809242322
    libpng 1.6.35.1809242322
    libraw 0.19.0.1811210804
    libtbb-dev 2018.6.0.1812011750
    libtheora 1.1.1.1809090720
    libwebp 0.6.1.1811210731
    log4cxx 0.10.0.1809242322
    lz4 1.8.1.1809242322
    ogre 1.10.11.1809100020
    openexr 2.2.1.1811210832
    openjpeg 2.3.0.1811210736
    openssl 1.1.1.1809242322
    pkg-config 0.29.2.1809242322
    poco 1.8.1.1809242322
    protobuf 3.6.1.1811130545
    pyqt5 5.10.1.1809242322
    pyside2 5.10.1.1809242322
    qt5-sdk 5.10.1.1810112239
    qwt 6.1.3.1811212304
    ros-catkin-tools 0.0.1.1811160029
    ros-cmake 3.11.4.1809242322
    ros-melodic-desktop 20190102.1
    ros-melodic-desktop_full 20190101.1
    ros-python2 2.7.15.1809242354
    sbcl 0.0.0.1809242326
    sdl 1.2.15.1809242322
    sdl_image 1.2.12.1809242322
    sip 4.19.8.1809242322
    tiff 4.0.9.1811210742
    tinyxml 2.6.2.1809242322
    tinyxml2 6.1.0.1809242322
    urdfdom 1.0.0.1809242322
    urdfdom_headers 1.0.0.1809242322
    vcpython27 9.0.30729.1809090720
    yaml-cpp 0.5.3.1809242322
    zeromq 4.2.5.1811162203
    zlib 1.2.11.1809242322
    66 packages installed.

Thanks

[ros_comm/test_roslaunch] test_roslaunch.rosunit-roslaunch_command_line_online/test_roslaunch [ERROR]

[noop.launch] is neither a launch file in package [roslaunch] nor is [roslaunch] a launch file name

[test_roslaunch.rosunit-roslaunch_command_line_online/test_roslaunch][ERROR]----
Command '['roslaunch', '--wait', 'roslaunch', 'noop.launch']' returned non-zero exit status 1
File "C:\opt\python27amd64\lib\unittest\case.py", line 329, in run
testMethod()
File "D:\a\1\a_ws\src\ros_comm\test\test_roslaunch\test\test_roslaunch_command_line_online.py", line 62, in test_roslaunch
check_call([cmd, '--wait', 'roslaunch', 'noop.launch'])
File "C:\opt\python27amd64\lib\subprocess.py", line 190, in check_call
raise CalledProcessError(retcode, cmd)

No handler could be found for logger "rosout"

When I try to run roscore on Ubuntu 16.04 and export to windows 10 pro for workstation; I'm getting this error. Am I missing something? Or is it related to slow connection with rosout?
err

[ros_comm/rosgraph] test_roslogging failed

2018-10-18T22:16:29.5637116Z ======================================================================
2018-10-18T22:16:29.5637213Z ERROR: test.test_roslogging.test_rosconsole__logging_format
2018-10-18T22:16:29.5637291Z ----------------------------------------------------------------------
2018-10-18T22:16:29.5637389Z Traceback (most recent call last):
2018-10-18T22:16:29.5637448Z   File "C:\opt\python27amd64\lib\site-packages\nose\case.py", line 197, in runTest
2018-10-18T22:16:29.5637489Z     self.test(*self.arg)
2018-10-18T22:16:29.5637535Z   File "D:\a\1\a\_ws\src\ros_comm\tools\rosgraph\test\test_roslogging.py", line 118, in test_rosconsole__logging_format
2018-10-18T22:16:29.5637756Z     assert_regexp_matches(lout.getvalue().splitlines()[i], log_out)
2018-10-18T22:16:29.5637819Z   File "C:\opt\python27amd64\lib\unittest\case.py", line 999, in assertRegexpMatches
2018-10-18T22:16:29.5637861Z     expected_regexp = re.compile(expected_regexp)
2018-10-18T22:16:29.5637980Z   File "C:\opt\python27amd64\lib\re.py", line 194, in compile
2018-10-18T22:16:29.5638035Z     return _compile(pattern, flags)
2018-10-18T22:16:29.5638076Z   File "C:\opt\python27amd64\lib\re.py", line 251, in _compile
2018-10-18T22:16:29.5638126Z     raise error, v # invalid expression
2018-10-18T22:16:29.5638180Z error: bogus escape: '\\1'

ros-catkin-tools install problem.

Hello,

I am new to ROSOnWindows and have run into a consistent problem with installing ros-catkin-tool.
I get the following error:
ERROR: The running command stopped because the preference variable “ErrorActionPreference” or common parameter is set to Stop: Exception: The upgrade of ros-catkin-tools was NOT successful. Error while running ‘C:\ProgramData\chocolatey\lib\ros-catkin-tools\tools\chocolateyinstall.ps1’. See log for details.
This is mentioned on the troubleshooting page but consistently fails for us, it is not transient. We have tried this on two different Windows 10 systems with the same results. We are running Windows 10 Enterprise, Version 1607, Build 14393.2670

I am wondering if anyone has some recommendations on how to get this working.

Best Regards,
Colm

[ros_comm/test_roslaunch] rosunit-params_basic/test_commandandfile [FAILURE]

2018-10-22T13:59:24.4222683Z [ROSTEST]-----------------------------------------------------------------------
2018-10-22T13:59:24.4224578Z 
2018-10-22T13:59:24.4231915Z [test_roslaunch.rosunit-params_basic/test_commandandfile][FAILURE]--------------
2018-10-22T13:59:24.4241699Z '<launch>\n\n  <!-- localhost definition can be omitted. -->\n  <machine name="localhost" address="localhost" default="true" />\n  <machine name="localhost-altroot" address="localhost" env-loader="/opt/ros/fuerte/env.sh" />\n\n  <!-- \n\n  Parameter Server parameters. You can omit the \'type\' attribute if\n  value is unambiguous. Supported types are str, int, double, bool.\n  You can also specify the contents of a file instead using the\n  \'textfile\' or \'binfile\' attributes.\n  \n  -->\n  <param name="somestring1" value="bar" />\n  <!-- force to string instead of integer -->\n  <param name="somestring2" value="10" type="str" />\n  \n  <param name="someinteger1" value="1" type="int" />\n  <param name="someinteger2" value="2" />\n  \n  <param name="somefloat1" value="3.14159" type="double" />  \n  <param name="somefloat2" value="3.0" />\n  \n  <!-- you can set parameters in child namespaces -->\n  <param name="wg/childparam" value="a child namespace parameter" />  \n  \n  <!-- upload the contents of a file as a param -->\n  <param name="configfile" textfile="$(find roslaunch)/resources/example.launch" />\n  <!-- upload the contents of a file as base64 binary as a param -->\n  <param name="binaryfile" binfile="$(find roslaunch)/resources/example.launch" />\n  <!-- upload the output of a command as a param. -->\n  <param name="commandoutput" command="cat &quot;$(find roslaunch)/resources/example.launch&quot;" />\n  \n  <!-- Group a collection of tags. ns attribute is optional -->\n  <group ns="wg"> \n    <!-- remap applies to all future nodes in this group -->\n    <remap from="chatter" to="hello"/> \n\n    <node name="listener" pkg="rospy" type="listener.py" respawn="true" />\n\n    <node name="talker1" pkg="rospy" type="talker.py">\n      <env name="ENV_EXAMPLE" value="example value" />\n      <remap from="foo" to="bar"/>\n      <!-- params within node tags are equivalent to ~params. \n           You must set the \'name\' attribute of a node to use this feature. -->\n      <param name="talker_param" value="a value" />\n    </node>\n\n    <node name="talker2" pkg="rospy" type="talker.py" />\n\n  </group>\n\n  \n  <!-- import another roslaunch config file -->\n  <group ns="included">\n     <include file="$(find roslaunch)/resources/example-include.launch" />\n  </group>\n  <!-- more compact import syntax -->\n  <include ns="included2" file="$(find roslaunch)/resources/example-include.launch" />\n  \n  <!-- Pass over an include and node with if-attributes that evaluate to false. -->\n  <arg name="false_arg" value="false" />\n  <include if="$(arg false_arg)" file="does/not/exist.launch" />\n  <node if="$(arg false_arg)" pkg="doesnt_exist" type="nope" name="nope" />\n\n  <!-- Pass over a group with an unless-attribute that evaluate to true. -->\n  <arg name="true_arg" value="true" />\n  <group unless="$(arg true_arg)">\n    <include file="does/not/exist.launch" />\n    <node pkg="doesnt_exist" type="nope" name="nope" />\n  </group>\n</launch>\n' != '<launch>\r\n\r\n  <!-- localhost definition can be omitted. -->\r\n  <machine name="localhost" address="localhost" default="true" />\r\n  <machine name="localhost-altroot" address="localhost" env-loader="/opt/ros/fuerte/env.sh" />\r\n\r\n  <!-- \r\n\r\n  Parameter Server parameters. You can omit the \'type\' attribute if\r\n  value is unambiguous. Supported types are str, int, double, bool.\r\n  You can also specify the contents of a file instead using the\r\n  \'textfile\' or \'binfile\' attributes.\r\n  \r\n  -->\r\n  <param name="somestring1" value="bar" />\r\n  <!-- force to string instead of integer -->\r\n  <param name="somestring2" value="10" type="str" />\r\n  \r\n  <param name="someinteger1" value="1" type="int" />\r\n  <param name="someinteger2" value="2" />\r\n  \r\n  <param name="somefloat1" value="3.14159" type="double" />  \r\n  <param name="somefloat2" value="3.0" />\r\n  \r\n  <!-- you can set parameters in child namespaces -->\r\n  <param name="wg/childparam" value="a child namespace parameter" />  \r\n  \r\n  <!-- upload the contents of a file as a param -->\r\n  <param name="configfile" textfile="$(find roslaunch)/resources/example.launch" />\r\n  <!-- upload the contents of a file as base64 binary as a param -->\r\n  <param name="binaryfile" binfile="$(find roslaunch)/resources/example.launch" />\r\n  <!-- upload the output of a command as a param. -->\r\n  <param name="commandoutput" command="cat &quot;$(find roslaunch)/resources/example.launch&quot;" />\r\n  \r\n  <!-- Group a collection of tags. ns attribute is optional -->\r\n  <group ns="wg"> \r\n    <!-- remap applies to all future nodes in this group -->\r\n    <remap from="chatter" to="hello"/> \r\n\r\n    <node name="listener" pkg="rospy" type="listener.py" respawn="true" />\r\n\r\n    <node name="talker1" pkg="rospy" type="talker.py">\r\n      <env name="ENV_EXAMPLE" value="example value" />\r\n      <remap from="foo" to="bar"/>\r\n      <!-- params within node tags are equivalent to ~params. \r\n           You must set the \'name\' attribute of a node to use this feature. -->\r\n      <param name="talker_param" value="a value" />\r\n    </node>\r\n\r\n    <node name="talker2" pkg="rospy" type="talker.py" />\r\n\r\n  </group>\r\n\r\n  \r\n  <!-- import another roslaunch config file -->\r\n  <group ns="included">\r\n     <include file="$(find roslaunch)/resources/example-include.launch" />\r\n  </group>\r\n  <!-- more compact import syntax -->\r\n  <include ns="included2" file="$(find roslaunch)/resources/example-include.launch" />\r\n  \r\n  <!-- Pass over an include and node with if-attributes that evaluate to false. -->\r\n  <arg name="false_arg" value="false" />\r\n  <include if="$(arg false_arg)" file="does/not/exist.launch" />\r\n  <node if="$(arg false_arg)" pkg="doesnt_exist" type="nope" name="nope" />\r\n\r\n  <!-- Pass over a group with an unless-attribute that evaluate to true. -->\r\n  <arg name="true_arg" value="true" />\r\n  <group unless="$(arg true_arg)">\r\n    <include file="does/not/exist.launch" />\r\n    <node pkg="doesnt_exist" type="nope" name="nope" />\r\n  </group>\r\n</launch>\r\n'
2018-10-22T13:59:24.4243520Z   File "C:\opt\python27amd64\lib\unittest\case.py", line 329, in run
2018-10-22T13:59:24.4248260Z     testMethod()
2018-10-22T13:59:24.4254790Z   File "D:\a\1\a\_ws\src\ros_comm\test\test_roslaunch\test\params_basic.py", line 112, in test_commandandfile
2018-10-22T13:59:24.4262567Z     self.assertEquals(get_param("commandoutput"), binary_data)
2018-10-22T13:59:24.4269749Z   File "C:\opt\python27amd64\lib\unittest\case.py", line 513, in assertEqual
2018-10-22T13:59:24.4275232Z     assertion_func(first, second, msg=msg)
2018-10-22T13:59:24.4281964Z   File "C:\opt\python27amd64\lib\unittest\case.py", line 506, in _baseAssertEqual
2018-10-22T13:59:24.4287646Z     raise self.failureException(msg)

cat is not supported as a command line tool in windows environment

[catkin] PYTHONPATH is not correctly set up to run python_distutils_install.bat

Describe the bug
Python complains PYTHONPATH is not correctly set up when installing a Python module.

Checking .pth file support in C:\moveit_ws\install_isolated\Lib\site-packages\
C:\opt\python27amd64\pythonw.exe -E -c pass
TEST FAILED: C:\moveit_ws\install_isolated\Lib\site-packages\ does NOT support .pth files
error: bad install directory or PYTHONPATH

You are attempting to install a package to a directory that is not
on PYTHONPATH and which Python does not read ".pth" files from.  The
installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    C:\moveit_ws\install_isolated\Lib\site-packages\

and your PYTHONPATH environment variable currently contains:

    'C:/opt/ros/melodic/x64\\lib/site-packages'

Here are some of your options for correcting the problem:

* You can choose a different installation directory, i.e., one that is
  on PYTHONPATH or supports .pth files

* You can add the installation directory to the PYTHONPATH environment
  variable.  (It must then also be on PYTHONPATH whenever you run
  Python and want to use the package(s) you are installing.)

* You can set up the installation directory to support ".pth" files by
  using one of the approaches described here:

  https://setuptools.readthedocs.io/en/latest/easy_install.html#custom-installation-locations


Please make the appropriate changes for your system and try again.
CMake Error at catkin_generated/safe_execute_install.cmake:4 (message):

  execute_process(C:/moveit_ws/build_isolated/python_qt_binding/catkin_generated/python_distutils_install.bat)
  returned error code
Call Stack (most recent call first):
  cmake_install.cmake:113 (include)


FAILED: CMakeFiles/install.util

To Reproduce

  1. choco upgrade ros-melodic-desktop -y
  2. create a catkin workspace.
  3. checkout "git clone https://github.com/ms-iot/python_qt_binding -b init_windows"
  4. catkin_make_isolated

Expected behavior
No errors

Failed to loat gazebo_ros_controll.dll

When I launch my launch file, error 'Failed to load gazbo_ros_control.dll' is occur.

There are 'gazebo_ros_control.dll' & 'gazebo_ros_control.lib' in "C:\opt\ros\melodic\x64\lib"

I confirmed that the package is in "C:/opt/ros/melodic/x64\share\gazebo_ros_contro"l using the command 'rospack find gazebo_ros_control'.

How can I fix this error?

Here is my launch file.

<group ns="/mrm">
    <!-- Robot Model-->
    <arg name="model" default="$(find mrm_description)/urdf/mrm.xacro"/>
    <arg name="x" default="0"/>
    <arg name="y" default="0"/>
    <arg name="z" default="0.5"/>

    <param name="robot_description" command="$(find xacro)/xacro $(arg model)" />

    <!-- Spawn the robot model -->
    <node name="mybot_spawn" pkg="gazebo_ros" type="spawn_model" output="screen"
        args="-urdf -param robot_description -model mrm -x $(arg x) -y $(arg y) -z $(arg z)"/>

    <!-- Load Controllers -->
    <rosparam command="load" file="$(find mrm_description)/config/joints.yaml"/>

    <!-- Controllers -->
    <node name="controller_spawner" pkg="controller_manager" type="spawner"
        respawn="false" output="screen" ns="/mrm"
        args="--namespace=/mrm
        joint_state_controller
        joint1_position_cotroller
        joint2_position_cotroller
        --timeout 60">
    </node>
</group>

and this is my xacro file

<!-- BGN - Robot Discription -->
<m_link_box name="${l00}"
            origin_rpy="0 0 0" origin_xyz="0 0 0"
            mass ="1024"
            ixx="170.667" ixy="0.0" ixz="0.0"
            iyy="170.667" iyz="0.0"
            izz="170.667"
            size="1 1 1" />

<m_joint name="${l00}__${l01}" type="revolute"
         axis_xyz="0 0 1"
         origin_rpy="0 0 0" origin_xyz="0 0 0.5"
         parent="${l00}" child="${l01}" />

<transmission name="trans_${l00}_${l01}">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="${l00}__${l01}">
        <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="motor_${l00}_${l01}">
        <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        <mechanicalReduction>1</mechanicalReduction>
    </actuator>
</transmission>

<m_link_cylinder name="${l01}"
            origin_xyz="0 0 0.2" origin_rpy="0 0 0"
            mass ="157.633"
            ixx="13.235" ixy="0" ixz="0"
            iyy="13.235" iyz="0"
            izz="9.655"
            radius="0.35" length="0.4" />

<m_joint name="${l01}_${l02}" type="revolute"
         axis_xyz="0 1 0"
         origin_rpy="0 0 0" origin_xyz="0 0 0.4"
         parent="${l01}" child="${l02}" />

<transmission name="trans_${l01}_${l02}">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="${l01}__${l02}">
        <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
    </joint>
    <actuator name="motor_${l01}_${l02}">
        <hardwareInterface>hardware_interface/EffortJointInterface</hardwareInterface>
        <mechanicalReduction>1</mechanicalReduction>
    </actuator>
</transmission>

<m_link_cylinder name="${l02}"
            origin_xyz="0 0 0.4" origin_rpy="0 0 0"
            mass ="57.906"
            ixx="12.679" ixy="0" ixz="0"
            iyy="12.679" iyz="0"
            izz="0.651"
            radius="0.15" length="0.8" />
<!-- END - Robot Discription -->

<gazebo>
    <plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so"/>
</gazebo>

Linking error with C++ project that links SDL

Describe the bug
Any C++ project that links to SDL fails to compile. Searching for the error, I found https://stackoverflow.com/questions/30412951/unresolved-external-symbol-imp-fprintf-and-imp-iob-func-sdl2 , that indicates that the problem may be that the binary version of SDL distributed in chocolatey was built with an old version of Visual Studio.

To Reproduce
After executing setup.bat, try to compile in Release a simple project that uses SDL https://gist.github.com/traversaro/c8d9b2aa7c197e0d12dc44759f0e4d4a :

git clone https://gist.github.com/traversaro/c8d9b2aa7c197e0d12dc44759f0e4d4a test_SDL
cd test_SDL
md build
cd build 
cmake -A x64 ..
cmake --build . --config Release

The last command results in the following error:


C:\src\test_SDL\build>cmake --build . --config Release
<...>

Link:
  C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.12.25827\bin\HostX86\x64\link.exe /ERRORREPORT:QUEUE /OUT:"C:\src\test_sdl\build\Release\SDL_test.exe" /INCREMENTAL:NO /NOLOGO C
  :\opt\rosdeps\x64\lib\SDLmain.lib C:\opt\rosdeps\x64\lib\SDL.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"le
  vel='asInvoker' uiAccess='false'" /manifest:embed /PDB:"C:/src/test_sdl/build/Release/SDL_test.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/src/test_sdl/build/Release/SDL_test.lib" /MAC
  HINE:X64  /machine:x64 SDL_test.dir\Release\SDL_test.obj
SDLmain.lib(SDL_win32_main.obj) : error LNK2019: unresolved external symbol SDL_main referenced in function main [C:\src\test_sdl\build\SDL_test.vcxproj]
SDLmain.lib(SDL_win32_main.obj) : error LNK2019: unresolved external symbol __imp_fprintf referenced in function ShowError [C:\src\test_sdl\build\SDL_test.vcxproj]
SDLmain.lib(SDL_win32_main.obj) : error LNK2019: unresolved external symbol __imp___iob_func referenced in function ShowError [C:\src\test_sdl\build\SDL_test.vcxproj]
C:\src\test_sdl\build\Release\SDL_test.exe : fatal error LNK1120: 3 unresolved externals [C:\src\test_sdl\build\SDL_test.vcxproj]
Done Building Project "C:\src\test_sdl\build\SDL_test.vcxproj" (default targets) -- FAILED.

Done Building Project "C:\src\test_sdl\build\ALL_BUILD.vcxproj" (default targets) -- FAILED.


Build FAILED.

"C:\src\test_sdl\build\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\src\test_sdl\build\SDL_test.vcxproj" (default target) (3) ->
(Link target) ->
  SDLmain.lib(SDL_win32_main.obj) : error LNK2019: unresolved external symbol SDL_main referenced in function main [C:\src\test_sdl\build\SDL_test.vcxproj]
  SDLmain.lib(SDL_win32_main.obj) : error LNK2019: unresolved external symbol __imp_fprintf referenced in function ShowError [C:\src\test_sdl\build\SDL_test.vcxproj]
  SDLmain.lib(SDL_win32_main.obj) : error LNK2019: unresolved external symbol __imp___iob_func referenced in function ShowError [C:\src\test_sdl\build\SDL_test.vcxproj]
  C:\src\test_sdl\build\Release\SDL_test.exe : fatal error LNK1120: 3 unresolved externals [C:\src\test_sdl\build\SDL_test.vcxproj]

    0 Warning(s)
    4 Error(s)

Time Elapsed 00:00:03.26

C:\src\test_sdl\build>

Expected behavior
I would expect to be able to compile any C++ program that links SDL.

Environment information:

  • OS version: Windows Version 1709 - OS Build 16299.192
  • Chocolatey Versions:
C:\src\test-tinyxml\build>choco list  --local-only
Chocolatey v0.10.11
assimp 4.0.1.1809242322
boost 1.66.0.1809242326
bullet3 2.87.0.1809242326
bzip2 1.0.6.1809242322
chocolatey 0.10.11
console_bridge 0.4.0.1809242322
cppunit 1.12.1.1809242322
eigen 3.3.4.1809242322
freeglut 3.0.0.1809242322
google-mock 1.8.0.1809242326
google-test 1.8.0.1809242322
libcurl 7.58.0.1809242322
libgraphviz 2.41.0.1810022039
libopencv 3.4.1.1809242322
log4cxx 0.10.0.1809242322
lz4 1.8.1.1809242322
ogre 1.10.11.1809100020
openssl 1.1.1.1809242322
pkg-config 0.29.2.1809242322
poco 1.8.1.1809242322
pyqt5 5.10.1.1809242322
pyside2 5.10.1.1809242322
qt5-sdk 5.10.1.1810112239
ros-catkin-tools 0.0.1.1810092059
ros-cmake 3.11.4.1809242322
ros-melodic-desktop 20181027.1
ros-python2 2.7.15.1809242354
sbcl 0.0.0.1809242326
sdl 1.2.15.1809242322
sdl_image 1.2.12.1809242322
sip 4.19.8.1809242322
tinyxml 2.6.2.1809242322
tinyxml2 6.1.0.1809242322
urdfdom 1.0.0.1809242322
urdfdom_headers 1.0.0.1809242322
vcpython27 9.0.30729.1809090720
yaml-cpp 0.5.3.1809242322
37 packages installed.

CATKIN_BUILD_BINARY_PACKAGE only partially works on Windows build

Describe the bug
In ROS build system, catkin_make can take -DCATKIN_BUILD_BINARY_PACKAGE=ON to skip copying the catkin binaries (e.g. setup.sh env.sh) but on Windows build, the logic seems broken.

To Reproduce
Steps to reproduce the behavior:
catkin_make_isolated -DCATKIN_BUILD_BINARY_PACKAGE=ON --install

Expected behavior
setup.bat and env.bat should not be copied to the install folder.

NOTE
In catkin/cmake/catkin_generate_environment.cmake, CATKIN_INSTALL_INTO_PREFIX_ROOT doesn't apply to Win32 case, which is something to fix.

Cookbook discussion

Describe the bug
Not really a bug, just a couple suggestion for the Cookbook available at https://github.com/ms-iot/ROSOnWindows/blob/master/Porting/Cookbook.md . If you agree with them, I would be happy to provide a PR for modifying the Cookbook.

Visibility macros

For dealing with visibility issues, the cookbook suggests to use the CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS CMake property.

However, the fallback solution of directly declaring the visibility macros LIB_EXTERN has some drawbacks in its current form:

  • It does specify that the LIB_EXTERN and BUILDING_LIB macro need to be specific to each shared library (so if a package contains two shared libraries, you need one macro for each shared library). See https://bitbucket.org/osrf/gazebo/issues/2262/symbol-visibility-issues-in-windows for a Gazebo issue related to this. It may be worth to mention that CMake provides the DEFINE_SYMBOL target property to define the BUILDING_LIB-like macro, that is by default initialized to <targetName>_EXPORTS.
  • In its current form, the suggested definition of LIB_EXTERN and BUILDING_LIB macro would break compilation of static libraries in Windows, see ros/console_bridge#40 .

Threat warning an errors

The suggest settings for warnings ( https://github.com/ms-iot/ROSOnWindows/blob/master/Porting/Cookbook.md#all-warnings ) is to include the /WX flag, that will make every warning an error. This may be problematic because if a new version of Visual Studio that introduces a new warning is available, the compilation could fail. Furthermore, it is inconsistent with the corresponding GCC warnings -Wall -Wextra, that do not contain -Werror.

Problem compiling Gazebo plugin that uses the gazebo rendering Camera header

Describe the bug
Compilation of a Gazebo plugin that uses the header <gazebo/rendering/Camera.hh> is not working.

To Reproduce
After executing C:\opt\ros\melodic\x64\setup.bat and C:\opt\rosdeps\x64\share\gazebo-9\setup.bat, try to compile in Release a simple Gazebo plugin that includes <gazebo/rendering/Camera.hh> (based on http://gazebosim.org/tutorials/?tut=plugins_hello_world) https://gist.github.com/traversaro/8b47312cb53a1228aa59ead900522c17 :

git clone https://gist.github.com/traversaro/8b47312cb53a1228aa59ead900522c17 test_gazebo_rendering_camera
cd test_gazebo_rendering_camera
md build
cd build 
cmake -A x64 ..
cmake --build . --config Release

The last command results in the following error:

"C:\src\gazebo_plugin_tutorial\build\ALL_BUILD.vcxproj" (default target) (1) ->
"C:\src\gazebo_plugin_tutorial\build\hello_world.vcxproj" (default target) (3) ->
(ClCompile target) ->
  C:\opt\rosdeps\x64\include\OGRE/Terrain/OgreTerrainPaging.h(33): fatal error C1083: Cannot open include file: 'OgrePagedWorldSection.h': No such file or directory [C:\src\gazebo_plugin_tutorial\build\hello_world.vcxproj]

    829 Warning(s)
    1 Error(s)

Time Elapsed 00:00:07.22

Uncommenting the following lines in the CMakeLists.txt:

# find_package(OGRE REQUIRED CONFIG)
# target_include_directories(hello_world PUBLIC ${OGRE_Paging_INCLUDE_DIRS})

the compilation works as expected. For some reason, this workaround is not necessary on Linux and macOS. Note that gazebo_pkg_ros has a similar workaround, but based on pkg-config: https://github.com/ros-simulation/gazebo_ros_pkgs/blob/melodic-devel/gazebo_plugins/CMakeLists.txt#L59 .

Expected behavior
I would expect the plugin to compile correctly without workarounds, as it is the case on Linux and macOS .

Environment information:

  • OS version: winver
    Version 1709 (OS Build 16299.192)
  • Chocolatey Versions: choco list --local-only
C:\src\gazebo_plugin_tutorial\build>choco list --local-only
Chocolatey v0.10.11
assimp 4.0.1.1809242322
boost 1.66.0.1809242326
bullet3 2.87.0.1809242326
bzip2 1.0.6.1809242322
cairo 1.15.12.1810221716
ceres 1.14.0.1812111905
chocolatey 0.10.11
clapack 3.2.1.1811082319
console_bridge 0.4.0.1809242322
cppunit 1.12.1.1809242322
cppzmq 4.2.2.1811162207
dlfcn-win32 1.1.1.1811162226
eigen 3.3.4.1809242322
freeglut 3.0.0.1809242322
freeimage 3.17.0.1811160037
gazebo9 9.4.1.1901022119
gflags 2.2.1.1811082321
glog 0.3.5.1811082321
google-mock 1.8.0.1809242326
google-test 1.8.0.1809242322
gtk2 2.22.1.1809242322
hg 4.6.1
ilmbase 2.2.1.1811210800
jasper 2.0.14.1811210919
jxrlib 1.1.0.1811210809
lcms 2.8.0.1811210903
libcurl 7.58.0.1809242322
libflann 1.9.1.1809090720
libgraphviz 2.41.0.1810022039
libjpeg-turbo 1.5.3.1809242322
liblzma 5.2.4.1811210837
libogg 1.3.3.1809090720
libopencv 3.4.1.1809242322
libpcl 1.8.1.1809090720
libpng 1.6.35.1809242322
libraw 0.19.0.1811210804
libtbb-dev 2018.6.0.1812011750
libtheora 1.1.1.1809090720
libwebp 0.6.1.1811210731
log4cxx 0.10.0.1809242322
lua 5.3.4.1810221716
lz4 1.8.1.1809242322
metis 5.1.0.1811082350
ogre 1.10.11.1809100020
openblas 0.2.20.1811082312
openexr 2.2.1.1811210832
openjpeg 2.3.0.1811210736
openssl 1.1.1.1809242322
pkg-config 0.29.2.1809242322
poco 1.8.1.1809242322
protobuf 3.6.1.1811130545
pyqt5 5.10.1.1809242322
pyside2 5.10.1.1809242322
qt5-sdk 5.10.1.1810112239
qwt 6.1.3.1811212304
ros-catkin-tools 0.0.1.1811160029
ros-cmake 3.11.4.1809242322
ros-melodic-cartographer_ros 20190102.1
ros-melodic-desktop 20190102.1
ros-melodic-desktop_full 20190102.1
ros-python2 2.7.15.1809242354
sbcl 0.0.0.1809242326
sdl 1.2.15.1809242322
sdl_image 1.2.12.1809242322
sip 4.19.8.1809242322
suitesparse 1.4.0.1811082321
tiff 4.0.9.1811210742
tinyxml 2.6.2.1809242322
tinyxml2 6.1.0.1809242322
urdfdom 1.0.0.1809242322
urdfdom_headers 1.0.0.1809242322
vcpython27 9.0.30729.1809090720
yaml-cpp 0.5.3.1809242322
zeromq 4.2.5.1811162203
zlib 1.2.11.1809242322
75 packages installed.

C:\src\gazebo_plugin_tutorial\build>

turtlebot3_slam: Cannot locate rosdep definition for [gmapping]

Describe the bug
I've installed ros1 in win10 success by following get started. When I install Turtlebot3, I got an error:
image

To Reproduce
Steps to reproduce the behavior:

  • Create a new workspace
    c:\opt\ros\melodic\x64\setup.bat
    rosdep update
    rosdep install --from-paths src --ignore-src -r -y

Expected behavior
A clear and concise description of what you expected to happen.

Environment information:

  • OS version: Win 10 v1809
  • Chocolatey Versions: choco list --local-only
    Chocolatey v0.10.11
    assimp 4.0.1.1809242322
    boost 1.66.0.1809242326
    bullet3 2.87.0.1809242326
    bzip2 1.0.6.1809242322
    chocolatey 0.10.11
    chocolatey-core.extension 1.3.3
    chocolatey-windowsupdate.extension 1.0.3
    console_bridge 0.4.0.1809242322
    cppunit 1.12.1.1809242322
    cppzmq 4.2.2.1811162207
    dlfcn-win32 1.1.1.1811162226
    eigen 3.3.4.1809242322
    freeimage 3.17.0.1811160037
    gazebo9 9.4.1.1901022119
    git 2.20.1
    git.install 2.20.1
    google-mock 1.8.0.1809242326
    google-test 1.8.0.1809242322
    gtk2 2.22.1.1809242322
    hg 4.6.1
    ilmbase 2.2.1.1811210800
    jasper 2.0.14.1811210919
    jxrlib 1.1.0.1811210809
    KB2919355 1.0.20160915
    KB2919442 1.0.20160915
    KB2999226 1.0.20181019
    KB3033929 1.0.4
    KB3035131 1.0.2
    lcms 2.8.0.1811210903
    libcurl 7.58.0.1809242322
    libflann 1.9.1.1809090720
    libgraphviz 2.41.0.1810022039
    libjpeg-turbo 1.5.3.1809242322
    liblzma 5.2.4.1811210837
    libogg 1.3.3.1809090720
    libopencv 3.4.1.1809242322
    libpcl 1.8.1.1809090720
    libpng 1.6.35.1809242322
    libraw 0.19.0.1811210804
    libtbb-dev 2018.6.0.1812011750
    libtheora 1.1.1.1809090720
    libwebp 0.6.1.1811210731
    log4cxx 0.10.0.1809242322
    lz4 1.8.1.1809242322
    ogre 1.10.11.1809100020
    openexr 2.2.1.1811210832
    openjpeg 2.3.0.1811210736
    openssl 1.1.1.1809242322
    pkg-config 0.29.2.1809242322
    poco 1.8.1.1809242322
    protobuf 3.6.1.1811130545
    pyqt5 5.10.1.1809242322
    pyside2 5.10.1.1809242322
    qt5-sdk 5.10.1.1810112239
    qwt 6.1.3.1811212304
    ros-catkin-tools 0.0.1.1901130741
    ros-cmake 3.11.4.1809242322
    ros-melodic-desktop_full 20190115.1
    ros-python2 2.7.15.1809242354
    sbcl 0.0.0.1809242326
    sdl 1.2.15.1809242322
    sdl_image 1.2.12.1809242322
    sip 4.19.8.1809242322
    tiff 4.0.9.1811210742
    tinyxml 2.6.2.1809242322
    tinyxml2 6.1.0.1809242322
    urdfdom 1.0.0.1809242322
    urdfdom_headers 1.0.0.1809242322
    vcpython27 9.0.30729.1809090720
    vcredist140 14.16.27024.1
    yaml-cpp 0.5.3.1809242322
    zeromq 4.2.5.1811162203
    zlib 1.2.11.1809242322
    73 packages installed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.