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

Tweak Ubuntu source install #136

Merged
merged 3 commits into from
Feb 3, 2021
Merged

Tweak Ubuntu source install #136

merged 3 commits into from
Feb 3, 2021

Conversation

chapulina
Copy link
Contributor

I was setting up a new machine and noticed some places that could use improvements.

Signed-off-by: Louise Poubel <[email protected]>
@chapulina chapulina added the documentation Improvements or additions to documentation label Jan 27, 2021
@chapulina chapulina requested a review from maryaB-osr as a code owner January 27, 2021 03:19
@github-actions github-actions bot added 🏢 edifice Ignition Edifice 🏰 citadel Ignition Citadel 🔮 dome Ignition Dome labels Jan 27, 2021
Signed-off-by: Louise Poubel <[email protected]>
@chapulina chapulina requested a review from ahcorde February 2, 2021 19:07
Copy link
Contributor

@ahcorde ahcorde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

small comment in the troubleshooting section

edifice/troubleshooting.md Outdated Show resolved Hide resolved
@chapulina chapulina merged commit 8eaca60 into master Feb 3, 2021
@chapulina chapulina deleted the chapulina/install_tweaks branch February 3, 2021 01:54
@mabelzhang
Copy link
Contributor

I ran the latest tutorial in a Docker container, and the dependencies line seems not very reliable.

$ sudo apt -y install \
>   $(sort -u $(find . -iname 'packages-'`lsb_release -cs`'.apt' -o -iname 'packages.apt') | sed '/ignition\|sdf/d' | tr '\n' ' ')
E: Command line option '0' [from -0400] is not understood in combination with the other options.

When I run just the sort part, I get:

$ sort -u $(find . -iname 'packages-'`lsb_release -cs`'.apt' -o -iname 'packages.apt') | sed '/ignition\|sdf/d' | tr '\n' ' '
0000000000000000000000000000000000000000 7a07a71f6b369aa2fa6223abab80f61001417cb7 Mabel Zhang <[email protected]> 1603134832 -0400	pull: storing head 7a07a71f6b369aa2fa6223abab80f61001417cb7 binutils-dev build-essential cmake curl freeglut3-dev libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libbenchmark-dev libcurl4-openssl-dev libdart-collision-ode-dev libdart-dev libdart-external-ikfast-dev libdart-external-odelcpsolver-dev libdart-utils-urdf-dev libeigen3-dev libfreeimage-dev libgflags-dev libglew-dev libgts-dev libjsoncpp-dev libogre-1.9-dev libogre-2.1-dev libprotobuf-dev libprotoc-dev libsqlite3-dev libswscale-dev libtinyxml2-dev liburdfdom-dev libwebsockets-dev libxi-dev libxml2-utils libxmu-dev libyaml-dev libzip-dev libzmq3-dev pkg-config protobuf-compiler python-psutil python-yaml qml-module-qt-labs-folderlistmodel qml-module-qt-labs-platform qml-module-qt-labs-settings qml-module-qtcharts qml-module-qtgraphicaleffects qml-module-qtqml-models2 qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtquick-layouts qml-module-qtquick-templates2 qml-module-qtquick-window2 qml-module-qtquick2 qtbase5-dev qtdeclarative5-dev qtquickcontrols2-5-dev rubocop ruby ruby-dev ruby-ronn swig uuid-dev xvfb

I'm not sure why it has all the junk in the beginning. The effect is that the sudo apt line doesn't install anything, and I get compiler errors about ruby, eigen3, protobuf, etc., everything missing.

@chapulina
Copy link
Contributor Author

Ohh maybe it needs this fix?

gazebo-tooling/release-tools#323

@mabelzhang
Copy link
Contributor

Ah, that does look a lot better:

