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

convert xacro to pure python package to allow running in Windows #303

Closed

Conversation

wmmc88
Copy link

@wmmc88 wmmc88 commented Dec 27, 2021

closes #302

@wmmc88
Copy link
Author

wmmc88 commented Dec 27, 2021

Tested locally and running via ros2 run xacro xacro now works on windows

Copy link
Contributor

@rhaschke rhaschke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for providing a potential fix for #302. However, I wasn't expecting such a huge changeset. Switching the build type from ament_cmake to ament_python is not an option as we provide some cmake functionality to other packages via xacro-extras.cmake. Can you think of another option? What is the actual culprit of #302, i.e. what's the difference of installed files?

@wmmc88
Copy link
Author

wmmc88 commented Dec 28, 2021

Thanks for providing a potential fix for #302. However, I wasn't expecting such a huge changeset. Switching the build type from ament_cmake to ament_python is not an option as we provide some cmake functionality to other packages via xacro-extras.cmake. Can you think of another option? What is the actual culprit of #302, i.e. what's the difference of installed files?

My understanding is that in windows, running a python script like an executable is just not possible like it is in linux. Linux seems to be able to do this because it interprets the shebang and that's not something that windows does. All of the rqt packages(ie. rqt_graph, rqt_console, rqt_plot, rqt_action, etc. ) solved this issue by converting their packages to a pure python package so that colcon would be able to use the setup.py to create and entrypoint script that is invokable via ros2 run. A side effect of this seems to be that none of those packages can be directly invoked anymore... only able to run through ros2 run and that seems to be the intended intention by the ros maintainers of those packages.

It seems like ament_python_install_package was enhanced recently in ament/ament_cmake#328 and offers a much better solution. new approach in #304.

@wmmc88 wmmc88 closed this Dec 28, 2021
@wmmc88 wmmc88 deleted the wmmc88/convert-to-python-pkg-for-windows branch December 28, 2021 22:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants