Skip to content
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

Dependency script #60

Merged
merged 14 commits into from
Jun 3, 2020
Merged

Dependency script #60

merged 14 commits into from
Jun 3, 2020

Conversation

wil3
Copy link
Owner

@wil3 wil3 commented May 21, 2020

Closes: #58
This PR makes installing the dependencies alot easier by just having to run a bash script.

Turns out installing pip3 install . vs in edit mode pip3 install -e . is quite different. The custom Gazebo messages can't be found unless LD_LIBRARY_PATH is modified and also gymfc.ini was missing. The included fixes allow for installing via pip3 install ..

@wil3
Copy link
Owner Author

wil3 commented May 21, 2020

@xabierolaz @SwapnilPande @varunag18 This PR hopefully will make it a lot easy to install and run GymFC. If you can take a look or even test out the new script since you all have recently be getting the environment setup it would be much appreciated. I tested it in a VirtualBox VM with Ubuntu 18.04 with 15GB harddrive, 2 CPUs and 4GB memory.

@xabierolaz
Copy link

Great, thanks @wil3 , I'm testing it today, will let you know!

@varunag18
Copy link

Hi Wil, Im sory but I dont have another machine apart from the one im currently working on, to test the dependency script, but I wil test it once I get a machine at my university. Just having a look at it.....it seems good to go. However, there are certain things I would like to point out that I feel should be more clear for a new user. In the ReadMe file of the i58-dep-script, when we ask the user to
sudo MAKE_FLAGS=-j4 ./install_dependencies.sh
pip3 install .
We should explicitly specify the git clone command before this.
Also, under the Verify Install heading, when we state the plugin errors, we should add the expected Gazebo style directory structure there itself as well as the method of adding the .so files, just like you mentioned here.

@wil3 wil3 mentioned this pull request May 23, 2020
@SwapnilPande
Copy link
Contributor

This script looks great and definitely simplifies installing dependencies. It ALMOST worked for me, but still had a few issues.

Since you tried in a VM, I attempted installing in a clean ubuntu 18.04 docker container. The only problem that arose was that the gazebo install directory is set to /home/$USERNAME/local. In docker, you are always logged in as root. Therefore, gazebo was incorrectly installed to /home/local/share/gazebo-10, when I believe the desired behavior was installing to /root/local/share/gazebo-10.

I have a couple of ideas for this:

  1. Replace /home/$USERNAME/local with with ~/local for the gazebo install directory.
  2. Use the regular install directory for gazebo, /usr/local. Out of curiosity, is there a reason you chose to install it in the user's home directory?

@wil3
Copy link
Owner Author

wil3 commented May 24, 2020

@SwapnilPande Gazebo recommends installing to /home/$USER/local so you can easily switch between the debian build and the build from source.

Thanks for trying it in Docker, I'd eventually like to use the same script for the Travis docker so it would be good to have it work for both environments. I'll test it in the VM with the default location (and update gymfc.ini) and if it works as expected could you test it again in Docker?

@xabierolaz
Copy link

Hi @wil3, can confirm gymfc works greatly on a clean ubuntu 18.04 computer

@varunag18
Copy link

Thats gr8 @xabierolaz . I need to test this now, as Wil has suggested a problem with my existing installation. Could you provide your thoughts on the question part of this comment?

@varunag18
Copy link

Hi Wil, I did a fresh install using the dependency script and it worked like a breeze. My test scripts are running as expected. Thanks a lot.

@wil3
Copy link
Owner Author

wil3 commented May 29, 2020

I made a number of improvements, updated documentation for /examples and fixed the sample_noise bug.

@SwapnilPande I made the switch to install to /usr/local, tested it in Virtualbox could you give it a try in docker?

@wil3
Copy link
Owner Author

wil3 commented May 30, 2020

@all-contributors add @SwapnilPande for ideas and test

@allcontributors
Copy link
Contributor

@wil3

I've put up a pull request to add @SwapnilPande! 🎉

@wil3
Copy link
Owner Author

wil3 commented May 30, 2020

@all-contributors add xabierolaz for test

@allcontributors
Copy link
Contributor

@wil3

I've put up a pull request to add @xabierolaz! 🎉

@wil3
Copy link
Owner Author

wil3 commented May 30, 2020

@all-contributors add varunag18 for test

@allcontributors
Copy link
Contributor

@wil3

I've put up a pull request to add @varunag18! 🎉

@SwapnilPande
Copy link
Contributor

Sorry for the slow response, I will test on docker first thing tomorrow morning!

@SwapnilPande
Copy link
Contributor

Installation went properly except for adding usr/local/lib to the load path. In your install dependencies script you have:

echo '/usr/local/lib' | sudo tee /etc/ld.so.conf.d/gazebo.conf
sudo ldconfig

When running the script in docker (as root), I get the following error:

./install_dependencies.sh: line 74: sudo: command not found
./install_dependencies.sh: line 75: sudo: command not found

After manually running these commands without sudo, the gymfc tests work perfectly.

Since you suggest in your docs running the install_dependencies.sh script with sudo,, you should be able to remove it from the individual commands within the script, correct? With that small change, the script works great!

@wil3
Copy link
Owner Author

wil3 commented Jun 2, 2020

@SwapnilPande awesome thanks for testing that, great catch. Yes I can just remove sudo there. Will make the change then merge this all in. Thanks everyone for the help.

@wil3
Copy link
Owner Author

wil3 commented Jun 3, 2020

Closes: #39

@wil3 wil3 linked an issue Jun 3, 2020 that may be closed by this pull request
@wil3 wil3 merged commit 1b5857f into master Jun 3, 2020
@wil3 wil3 deleted the i58-dep-script branch June 3, 2020 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add dependency installer script build_plugin script fails with Boost error
4 participants