$ sort -u $(find . -iname 'packages-'`lsb_release -cs`'.apt' -o -iname 'packages.apt' | grep -v '/\.git/') | sed '/ignition\|sdf/d' | tr '\n' ' '
binutils-dev curl freeglut3-dev libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libbenchmark-dev libcurl4-openssl-dev libdart-collision-ode-dev libdart-dev libdart-external-ikfast-dev libdart-external-odelcpsolver-dev libdart-utils-urdf-dev libeigen3-dev libfreeimage-dev libgflags-dev libglew-dev libgts-dev libjsoncpp-dev libogre-1.9-dev libogre-2.1-dev libprotobuf-dev libprotoc-dev libsqlite3-dev libswscale-dev libtinyxml2-dev liburdfdom-dev libwebsockets-dev libxi-dev libxml2-utils libxmu-dev libyaml-dev libzip-dev libzmq3-dev pkg-config protobuf-compiler python-psutil python-yaml qml-module-qt-labs-folderlistmodel qml-module-qt-labs-platform qml-module-qt-labs-settings qml-module-qtcharts qml-module-qtgraphicaleffects qml-module-qtqml-models2 qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-dialogs qml-module-qtquick-layouts qml-module-qtquick-templates2 qml-module-qtquick-window2 qml-module-qtquick2 qtbase5-dev qtdeclarative5-dev qtquickcontrols2-5-dev ruby ruby-dev ruby-ronn swig uuid-dev xvfb

@mabelzhang
Copy link
Contributor

mabelzhang commented Feb 5, 2021

#141 fixes the command

@mabelzhang
Copy link
Contributor

mabelzhang commented Feb 5, 2021

Ah I forgot to say, there was still some packages not installed after all the above.
python-psutil was not enough, I think, because I still got:

--- stderr: sdformat10                                                                                                                                                                                     
CMake Warning at CMakeLists.txt:214 (message):
  -- BUILD WARNINGS
CMake Warning at CMakeLists.txt:216 (message):
  -- 	Python psutil package not found.  Memory leak tests will be skipped
CMake Warning at CMakeLists.txt:218 (message):
  -- END BUILD WARNINGS

It went away after I installed python3-psutil. This was Ubuntu 20.04.

Similarly for doxygen. I got both an error and a warning from sdformat/doc/CMakeLists.txt, which went away after I installed it:

CMake Warning at /usr/share/cmake-3.16/Modules/FindDoxygen.cmake:447 (message):
  Unable to determine doxygen version: No such file or directory
Call Stack (most recent call first):
  /usr/share/cmake-3.16/Modules/FindDoxygen.cmake:610 (_Doxygen_find_doxygen)
  doc/CMakeLists.txt:1 (find_package)

CMake Error at /usr/share/cmake-3.16/Modules/FindDoxygen.cmake:689 (message):
  Unable to generate Doxyfile template: No such file or directory
Call Stack (most recent call first):
  doc/CMakeLists.txt:1 (find_package)

It looks like the command does look for sdf... so I'm not sure how to get this into the list programmatically.

@chapulina
Copy link
Contributor Author

there was still some packages not installed after all the above.

I believe the idea is to leave the optional tooling packages out, because most users will not want them. If someone wants to run memory leak tests or generate docs, they should install those dependencies separately.

@mabelzhang
Copy link
Contributor

mabelzhang commented Feb 5, 2021

Then the Doxygen should be a warning, not an error, right?

The sort command also outputted python-psutil, which is only needed for sdformat/cmake/SearchForStuff.cmake. That one is a warning, but we are already sudo apt installing python-psutil, we should also (or instead) install python3-psutil. Otherwise that package we get the user to install is not doing anything right now.

@chapulina
Copy link
Contributor Author

Then the Doxygen should be a warning, not an error, right?

Oh yeah I didn't realize it was an error. It's interesting that CI is not complaining, I wonder what's the difference in the setup. Doxygen version perhaps?

we are already sudo apt installing python-psutil, we should also (or instead) install python3-psutil

You're right, I think python3-psutil may work from Bionic, so it could just be updated here:

https://github.com/osrf/sdformat/blob/master/.github/ci/packages.apt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏰 citadel Ignition Citadel documentation Improvements or additions to documentation 🔮 dome Ignition Dome 🏢 edifice Ignition Edifice
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Ubuntu] When installing from source, installing dependencies also tries to install ignition packages
3 participants