-
Notifications
You must be signed in to change notification settings - Fork 342
Standalone gz sim executable (Jetty) #2849
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
Conversation
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
…he gui unversioned component Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
@osrf-jenkins run tests |
Signed-off-by: Jose Luis Rivero <jrivero@osrfoundation.org>
Signed-off-by: Jose Luis Rivero <jrivero@osrfoundation.org>
@osrf-jenkins run tests |
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
The gz command tests are failing. Need to fix these before merging.
|
I'm testing this on a Mac laptop. I first built it in a
|
I noticed this homebrew test failure recently and it's also happening in other builds as well, e.g. in #2870. May or may not be related |
I get the same error with all gz packages built from source in a colcon workspace.
Other notes:
|
I am able to run |
Thanks for the test !
I think we already captured this problem in the description.
Oh this is new, to be fixed IMHO without being a blocker for the PR.
Iit works on Linux and Windows as far as I can tell. Seems like we will need more work on Mac. Not a blocker since we are not introducing a regression. |
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
a7560d0
to
52d66cc
Compare
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
Signed-off-by: Jose Luis Rivero <jrivero@openrobotics.com>
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
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.
I'm partially done reviewing this; here are a few comments for now
src/cmd/gz.cc
Outdated
// console output with zero verbosity. | ||
if (verbosity == 0) | ||
// Check if passed string is valid | ||
if(!_file.empty()) |
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.
should there be an else
branch that returns -1
if _file
is empty?
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.
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.
the whole thing did not work since the logic behind this and your next comment was to run checksdf and parsesdf functions even if the input file was empty and return ok if that case. I changed the logic not to pass the files in f8d454e. There are some problems in that code (gz-main-gui should not accept sdf inputs) but I prefer not to change this PR more and create new ones. The problem is registered in the PR description.
src/cmd/gz.cc
Outdated
{ | ||
static std::string worldInstallDir = gz::sim::getWorldInstallDir(); | ||
return worldInstallDir.c_str(); | ||
if(!_parsedSdfFile.empty()) |
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.
I don't understand this check. It looks like an empty std::string
is passed to this function at src/cmd/sim_main.cc:450-451
and src/cmd/sim_main.cc:507-508
, but this function is a no-op for empty strings
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.
I agree. Seems like a mistake, removed in 9dd80aa
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.
affected by #2849 (comment)
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
Co-authored-by: Steve Peters <scpeters@openrobotics.org> Signed-off-by: Jose Luis Rivero <jrivero@osrfoundation.org>
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
Signed-off-by: Jose Luis Rivero <jrivero@honurobotics.com>
There are a couple of Wrench related tests that fail on Linux that seems unrelated. I think that we should be in a good position to merge and address the fixes and improvements detailed in the description in new PRs. |
the tests passed on a retry |
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.
two minor nits that can be addressed in separate pull requests
" - vulkan (beta)\n" | ||
" - metal (Apple only. Default for Apple)\n" | ||
"Note: If Vulkan is being in the GUI and gz-gui was\n" | ||
"built against Qt < 5.15.2, it may be very slow") |
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.
nit: we can probably remove this comment since we are now on Qt 6
this can be addressed later
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.
thanks! I'll get them in a new PR or please remind that to me if I won't :)
" - vulkan (beta)\n" | ||
" - metal (Apple only. Default for Apple)\n" | ||
"Note: If Vulkan is being in the GUI and gz-gui was\n" | ||
"built against Qt < 5.15.2, it may be very slow") |
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.
nit: this comment can probably be removed since we are now using Qt 6
Thanks a lot to everyone involved, this was a great result! |
🎉 New feature
Comes from #2809. Related to gazebosim/gz-tools#7 and #2737.
Summary
This PR introduces a standalone executable for gz sim by following a similar approach to #2724. The new executable is integrated into cmdsim.rb.in, replacing the existing functionality. It is also a step in the direction of decoupling the server from GUI components, allowing us to build gz-sim library without GUI support.
#2809 should give a full context of the work. This PR changes the target branch name to
main
not to include the work in Ionic but in the upcomingJetty
.To port #2809 here I made the following commits:
gz sim
executable #2809 almost cleanlygz-sim-gui
since this new executable in this branch conflicts with the gui component at src/gui in this repository. In thegz-sim9
branch it is known asgz-sim9-gui
but now that we are not using version numbers generates a conflict. I choosedgz-sim-gui-client
but we can use a better name.Include here the list of things broken or for testing:
Manual testing in Mac [blocker]Initial world selection screen in Windows do not work properly [non-merge-blocker]Fixed in Fix for GUI wait screen bug in standalone executable #2905[updated] Version argumentsFixed in Fix for GUI wait screen bug in standalone executable #2905-v 4
togz-sim-gui-client
says it is not expected