-
Notifications
You must be signed in to change notification settings - Fork 527
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
Fixes for Windows #530
Fixes for Windows #530
Conversation
fork and kill aren't available on windows, so just warn when they are trying to be used for now
uint is not defined on MSVC
* Fixed location of GLUT,GLEW framework on macOS * Use explicit boost namespace for bind placeholders
Co-authored-by: Henning Kayser <[email protected]>
Co-authored-by: Tyler Weaver <[email protected]>
@lilustga I am trying to build this on my Windows VM. I got pretty far, but there are two issues:
The non-debug versions exist |
@mamoll The mongo DB isn't working on Windows or Mac right now, you can see some conversation above in the thread about warehouse_ros_mongo. For the second issue, are you getting the same error when you call colcon build (instead of cmake directly)? Which version of Visual Studio do you have installed? Do you have the "Desktop development with C++" workload included? |
I realized that I should have typed
It makes no sense to make POD types universal refs., so this seems like a harmless change. (The const change isn't strictly necessary, but also doesn't make sense in the original code.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. I had to change one function to get it to compile. Not sure what is different about my setup. Let's get this merged and let's add some Windows configs to the CI build matrix! Nice work, @Ace314159 and thanks for the assist, @lilustga.
Awesome! I'm glad you were able to compile! I fixed the merge conflicts, so it should be good to merge! |
It seems to fail when trying to install the upstream dependencies. I don't think that's related to the changes. |
This is affecting all of our PRs right now. The issue seems to be with the official build farm. We are tracking the issue here: osrf/infrastructure#5 I'll retrigger the CI for this job (and the others) when that is resolved. |
Tested this on my Windows system and I'm running into this error from
Note: the package silently failed until I included I have OpenCV installed, and it is found during the build process:
any suggestions on how to fix this? |
@wyattrees I haven't been able to repro this, I'm building this branch successfully with Do you see linker errors for all the OpenCV symbols in semantic_world ( |
@wyattrees I'd also recommend using vcpkg for dependency management, which is much simpler to use and what I have tested with. I also have a GitHub Action that successfully builds MoveIt2 and its dependencies using vcpkg here if you'd like to see how to use it. |
@Ace314159 with this change #576 tests should pass now. If you rebase or merge with main again I think the PR will be ready to merge. |
@tylerjw @henningkayser Now that this is green, how do you feel about merging? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I read through these changes and don't see anything wrong. I think we should merge this so the windows team can use moveit on foxy with our latest fixes. This will also the be the last thing we are waiting on before making a foxy branch.
@lilustga @Ace314159 I'm only seeing the linker error for findContours. I tried using vcpkg to install the dependencies but still getting the same. I think this is probably an issue with something else I'm doing wrong in setup. Anyway, thanks for your work on this! |
Co-authored-by: JafarAbdi <[email protected]> Co-authored-by: Nisala Kalupahana <[email protected]> Co-authored-by: Jorge Nicho <[email protected]> Co-authored-by: Henning Kayser <[email protected]> Co-authored-by: Vatan Aksoy Tezer <[email protected]> Co-authored-by: Tyler Weaver <[email protected]> Co-authored-by: Lior Lustgarten <[email protected]>
Co-authored-by: JafarAbdi <[email protected]> Co-authored-by: Nisala Kalupahana <[email protected]> Co-authored-by: Jorge Nicho <[email protected]> Co-authored-by: Henning Kayser <[email protected]> Co-authored-by: Vatan Aksoy Tezer <[email protected]> Co-authored-by: Tyler Weaver <[email protected]> Co-authored-by: Lior Lustgarten <[email protected]>
Description
With this PR, MoveIt2 builds on Windows, and I'm able to use it for some basic planning. Here's a summary of all the changes:
FCL
andBullet
using find_package. Using vcpkg, the name for FCL is FCL instead of LIBFCL, so I also had to modify it to get it to work with that.moveit_collision_detection
moveit_collision_detection_fcl
moveit_collision_detection_bullet
moveit_kinematics_base
moveit_planning_scene
moveit_mesh_filter
moveit_planning_scene_monitor
moveit_warehouse
moveit_planning_pipeline
moveit_trajectory_execution_manager
moveit_move_group_interface
moveit_ros_robot_interaction
moveit_planning_scene_rviz_plugin
zlib
component for boost is no longer required foriostreams
popen
andpclose
, but the Windows equivalents are_popen
and_pclose
fork
andkill
, but there's no equivalentfork
andkill
on Windows (as far as I'm aware), so I just disabled it on Windows and log an error when it's usednear
,far
, andmax
that are used as variable names. Usingundef
fixes these errors. Also,uint
doesn't work on MSVC, so I replaced that tounsigned int
BenchmarkExecutor
does includewinsock2.h
on Windows, but it also needs to link withws2_32.lib
to build-Wno-deprecated-declarations
) that don't work on Windows, so I didn't add those flags on Windows.deque
andboost/bind.hpp
) in some places to get some things to compilepluginlib/class_list_macros.h
topluginlib/class_list_macros.hpp
in a couple of places to fix the deprecation warning. The warning would actually cause it to not compile because#warning
isn't supported on MSVC and that causes a compile errorThere are also some of MoveIt2's dependencies that have PRs that need to be merged in order for MoveIt2 to build and completely work on Windows:
I know #238 already exists with some fixes for windows, but it is out of date and doesn't have all of the fixes this PR has.
Checklist