-
Notifications
You must be signed in to change notification settings - Fork 349
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
HelloWorld example broken on master with MinGW/ucrt64 #2027
Comments
The output from publisher is:
and the subscriber:
|
The below patch is a not so pretty workaround for building CycloneDDS (master) with mingw-w64-gcc on Windows:
The CMSG_* macros used in CycloneDDS are provided by Windows SDK, but not (yet?) by mingw-w64-gcc. I still do not fully understand the intended effect of PACKET_DESTINATION_INFO beeing undefined, but feel free to close this issue. |
Hi @tonichedgehog, if that workaround is all it takes to make it work on MinGW again ... then a PR with that would be most welcome. (I can do it myself it for some reason doing a PR is not an option for you, but I prefer contributions to be properly attributed.)
I do not expect all platforms to provide this and so it will never be fully dependent on it. Right now it is only used in filtering out some unwanted discovery. That's nice, especially with the agreed-upon discovery behaviour for ROS 2, but it is not like you suddenly have to have this information or Cyclone becomes useless. One way in which I want to use it in the future is by being a bit smarter in deciding whether a multicast is likely to reach a remote node. The assumption would be receiving a multicast from a remote node is a very good indication that I can actually reach that node via a multicast. With that in mind,
would also work fine. Whichever you prefer 🙂 |
Hi, and thanks for the explanation. I got the impression that it was supposed to work with
For my needs, PACKET_DESTINATION_INFO is not a necessary feature, and I'm happy to provide a PR. I think your suggestion of setting a single feature flag is much better than trying to guess what macros that may or may not be defined by various versions and flavors of MinGW. |
The CMSG_* macros used in CycloneDDS are not provided by mingw-w64-gcc (only WSA*). Set the number of bytes received also for nonzero return from wsarecvmsg. Closes eclipse-cyclonedds#2027
The CMSG_* macros used in CycloneDDS are not provided by mingw-w64-gcc (only WSA*). Set the number of bytes received also for nonzero return from wsarecvmsg. Closes eclipse-cyclonedds#2027
The HelloWorld example (and likely, more than just the example) seems to be broken on master, when compiling with gcc (14.1) under MSYS2/MinGW/ucrt64. It does work as expected using the same code with a different compiler (VS2022).
It looks like 83b81f5 is the offending commit, if that may help to locate the issue.
The text was updated successfully, but these errors were encountered: