-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
[rbdl-orb] Adding RBDL-ORB to vcpkg #18883
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ju6ge, thanks for your contribution!
vcpkg_configure_cmake and vcpkg_install_cmake has been deprecated in favor of vcpkg_cmake_configure
and [vcpkg_cmake_install
] from the vcpkg-cmake port.
Could you update it? it requires to depend on vcpkg-cmake port.
Hey, regarding your suggested updates. Using the "vcpkg_from_github" to download the repository is not possible because it does not recursively clone the repository. We have put some dependencies that where previously directly vendored into the code base and moved them to a sub repository, to be better able to test them and keep the versions in sync. I tried using the commands "vcpkg_cmake_configure" and "vcpkg_cmake_install" in both cases vcpkg tells me that it does not know these commands. Building the tests is off by default, so it does not need to be specified explicitly ;) the boost dependencies are required by the urdfmodel addon. The luamodel and urdfmodel addons are regarded as quite important because they enable reading the models from these file types instead of having to construct the models using cpp code. Moving to vcpkg.json should not be a problem. Kind regards, |
@ju6ge, thanks for clarifying this!
Do mean the https://github.com/ORB-HD/URDF_Parser repo? if so, generally, we'd recommend to add URDF_Parser to vcpkg firstly, and then let rbdl-ord depend on URDF_Parser.
You need add vcpkg-cmake port to dependency, eg: https://github.com/microsoft/vcpkg/blob/master/ports/recast/vcpkg.json |
Hey so I updated to use vcpkg.json as well as the new cmake commands. Regarding creating a separate urdfparser library in vcpkg. I think I should clarify that the "we" mostly means me. I work for the robotics research group at the university of Heidelberg while completing my masters degree. The original RBDL was written by Martin Felis as his doctoral thesis in our group and since then we have maintained our own fork because other researchers have added functionality, while Martins version has mostly stayed the same. We also have some other tools building uppon rbdl-orb and the reason we are interested in having rbdl-orb in vcpkg is to be able to get our tools running on windows. But since I am the only person actively doing all this work as a part time job, separating out the urdfparser as its own library would just make my workload explode. I would need to write more build files to import urdfparser on all systems (linux, mac, windows) instead of just having it build with the project. Which also would mean updating the CI of all downstream tools. This just increases the complexity while adding no real value at the moment. If we had a bigger team to deal with this I think it would be a sensible thing to do. But given that it is just me, keeping urdfparser in sync between rbdl-orb and our downstream tools is just best handled by using a subrepository which is already a lot better than having the code replicated in each repository directly and having to manually apply the changes to all repositories. |
We refuse to use any method other than vcpkg's internal download functions (such as vcpkg_from_github / vcpkg_from_gitlab / vcpkg_from_git / vcpkg_from_sourceforge / vcpkg_download_distfile) to download the source code package, so please check my change requests. |
Hey @JackBoosY, thanks for the suggested update. I updated the PR and ran the auto-formatter. |
We recommend separating dependent libraries and establishing dependencies on their use, but this does not mean that we must do this. We can set the dependency between their versions by setting the |
Okay so now it should be correct. I am only using the vcpkg_ commands to download the sources and place the URDF_Parser repo into the correct subdirectory within rbdl-orb \o/ |
@ju6ge, rbdl-orb failed on our CI testing, do you test them locally? please let me know if you need the CI failure logs. |
@PhoebeHui i have a windows server 2019 instance on which I tested the install of the port with vcpkg for On my linux workstation the install of The main reason I want rbdl-orb in vcpkg is to have it on windows though, so that is more of my focus now. Using rbdl-orb in linux and oxs already works for me without vcpkg. |
@ju6ge rbdl-orb also failed with x64-uwp, arm_uwp, x64-windows-static, x64_linux, x64_osx and x64-windows_static_md. It passed with x64-windows and arm64-windows. |
When building uwp:
When building osx:
|
That is just a warning, can you send me the entire log? Nevermind got it working, the error was that the define needed to be declared in the build system not in an include header since the error originated from eigen. I think now all checks should pass, fingers crossed 🤞 |
@ju6ge, I noticed that the cmake warning generated with x64-uwp and arm-uwp in CI testing, does this expect?
|
Sorry for the delayed response, there where some other issues that needed my attention. I checked and for release there where no pdbs generated. I am really not sure what would be required to get them, since they are present in the normal windows-x86/x64 builds. So no it is not expected, but i never actually needed those. They where just there when building using vcpkg, except for the case of x64-uwp. This seems like a bug in the build system not anything specific to |
@ju6ge, I can't repro this issue locally now, it seems the problem has been fixed. and the pdb files exist now.
|
Great news 👏 |
This PR adds the rbdl-orb library to vcpkg. Rbdl-orb is an updated version of rbdl, maintained by the robotics group at the University of Heidelberg.
RBDL-ORB has been tested on linux, windows and mac with x86 and x64.
Does your PR follow the maintainer guide?
Yes
If you have added/updated a port: Have you run
./vcpkg x-add-version --all
and committed the result?Yes