-
Notifications
You must be signed in to change notification settings - Fork 58
Updates to the readme files. #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
base: master
Are you sure you want to change the base?
Conversation
…ed an environment variables section and updated some file paths for configuring ff_msgs
README.md
Outdated
|
|
||
| Before building the Astrobee Android project, ensure your system meets the following requirements: | ||
|
|
||
| - **Operating System**: Ubuntu 16.04 (Xenial Xerus) is needed for compatibility with `ros-kinetic-rosjava` dependencies. |
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.
@rgarciaruiz should comment on our Ubuntu version strategy.
The Astrobees on ISS indeed currently run Ubuntu 16.04 on the MLP and LLP, but there is a plan to upgrade them to Ubuntu 20.04, hopefully later this year. Also, the astrobee_android code of course runs on the HLP under Android (not Ubuntu), so to some extent it should be isolated from caring about the Ubuntu version running on the other processors.
It's possible that you have two viable options for your astrobee_android development:
- Develop under Ubuntu 20.04 and use
ros-noetic-rosjava. If this works, it would be preferred in terms of being easier to maintain long-term and more compatible with upcoming Astrobee upgrades. - Develop under Ubuntu 16.04 and use
ros-kinetic-rosjava, as you are suggesting. This would be the highest-fidelity test if you are targeting an ISS activity this summer, but I think it's otherwise not recommended for most users.
I'm not aware that anybody has tested option 1 -- @rgarciaruiz would be most likely to know. It's possible there is no such version of rosjava, or that using it might require some cascading changes elsewhere in the system. One potential concern would be that a noetic version of rosjava might have incompatibilities with the kinetic version of ROS1 running on the MLP/LLP at the network protocol level. But I think this is very unlikely because the ROS1 network protocol has been quite stable for a while, and we are using it in a limited, straightforward way.
(I'm sorry I can't be more definitive about this! But I think we should really mention this issue if we are going to update documentation of the system requirements.)
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 are some dependencies that are not the same between ROS versions, and ros-noetic-rosjava doesn't exist. You need to build ros-kinetic-rosjava from source with ROS Noetic. I closed out this issue after I switched from 20.04 to 16.04.
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.
Understood. I think what I'm saying is that we should fix those dependency issues so that development under Ubuntu 20.04 works properly, rather than making sure to advise everyone to use 16.04, which contradicts our general advice for other parts of the system, and is guaranteed to cause hassles for users going forward.
(I appreciate that this puts you in a tough spot, since you're doing your development right now and this issue hasn't been fixed yet.)
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.
That's fine. However, if that is the case it might be worthwhile to add instructions on how to build the ros-kinetic-rosjava package from source for ROS Noetic since ros-noetic-rosjava does not exist yet. My other updates are also helpful so I can make another pull request with those changes if that sounds alright to you.
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.
Yes, thanks for taking the time to push your changes as an upstream PR! I shouldn't be the primary reviewer on this PR, but we appreciate your efforts!
I guess a quick interim fix would be to keep your note about the current build instructions assuming Ubuntu 16.04, but also mention in the same place that Ubuntu 16.04 support will soon be phased out as we migrate to Ubuntu 20.04, and reference your earlier issue describing the current (temporary) issue with astrobee_android under 20.04. Then it would tell the whole story. Thanks!
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.
Sounds good. Should I open an issue regarding the dependencies, or do you guys already have one open?
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.
Good point. Reopened #44
… about the operating system and rosjava dependency issues with using Ubuntu 20.04
| you@machine:~ $ mkdir -p $HOME/.m2 | ||
| you@machine:.m2 $ cd $HOME/.m2 | ||
| you@machine:.m2 $ ln -s $BUILD_PATH/devel/share/maven repository | ||
| you@machine:.m2 $ ln -s $BUILD_PATH/devel/.private/ff_msgs/share/maven repository |
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.
this did not change, it's still devel/share/maven
this runs frequently and uses it..
https://github.com/nasa/isaac/blob/v0.2.6/scripts/docker/build_apk.Dockerfile#L46
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.
At some point when I was trying to get this to work I didn't have /maven in my /devel/share directory. I will have to retrace my steps to figure out why. I have developed a guest science app that logs coordinates from the simulator using the other path so it's a functional alternative for now.
I was trying to follow the instructions and ran into a lot of issues using the latest versions of Ubuntu and Android Studio. Some of the paths to build the packages in the
astrobeerepository were also incorrect for me as well, so I updated them in the instructions.