-
Notifications
You must be signed in to change notification settings - Fork 48
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
Get Windows dependencies from NuGet/Chocolatey repository #128
Comments
Another interesting option that emerged only recently is https://bincrafters.github.io/ , but I did not checked it out. |
I had to reinstall the superbuild on Windows so I gave it a try, installing the missing dependencies (ACE, GSL, ODE, Ipopt and libxml2) from the existing robotology installers. As mentioned in https://discourse.ros.org/t/moveit-now-enabled-for-ros1-on-windows/6509/2 , trying to build in Debug fails as RTF uses TinyXML that in its API uses STL objects (cc @claudiofantacci with which we discussed about it):
In Release however, compilation of RTF, YARP works fine.
However, compilation of ICUB fails due to some missing SDL symbol:
So, there are problems (the biggest the lack of Debug libraries) that complicates the use of this binaries, but the potential is huge: the Qt installation took approximatly one minute. |
I opened an issue upstream for both problems: |
Note that for some repositories that are easy to build (so no IPOPT : ) ) a viable option if they are not available as external dependencies is to install them as subprojects in the superbuild. This should be doable for ODE, GSL ( https://github.com/ampl/gsl ) and libxml2 ( https://github.com/robotology-dependencies/libxml2-cmake-buildsystem ) and ACE (with some work). As already discussed, we could just have a small installer just for ipopt (this could be useful also for people using vcpkg). |
I successfully compiled and run the superbuild with the options
In the following you will find a sketch of the steps necessary to get this to work. Note that this is still extremely experimental, and unfortunately quite invasive (you basically need to make sure that you existing dependencies binaries, installed either from installers or from vcpkg can't be found by CMake, to avoid conflicts with the chocolatey-provided versions).
now you can create a new shortcut called
At this point, everything should compile fine. Once the superbuild is installed, to use the software installed by the superbuild you need to configure the enviromental variables as documented in the README, also for the
clearly the path to the robotology-superbuild and the name of the build directory will change depending on your local setup.
At this point, you should be able to run the Gazebo simulation! On windows there is no
|
This would be nice, and should work fine in theory. I would nevertheless close the issue as no one is planning to work on this. If someone wants to make sure that this is working, I suggest to setup a CI job to check that the compilation works correctly (as it was attempted in #304) to make sure that there are no regression on this. |
As part of the ROS on Windows effort (http://aka.ms/ros ) Microsoft is maintaining a NuGet/Chocolatey repository of C++ libraries in binary form: https://roswin.azurewebsites.net/packages . I never considered Chocolatey as a serious option to obtain the dependencies on Windows because the number of C++ libraries available in their main repo is quite limited, but this new repo contains most of our dependencies. I am opening this issue to track the possibilities of using this packages to build the robotology-superbuild on Windows.
Related ROS Discourse discussion: https://discourse.ros.org/t/moveit-now-enabled-for-ros1-on-windows/6509/2 .
Packages currently required by the robotology-superbuild but not available on the ROS NuGet repo:
cc @drdanz @claudiofantacci @pattacini
The text was updated successfully, but these errors were encountered: