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

Reenable UWP Builds for Foxy #92

Open
ooeygui opened this issue Apr 21, 2022 · 6 comments
Open

Reenable UWP Builds for Foxy #92

ooeygui opened this issue Apr 21, 2022 · 6 comments
Assignees

Comments

@ooeygui
Copy link
Member

ooeygui commented Apr 21, 2022

The ROS2.net UWP builds are not functioning due to ROS2 itself failing to build on the Universal Windows Platform. An effort is under way to upstream ROS2 for UWP, after which time the ROS2.net UWP builds can be reenabled.

Here are the tracking repositories for the various ROS2 on UWP changes:
https://github.com/ms-iot/Fast-DDS.git
https://github.com/ms-iot/rcpputils.git
https://github.com/ms-iot/rcutils.git
https://github.com/ms-iot/libyaml_vendor.git
https://github.com/ms-iot/poco_vendor.git

@ooeygui ooeygui self-assigned this Apr 21, 2022
@ooeygui
Copy link
Member Author

ooeygui commented Apr 21, 2022

During the process of upstreaming these changes, it was discovered that poco_vendor has been archived, instead relying on the OS libraries. Poco itself has not been UWP enabled. UWP has been grafted on - including with poco_vendor and vcpkg.

@esteve I'd like to propose creating a fork of https://github.com/ros2/poco_vendor in the ros2_dotnet organization, which can host poco for UWP changes which are currently in ms-iot until official support is available. I'd also like input on alternative approaches.

@ooeygui
Copy link
Member Author

ooeygui commented May 9, 2022

First PRs are pulled into humble. Working on next batch.

@esteve
Copy link
Member

esteve commented May 10, 2022

@ooeygui no problem about the poco_vendor fork, but it seems that https://github.com/ros2/poco_vendor has been archived. Is it still being used by ROS2? I think the only part of POCO in use was for dynamically loading a library, which was replaced by calling dlopen / LoadLibrary directly.

@ooeygui
Copy link
Member Author

ooeygui commented May 10, 2022

@esteve Let me check on that.

@ronwalf
Copy link

ronwalf commented Nov 6, 2023

@ooeygui Are there more details about what's blocking UWP builds, and what would be necessary for builds on Humble and later?

@ooeygui
Copy link
Member Author

ooeygui commented Nov 6, 2023

Hi @ronwalf,
I wish I could continue to work on this.

There are core changes in ROS and the Middleware that make them compatible with the Hololens 2 app container model (which is different than the Hololens 1 app container). I've made those changes in the ms-iot forks, but I have not propagated them upstream into rolling. The code in the forks is "Proof of concept" quality, so need to have effort put into unit tests, and multiplaform testing before they can be PR'd into their respective repos. I don't know what the delta is to migrate the changes to current releases.

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

No branches or pull requests

3 participants