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

Enable nav2-related packages on Windows #178

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

traversaro
Copy link
Member

No description provided.

@traversaro
Copy link
Member Author

Failure:

2024-04-30T15:58:42.7252805Z 
2024-04-30T15:58:42.7253142Z Applying patch: D:\a\ros-humble\ros-humble\patch\ros-humble-nav2-waypoint-follower.patch
2024-04-30T15:58:42.7253966Z Applying patch: D:\a\ros-humble\ros-humble\patch\ros-humble-nav2-waypoint-follower.patch with args:
2024-04-30T15:58:42.7255053Z ['-Np1', '-i', 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\tmp6pw8r2af\\ros-humble-nav2-waypoint-follower.patch.native', '--binary']
2024-04-30T15:58:42.7255810Z Traceback (most recent call last):
2024-04-30T15:58:42.7256382Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Scripts\boa-script.py", line 10, in <module>
2024-04-30T15:58:42.7256944Z     sys.exit(main())
2024-04-30T15:58:42.7257173Z              ^^^^^^
2024-04-30T15:58:42.7257717Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\boa\cli\boa.py", line 245, in main
2024-04-30T15:58:42.7258301Z     run_build(args)
2024-04-30T15:58:42.7258891Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\boa\core\run_build.py", line 530, in run_build
2024-04-30T15:58:42.7259538Z     raise e
2024-04-30T15:58:42.7260089Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\boa\core\run_build.py", line 512, in run_build
2024-04-30T15:58:42.7260736Z     build_recipe(
2024-04-30T15:58:42.7261340Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\boa\core\run_build.py", line 290, in build_recipe
2024-04-30T15:58:42.7262092Z     download_source(MetaData(recipe_path, o0), interactive)
2024-04-30T15:58:42.7262835Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\boa\core\build.py", line 614, in download_source
2024-04-30T15:58:42.7263519Z     _try_download(m, interactive)
2024-04-30T15:58:42.7264165Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\boa\core\build.py", line 568, in _try_download
2024-04-30T15:58:42.7264806Z     source.provide(m)
2024-04-30T15:58:42.7265402Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\conda_build\source.py", line 1124, in provide
2024-04-30T15:58:42.7266181Z     apply_one_patch(src_dir, metadata.path, patch, metadata.config, git)
2024-04-30T15:58:42.7266998Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\conda_build\source.py", line 1013, in apply_one_patch
2024-04-30T15:58:42.7267672Z     raise exception
2024-04-30T15:58:42.7268284Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\conda_build\source.py", line 1007, in apply_one_patch
2024-04-30T15:58:42.7268954Z     try_apply_patch(
2024-04-30T15:58:42.7269565Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\conda_build\source.py", line 948, in try_apply_patch
2024-04-30T15:58:42.7270297Z     raise e
2024-04-30T15:58:42.7270891Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\conda_build\source.py", line 942, in try_apply_patch
2024-04-30T15:58:42.7271551Z     check_call_env(
2024-04-30T15:58:42.7272152Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\conda_build\utils.py", line 445, in check_call_env
2024-04-30T15:58:42.7272959Z     return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs)
2024-04-30T15:58:42.7273434Z            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024-04-30T15:58:42.7275051Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\site-packages\conda_build\utils.py", line 436, in _func_defaulting_env_to_os_environ
2024-04-30T15:58:42.7275853Z     subprocess.check_call(_args, **kwargs)
2024-04-30T15:58:42.7276436Z   File "C:\Users\runneradmin\micromamba\envs\testpr_env\Lib\subprocess.py", line 413, in check_call
2024-04-30T15:58:42.7277030Z     raise CalledProcessError(retcode, cmd)
2024-04-30T15:58:42.7278649Z subprocess.CalledProcessError: Command '['C:\\Users\\runneradmin\\micromamba\\envs\\testpr_env\\Library\\usr\\bin\\patch.exe', '--no-backup-if-mismatch', '--batch', '-Np1', '-i', 'C:\\Users\\RUNNER~1\\AppData\\Local\\Temp\\tmp6pw8r2af\\ros-humble-nav2-waypoint-follower.patch.native', '--binary', '--dry-run']' returned non-zero exit status 1.
2024-04-30T15:58:42.8618377Z ##[error]Process completed with exit code 1.

I guess that the patch has a conflict with ros-navigation/navigation2#4051 , probably most of the patch is not needed anymore.

@traversaro
Copy link
Member Author

2024-04-30T19:39:27.9675135Z           ]
2024-04-30T19:39:27.9680118Z %SRC_DIR%\ros-humble-nav2-waypoint-follower\src\work\plugins\input_at_waypoint.cpp(72): message : see reference to function template instantiation 'std::shared_ptr<rclcpp::Subscription<std_msgs::msg::Empty,std::allocator<void>,std_msgs::msg::Empty_<std::allocator<void>>,std_msgs::msg::Empty_<std::allocator<void>>,rclcpp::message_memory_strategy::MessageMemoryStrategy<ROSMessageT,AllocatorT>>> rclcpp_lifecycle::LifecycleNode::create_subscription<std_msgs::msg::Empty,std::_Binder<std::_Unforced,void (__cdecl nav2_waypoint_follower::InputAtWaypoint::* )(std::shared_ptr<std_msgs::msg::Empty_<std::allocator<void>>>),nav2_waypoint_follower::InputAtWaypoint *,const std::_Ph<1> &>,std::allocator<void>,rclcpp::Subscription<std_msgs::msg::Empty,AllocatorT,std_msgs::msg::Empty_<std::allocator<void>>,ROSMessageT,rclcpp::message_memory_strategy::MessageMemoryStrategy<ROSMessageT,AllocatorT>>,rclcpp::message_memory_strategy::MessageMemoryStrategy<ROSMessageT,AllocatorT>>(const std::string &,const rclcpp::QoS &,CallbackT &&,const rclcpp::SubscriptionOptionsWithAllocator<std::allocator<void>> &,std::shared_ptr<rclcpp::message_memory_strategy::MessageMemoryStrategy<ROSMessageT,AllocatorT>>)' being compiled [%SRC_DIR%\build\input_at_waypoint.vcxproj]
2024-04-30T19:39:27.9685277Z           with
2024-04-30T19:39:27.9685472Z           [
2024-04-30T19:39:27.9685781Z               ROSMessageT=std_msgs::msg::Empty_<std::allocator<void>>,
2024-04-30T19:39:27.9686211Z               AllocatorT=std::allocator<void>,
2024-04-30T19:39:27.9687217Z               CallbackT=std::_Binder<std::_Unforced,void (__cdecl nav2_waypoint_follower::InputAtWaypoint::* )(std::shared_ptr<std_msgs::msg::Empty_<std::allocator<void>>>),nav2_waypoint_follower::InputAtWaypoint *,const std::_Ph<1> &>
2024-04-30T19:39:27.9688168Z           ]
2024-04-30T19:39:27.9688369Z   Auto build dll exports
2024-04-30T19:39:27.9689645Z      Creating library C:/Users/runneradmin/micromamba/envs/testpr_env/conda-bld/ros-0_1714494666021/work/build/Release/input_at_waypoint.lib and object C:/Users/runneradmin/micromamba/envs/testpr_env/conda-bld/ros-0_1714494666021/work/build/Release/input_at_waypoint.exp
2024-04-30T19:39:27.9691277Z   input_at_waypoint.vcxproj -> %SRC_DIR%\build\Release\input_at_waypoint.dll
2024-04-30T19:39:27.9692297Z   Building Custom Rule C:/Users/runneradmin/micromamba/envs/testpr_env/conda-bld/ros-0_1714494666021/work/ros-humble-nav2-waypoint-follower/src/work/CMakeLists.txt
2024-04-30T19:39:27.9693392Z   Ignoring COMPILE_WARNING_AS_ERROR target property and CMAKE_COMPILE_WARNING_AS_ERROR variable.
2024-04-30T19:39:27.9693925Z   photo_at_waypoint.cpp
2024-04-30T19:39:27.9695139Z %SRC_DIR%\ros-humble-nav2-waypoint-follower\src\work\include\nav2_waypoint_follower/plugins/photo_at_waypoint.hpp(35,10): fatal error C1083: Cannot open include file: 'opencv4/opencv2/core.hpp': No such file or directory [%SRC_DIR%\build\photo_at_waypoint.vcxproj]

I removed too much of the patch.

@traversaro
Copy link
Member Author

traversaro commented Apr 30, 2024

I removed too much of the patch.

Patch proposed upstream in ros-navigation/navigation2#4287 .

@Tobias-Fischer
Copy link
Contributor

There are still some issues with the patch @traversaro

@Tobias-Fischer
Copy link
Contributor

It now fails with

2024-05-03T04:23:50.6918446Z   Could NOT find CSparse (missing: CSPARSE_INCLUDE_DIR)
2024-05-03T04:23:50.6918881Z Call Stack (most recent call first):
2024-05-03T04:23:50.6920132Z   C:/Users/runneradmin/micromamba/envs/testpr_env/conda-bld/ros-0_1714698402507/_build_env/Library/share/cmake-3.29/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
2024-05-03T04:23:50.6921325Z   CMake/FindCSparse.cmake:24 (find_package_handle_standard_args)
2024-05-03T04:23:50.6921779Z   CMakeLists.txt:79 (find_package)

for slam-toolbox

@traversaro - there are a few other packages somewhere where I have patched this; do you need slam-toolbox or can we get away with just the nav2 packages?

@traversaro
Copy link
Member Author

@traversaro - there are a few other packages somewhere where I have patched this; do you need slam-toolbox or can we get away with just the nav2 packages?

I do not have an hard requirement at the moment, I just added nav2-bringup as it is installed in nav2 tutorials: https://navigation.ros.org/development_guides/build_docs/index.html .

@traversaro
Copy link
Member Author

Ok, the CMake issue is fixed by SteveMacenski/slam_toolbox#699, but slam_toolbox on windows requires a bit of work for the reasons described in #133 (comment) . I do not plan to work on this, so either we can close this or just build the packages that build fine (not sure which are, I guess at the moment nav2-bringup requires slam-toolbox).

@Tobias-Fischer Tobias-Fischer added the wontfix This will not be worked on label Jul 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants