-
Notifications
You must be signed in to change notification settings - Fork 41
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
Jenkins Windows CI is not installing DART #87
Comments
I had been working on this for a while before, but dart wasn't building on windows at the time. I think it is in better shape now, but we also require several components, so we need to make sure those dependencies are available as well.
test build fails; I think our vcpkg state is out of date and the ode formula has a bitbucket hash? I believe @traversaro fixed this in microsoft/vcpkg#11029, but maybe something is out of date on our CI machines? I'll try again without ODE... |
dart install location will be fixed by dartsim/dart#1478 now cmake is failing while finding dart dependencies: |
dart is now in vcpkg: dartsim/dart#1005 so that should simplify matters if it builds the components that we need |
latest test with dartsim from vcpkg: https://build.osrfoundation.org/job/ign_physics-ign-2-win/58/ |
@j-rivero are the vcpkg definitions out of date on our CI machines? I was hoping to try the |
Yep, we are working with a "frozen" (we are not running git pull on the repo) snapshot of the vcpkg formulas. That is somehow good for stability although brings these kind of updated problems. My recommendation would be try to update vcpkg in a system out of the buildfarm (or take a node out of CI), git pull to the latest version and check to build the whole ignition suite. |
sounds good; I will work on this with @JShep1 and @chapulina |
I just got my windows VM running again and installed
more verbose log at https://gist.github.com/scpeters/d7a66c27f6423c9c8d13156f270d7eab I'll try disabling the ode component for now and see if I can get farther |
I've temporarily substituted the
it now has Assimp and FCL linking errors (full console output in gist)
|
@traversaro have you seen these linking errors before? |
I did not, but it seems that being dart a static library on Windows (see dartsim/dart#1501), it is necessary to explicitly link all the shared libraries on which it depends (in theory CMake should handle this), while from the errors it seems that fcl and assimp are not properly linked. For debugging, it would be helpful to have the full linker invocation line to check if fcl and assimp are actually linked. |
By the way, the best way for me to catch this problems has always to add vcpkg ports for ignition libraries, to ensure that even if there are regression at the vcpkg level they are catched fast by vcpkg CI and dev themselves. Unfortunately in this case the ign-physics port (that should be relatively simple) has been blocked by the availability of the ignition-common port (see microsoft/vcpkg#11273). Unfortunately the ignition-common port was quite unlucky, as at some point in the vcpkg CI they installed pkg-config as well, but without making sure before that all the ports installed valid |
I think I noticed something related: DART on MSVC hardcodes the library names of fcl and assimp (https://github.com/dartsim/dart/blob/0be8c3de481f85e440579ab1c60a8242a0d936c1/cmake/Findfcl.cmake#L31 and https://github.com/dartsim/dart/blob/e18046107679ff71a0da75dbbf2982b5650ff490/cmake/Findassimp.cmake#L29) instead of using the imported targets, so this could explain the linking errors. Unfortunately testing Dart on Windows is quite complicated due to the impossibility of compiling DART as a shared library (see dartsim/dart#1501), so even just compiling the test means that you get a 1 Gb executable for each test. |
Actually the tests on Windows were disabled in dartsim/dart#1286 . |
it took me a minute to figure out how to expose the linker command, but setting an environment variable
|
Indeed, I enabled the DART tests and I have the same linking error on DART tests. |
dartsim/dart#1476 seems related, but they mention a different set of missing symbols |
nice work, dartsim/dart#1510 fixes the FCL linking errors and most of the Assimp linking errors; I now just see the following error:
I believe the |
full linker command at https://gist.github.com/scpeters/7f30e97696c95093752c9e7fc45f25cc |
Cool, this comes from a PR merged 20 hours ago ( microsoft/vcpkg#13521 ), really a fresh regression. Let's open a vcpkg issue on that: microsoft/vcpkg#14045 . |
wow, thanks for deciphering that and submitting the issue; I'll watch it and try again if it gets resolved |
ok, the |
I had some trouble linking with ODE, so I switched to the
I then tried to fix the ODE linking issue and am preparing to make a pull request for that. |
A possible debug direction may be to enable the example and the testsuite compilation and execution of DART itself, this may highlight if there are some problems in DART itself. |
yes, I've reproduced the failures in DART itself: dartsim/dart#1522 |
it looks like dartsim/dart#1528 may eliminate our need for the |
@scpeters it is only a partial fix. There are other errors that occur without |
Removing this from TODO so we can focus on the rest of the stack. Until DART is fixed, |
Windows CI is currently skipping the dartsim component:
We should make sure DART and its Ignition Physics bindings are installable and runnable on Windows.
The text was updated successfully, but these errors were encountered: