Closed agaertner closed 1 year ago
Can you please take a look at the verbose output using colcon --log-level debug list
or the like? It might be too much output to post here, but maybe the first several lines would be helpful.
[0.351s] [34mcolcon[0m [1;30mDEBUG[0m [32mCommand line arguments: ['I:\\Repositories\\_venvs\\venv-minirov\\Scripts\\colcon', '--log-level', 'debug', 'list'][0m
[0.351s] [34mcolcon[0m [1;30mDEBUG[0m [32mParsed command line arguments: Namespace(log_base=None, log_level=10, verb_name='list', build_base='build', ignore_user_meta=False, metas=['./colcon.meta'], base_paths=['.'], packages_ignore=None, packages_ignore_regex=None, paths=None, packages_up_to=None, packages_up_to_regex=None, packages_above=None, packages_above_and_dependencies=None, packages_above_depth=None, packages_select_by_dep=None, packages_skip_by_dep=None, packages_skip_up_to=None, packages_select_build_failed=False, packages_skip_build_finished=False, packages_select_test_failures=False, packages_skip_test_passed=False, packages_select=None, packages_skip=None, packages_select_regex=None, packages_skip_regex=None, packages_start=None, packages_end=None, topological_order=False, names_only=False, paths_only=False, topological_graph=False, topological_graph_dot=False, topological_graph_density=False, topological_graph_legend=False, topological_graph_dot_cluster=False, topological_graph_dot_include_skipped=False, verb_parser=<colcon_defaults.argument_parser.defaults.DefaultArgumentsDecorator object at 0x000001F574C4D2D0>, verb_extension=<colcon_package_information.verb.list.ListVerb object at 0x000001F574BFEF50>, main=<bound method ListVerb.main of <colcon_package_information.verb.list.ListVerb object at 0x000001F574BFEF50>>)[0m
[0.412s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(colcon_meta) check parameters
[0.412s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(recursive) check parameters
[0.412s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(ignore) check parameters
[0.412s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(path) check parameters
[0.412s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(colcon_meta) discover
[0.412s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(recursive) discover
[0.412s] [34mcolcon.colcon_core.package_discovery[0m [1;30mINFO[0m Crawling recursively for packages in 'F:\ros2_humble\ros2_ws'
[0.413s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extensions ['ignore', 'ignore_ament_install']
[0.413s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) by extension 'ignore'
[0.413s] [34mcolcon.colcon_core.package_identification[0m [1;30mLevel 1[0m _identify(.) ignored
[0.413s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(recursive) using defaults
[0.413s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(ignore) discover
[0.413s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(ignore) using defaults
[0.413s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(path) discover
[0.413s] [34mcolcon.colcon_core.package_discovery[0m [1;30mLevel 1[0m discover_packages(path) using defaults
log from F:\ros2_humble\ros2_ws\log\list_2022-12-21_10-55-02
First, I had spaces in my setup.bat causing some variables not getting set
(ie set myVar = "path/to/env.bat"
failed due to the spaces around the assignment operator..... set myVar="path/to/env.bat"
). This out of the way I found that
--symlink-install
doesn't report as much as a normal copy install does. When I tried once again it showed me that I forgot to run the VisualStudio environment beforehand so that VisualStudioVersion
is set.
Now that I run the vcvarsall.bat x86_64
it finds my packages.
However, I encountered some other issues with python linking unrelated to colcon but ros2 using a virtual python env and some libraries like em
conflicting with empy
and after hours I gave up on Windows and just created VM with Ubuntu Jammy for now.
Sadly WSL2 is too unstable still (Already have that behind me. Even build a custom linux kernel for getting xbox controllers to work with that crappy xbox interface).
I will just stop trying to make Windows work for anything outside of the C# Asp.Net domain. Just not worth the hassle.
Might just create a dual-boot later.
I wrote this just so if anyone is trying to make Windows work for anything related to science. Stop. Install another Linux distro. Preferably those recommended by whatever tool you use.
Thanks for trying to help though.
log from
F:\ros2_humble\ros2_ws\log\list_2022-12-21_10-55-02
This output suggests that the working directory (F:\ros2_humble\ros2_ws
) contains an ignore marker, which explains the behavior you're experiencing.
Is it possible that you attempted to set the --install-base
or --build-base
to that directory instead of a subdirectory, which would have automatically created an ignore marker?
I had spaces in my setup.bat causing some variables not getting set
This sounds like a bug to me, but I can't find any such occurrences across any colcon or ament packages. Can you help me track it down?
...I found that
--symlink-install
doesn't report as much as a normal copy install does.
This shouldn't be the case, especially for CMake projects. I'm not booted into Windows right now so I can't give it a shot, but the console output on Linux is identical for --symlink-install
, except that the Installing
messages are replaced with Symlinking
ones.
I'd like to encourage you to try following the official build guide for ROS 2 on Windows. I've personally run through these instructions recently and was able to compile ROS 2 successfully.
Yes, I am usually setting --install-base
and --build-base
to my ros2_ws
and source my package setup script. I have done so on my Linux workstation as well without issues.
I had spaces in my setup.bat causing some variables not getting set
This sounds like a bug to me, but I can't find any such occurrences across any colcon or ament packages. Can you help me track it down?
Don't worry. That's just a batch syntax thing. Simply removing the spaces around the assignment fixed it.
I'd like to encourage you to try following the official build guide for ROS 2 on Windows. I've personally run through these instructions recently and was able to compile ROS 2 successfully.
I am usually following these instructions, thank you. I might have forgotten to install the xmllint
stuff under Install miscellaneous prerequisites.
After I cleaned my entire Windows machine I gave it another go and now it seems to build.
Hey,
crawling suddenly fails on my windows machine (I am usually using Linux).
At first it worked but now I cannot get it to work ever. I even reinstalled ROS2-Humble and cleaned my environments.
I have reinstalled python and created a virtual environment.
Installed all neccessary ROS2_Humble packages and
colcon-common-extensions
.I source Visual Studio env and ROS2.
Go into my workspace and do "colcon build --symlink-install" as usual and it won't find any packages even though my packages are located there and it should find them when searching the folders recursively. On my other workstation (Linux) it always works.
At first it failed silently but in the trial within a fresh venv I got: