Cinder icon indicating copy to clipboard operation
Cinder copied to clipboard

Installation of dependencies on Ubuntu 18.04 wants to remove ROS, Ignition and other packages

Open pauljurczak opened this issue 4 years ago • 4 comments

I'm following installation notes from https://libcinder.org/docs/branch/master/guides/linux-notes/ubuntu.html on Ubuntu 18.04.5, which has numerous optional packages installed, e.g. ROS, Python, Ignition, etc.. Here is what I'm getting trying to install required Cinder dependencies:

All packages are up to date.
paul@desktop:~$ sudo apt install libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev zlib1g-dev libfontconfig1-dev libcurl4-gnutls-dev libmpg123-dev libsndfile1 libsndfile1-dev libpulse-dev libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-alsa gstreamer1.0-pulseaudio gstreamer1.0-plugins-bad
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libfontconfig1-dev is already the newest version (2.12.6-0ubuntu2).
libfontconfig1-dev set to manually installed.
libglu1-mesa-dev is already the newest version (9.0.0-2.1build1).
libxcursor-dev is already the newest version (1:1.1.15-1).
libxcursor-dev set to manually installed.
libxi-dev is already the newest version (2:1.7.9-1).
libxinerama-dev is already the newest version (2:1.1.3-1).
libxinerama-dev set to manually installed.
libxrandr-dev is already the newest version (2:1.5.1-1).
zlib1g-dev is already the newest version (1:1.2.11.dfsg-0ubuntu2).
zlib1g-dev set to manually installed.
gstreamer1.0-alsa is already the newest version (1.14.5-0ubuntu1~18.04.1).
gstreamer1.0-alsa set to manually installed.
gstreamer1.0-pulseaudio is already the newest version (1.14.5-0ubuntu1~18.04.1).
gstreamer1.0-pulseaudio set to manually installed.
libasound2-dev is already the newest version (1.1.3-5ubuntu0.5).
libgl1-mesa-dev is already the newest version (20.0.8-0ubuntu1~18.04.1).
libpulse-dev is already the newest version (1:11.1-1ubuntu7.11).
libpulse-dev set to manually installed.
libsndfile1 is already the newest version (1.0.28-4ubuntu0.18.04.1).
libsndfile1 set to manually installed.
The following packages were automatically installed and are no longer required:
  cython fonts-lyx freeglut3 hddtemp ignition-gazebo2 libamd2 libarmadillo-dev libarpack2-dev libassimp-dev libassimp4
  libavdevice-dev libavdevice57 libavfilter-dev libblas-dev libbtf1 libbullet-dev libbullet2.87 libcamd2 libccolamd2 libcholmod3
  libcxsparse3 libdap-dev libdapserver7v5 libdart6 libdart6-collision-bullet libdart6-collision-bullet-dev libdart6-collision-ode
  libdart6-collision-ode-dev libdart6-dev libdart6-external-ikfast-dev libdart6-external-odelcpsolver
  libdart6-external-odelcpsolver-dev libdart6-utils libdart6-utils-dev libdart6-utils-urdf libdart6-utils-urdf-dev libepsilon-dev
  libev-dev libfreenect-dev libfreenect0.5 libfreexl-dev libfyba-dev libgdal-dev libgeos-dev libgeotiff-dev libgflags-dev
  libgflags2.2 libgif-dev libgl2ps-dev libgraphblas1 libgts-dev libhdf5-mpi-dev libhdf5-openmpi-dev libignition-cmake2-dev
  libignition-common3-av-dev libignition-common3-core-dev libignition-common3-dev libignition-common3-events-dev
  libignition-common3-graphics-dev libignition-common3-profiler libignition-common3-profiler-dev libignition-fuel-tools3
  libignition-gazebo2 libignition-gazebo2-plugins libignition-gazebo4-plugins libignition-gui2 libignition-gui2-dev
  libignition-gui4-dev libignition-launch libignition-math6-dev libignition-math6-eigen3-dev libignition-msgs4
  libignition-msgs4-dev libignition-msgs6-dev libignition-physics libignition-physics-core-dev libignition-physics-dartsim
  libignition-physics-dartsim-dev libignition-physics-dev libignition-physics-mesh-dev libignition-physics-sdf-dev
  libignition-physics3-core-dev libignition-physics3-dartsim libignition-physics3-dartsim-dev libignition-physics3-dev
  libignition-physics3-mesh-dev libignition-physics3-sdf-dev libignition-physics3-tpe libignition-physics3-tpe-dev
  libignition-physics3-tpelib libignition-physics3-tpelib-dev libignition-plugin-dev libignition-rendering2
  libignition-rendering2-core-dev libignition-rendering2-dev libignition-rendering2-ogre1 libignition-rendering2-ogre1-dev
  libignition-rendering2-ogre2 libignition-rendering2-ogre2-dev libignition-rendering4-core-dev libignition-rendering4-dev
  libignition-rendering4-ogre1 libignition-rendering4-ogre1-dev libignition-rendering4-ogre2 libignition-rendering4-ogre2-dev
  libignition-sensors2 libignition-sensors2-air-pressure libignition-sensors2-air-pressure-dev libignition-sensors2-altimeter
  libignition-sensors2-altimeter-dev libignition-sensors2-camera libignition-sensors2-camera-dev libignition-sensors2-core-dev
  libignition-sensors2-depth-camera libignition-sensors2-depth-camera-dev libignition-sensors2-dev libignition-sensors2-gpu-lidar
  libignition-sensors2-gpu-lidar-dev libignition-sensors2-imu libignition-sensors2-imu-dev libignition-sensors2-lidar
  libignition-sensors2-lidar-dev libignition-sensors2-logical-camera libignition-sensors2-logical-camera-dev
  libignition-sensors2-magnetometer libignition-sensors2-magnetometer-dev libignition-sensors2-rendering
  libignition-sensors2-rendering-dev libignition-sensors2-rgbd-camera libignition-sensors2-rgbd-camera-dev
  libignition-sensors4-air-pressure-dev libignition-sensors4-altimeter-dev libignition-sensors4-camera-dev
  libignition-sensors4-core-dev libignition-sensors4-depth-camera libignition-sensors4-depth-camera-dev libignition-sensors4-dev
  libignition-sensors4-gpu-lidar libignition-sensors4-gpu-lidar-dev libignition-sensors4-imu-dev libignition-sensors4-lidar
  libignition-sensors4-lidar-dev libignition-sensors4-logical-camera-dev libignition-sensors4-magnetometer-dev
  libignition-sensors4-rendering-dev libignition-sensors4-rgbd-camera libignition-sensors4-rgbd-camera-dev
  libignition-sensors4-thermal-camera-dev libignition-tools-dev libignition-transport7 libignition-transport7-core-dev
  libignition-transport7-dev libignition-transport7-log libignition-transport7-log-dev libignition-transport9-core-dev
  libignition-transport9-dev libignition-transport9-log-dev libjs-jquery-ui libjs-sphinxdoc libjs-underscore libjson-c-dev
  libjsoncpp-dev libklu1 libkml-dev libkmlconvenience1 libkmlregionator1 libkmlxsd1 liblapack-dev libldl2 libmetis5
  libminizip-dev libnetcdf-cxx-legacy-dev libode-dev libode6 libogdi3.2-dev libogre-1.9-dev libogre-1.9.0v5 libogre-2.1
  libogre-2.1-dev libopenjp2-7-dev libopenni-dev libopenni-sensor-pointclouds0 libopenni0 libopenni2-0 libopenni2-dev
  libpcl-apps1.8 libpcl-common1.8 libpcl-dev libpcl-features1.8 libpcl-filters1.8 libpcl-io1.8 libpcl-kdtree1.8
  libpcl-keypoints1.8 libpcl-ml1.8 libpcl-octree1.8 libpcl-outofcore1.8 libpcl-people1.8 libpcl-recognition1.8
  libpcl-registration1.8 libpcl-sample-consensus1.8 libpcl-search1.8 libpcl-segmentation1.8 libpcl-stereo1.8 libpcl-surface1.8
  libpcl-tracking1.8 libpcl-visualization1.8 libpoppler-dev libpoppler-private-dev libpostproc-dev libpq-dev libproj-dev
  libprotoc-dev libprotoc10 libqhull-dev libqhull-r7 libqt5charts5 libqt5concurrent5 libqt5designer5 libqt5designercomponents5
  libqt5help5 libqt5opengl5 libqt5opengl5-dev libqt5quickcontrols2-5 libqt5quickparticles5 libqt5quicktemplates2-5
  libqt5quicktest5 libqt5quickwidgets5 libqt5sql5 libqt5sql5-sqlite libqt5test5 libqt5webkit5-dev librbio2 libsdformat10-dev
  libsdformat8 libsdformat8-dev libspatialite-dev libspqr2 libsuitesparse-dev libsuperlu-dev libtheora-dev libumfpack5
  liburiparser-dev libuv1-dev libvtk6-dev libvtk6-java libvtk6-jni libvtk6-qt-dev libvtk6.3-qt libwebp-dev libwebsockets-dev
  libxerces-c-dev libxml2-dev libyaml-dev libzip-dev libzmq3-dev libzzip-0-13 openni-utils protobuf-compiler pyqt5-dev
  python-attr python-autobahn python-automat python-backports.functools-lru-cache python-cairo python-cbor python-click
  python-colorama python-concurrent.futures python-constantly python-cycler python-hyperlink python-incremental python-lz4
  python-matplotlib python-matplotlib-data python-mpi4py python-nacl python-opencv python-opengl python-openssl python-pam
  python-psutil python-pyasn1-modules python-pydot python-pyqt5 python-pyqt5.qtopengl python-pyqt5.qtsvg python-pyqt5.qtwebkit
  python-qrcode python-serial python-service-identity python-snappy python-subprocess32 python-trie python-trollius
  python-twisted python-twisted-bin python-twisted-core python-txaio python-tz python-u-msgpack python-ubjson python-vtk6
  python-wsaccel python-zope.interface qml-module-qt-labs-folderlistmodel qml-module-qt-labs-platform qml-module-qt-labs-settings
  qml-module-qtcharts qml-module-qtgraphicaleffects qml-module-qtquick-controls qml-module-qtquick-controls2
  qml-module-qtquick-dialogs qml-module-qtquick-layouts qml-module-qtquick-privatewidgets qml-module-qtquick-templates2
  qml-module-qtquick-window2 qml-module-qtquick2 qt5-assistant qt5-qmake qt5-qmake-bin qtbase5-dev qtbase5-dev-tools
  qtdeclarative5-dev qtquickcontrols2-5-dev qttools5-dev qttools5-dev-tools qttools5-private-dev ros-melodic-actionlib-tutorials
  ros-melodic-angles ros-melodic-bond-core ros-melodic-bondpy ros-melodic-common-msgs ros-melodic-common-tutorials
  ros-melodic-compressed-depth-image-transport ros-melodic-compressed-image-transport ros-melodic-control-msgs
  ros-melodic-costmap-2d ros-melodic-cv-bridge ros-melodic-diagnostic-aggregator ros-melodic-diagnostic-analysis
  ros-melodic-diagnostic-common-diagnostics ros-melodic-diagnostics ros-melodic-executive-smach ros-melodic-filters
  ros-melodic-find-object-2d ros-melodic-geometry ros-melodic-geometry-tutorials ros-melodic-gl-dependency
  ros-melodic-image-geometry ros-melodic-image-transport ros-melodic-image-transport-plugins
  ros-melodic-interactive-marker-tutorials ros-melodic-interactive-markers ros-melodic-joint-state-publisher
  ros-melodic-kdl-conversions ros-melodic-kdl-parser ros-melodic-kdl-parser-py ros-melodic-laser-geometry ros-melodic-libg2o
  ros-melodic-map-msgs ros-melodic-media-export ros-melodic-mk ros-melodic-move-base-msgs ros-melodic-nodelet-core
  ros-melodic-nodelet-topic-tools ros-melodic-nodelet-tutorial-math ros-melodic-octomap ros-melodic-octomap-msgs
  ros-melodic-pcl-conversions ros-melodic-pcl-msgs ros-melodic-pcl-ros ros-melodic-pluginlib-tutorials
  ros-melodic-python-qt-binding ros-melodic-qt-dotgraph ros-melodic-qt-gui ros-melodic-qt-gui-cpp ros-melodic-qt-gui-py-common
  ros-melodic-qwt-dependency ros-melodic-robot ros-melodic-robot-state-publisher ros-melodic-ros ros-melodic-ros-base
  ros-melodic-ros-comm ros-melodic-ros-core ros-melodic-ros-ign-bridge ros-melodic-ros-ign-image ros-melodic-ros-tutorials
  ros-melodic-rosbash ros-melodic-rosboost-cfg ros-melodic-roscpp-core ros-melodic-roscpp-tutorials ros-melodic-roscreate
  ros-melodic-roslang ros-melodic-roslint ros-melodic-roslisp ros-melodic-rosmake ros-melodic-rosnode ros-melodic-rospy-tutorials
  ros-melodic-roswtf ros-melodic-rqt-action ros-melodic-rqt-bag ros-melodic-rqt-bag-plugins ros-melodic-rqt-common-plugins
  ros-melodic-rqt-console ros-melodic-rqt-dep ros-melodic-rqt-graph ros-melodic-rqt-gui ros-melodic-rqt-gui-cpp
  ros-melodic-rqt-gui-py ros-melodic-rqt-image-view ros-melodic-rqt-launch ros-melodic-rqt-logger-level ros-melodic-rqt-moveit
  ros-melodic-rqt-msg ros-melodic-rqt-nav-view ros-melodic-rqt-plot ros-melodic-rqt-pose-view ros-melodic-rqt-publisher
  ros-melodic-rqt-py-common ros-melodic-rqt-py-console ros-melodic-rqt-reconfigure ros-melodic-rqt-robot-dashboard
  ros-melodic-rqt-robot-monitor ros-melodic-rqt-robot-steering ros-melodic-rqt-runtime-monitor ros-melodic-rqt-service-caller
  ros-melodic-rqt-shell ros-melodic-rqt-srv ros-melodic-rqt-tf-tree ros-melodic-rqt-top ros-melodic-rqt-topic ros-melodic-rqt-web
  ros-melodic-rtabmap ros-melodic-self-test ros-melodic-shape-msgs ros-melodic-smach ros-melodic-smach-msgs ros-melodic-smach-ros
  ros-melodic-stereo-msgs ros-melodic-tf ros-melodic-tf-conversions ros-melodic-tf2-eigen ros-melodic-tf2-kdl
  ros-melodic-theora-image-transport ros-melodic-turtle-actionlib ros-melodic-turtle-tf ros-melodic-turtle-tf2
  ros-melodic-turtlesim ros-melodic-urdf-parser-plugin ros-melodic-urdfdom-py ros-melodic-visualization-marker-tutorials
  ros-melodic-voxel-grid ros-melodic-webkit-dependency ros-melodic-xacro sbcl sdformat8-sdf tcl tcl-dev tcl-vtk6 tcl8.6-dev tk
  tk-dev tk8.6-dev unixodbc-dev vtk6
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  freepats gir1.2-gst-plugins-bad-1.0 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 libdca0 libde265-0 libdvdnav4 libdvdread4
  libfaad2 libflac-dev libfluidsynth1 libgssdp-1.0-3 libgstreamer-opencv1.0-0 libgstreamer-plugins-bad1.0-0
  libgstreamer-plugins-good1.0-dev libgupnp-1.0-4 libgupnp-igd-1.0-4 libkate1 liblilv-0-0 libmjpegutils-2.1-0 libmms0 libmodplug1
  libmpcdec6 libmpeg2encpp-2.1-0 libmplex2-2.1-0 libnice10 libofa0 liborc-0.4-dev liborc-0.4-dev-bin libout123-0 libserd-0-0
  libsord-0-0 libsoundtouch1 libspandsp2 libsratom-0-0 libsrtp2-1 libvo-aacenc0 libvo-amrwbenc0 libvorbis-dev libwildmidi-config
  libwildmidi2 libzbar0
Suggested packages:
  frei0r-plugins libcurl4-doc libgnutls28-dev libidn11-dev libkrb5-dev librtmp-dev libssh2-1-dev fluidr3mono-gm-soundfont
  | timgm6mb-soundfont | fluid-soundfont-gm gstreamer1.0-doc liborc-0.4-doc serdi sordi
The following packages will be REMOVED:
  ignition-blueprint ignition-dome libcurl4-openssl-dev libignition-fuel-tools3-dev libignition-fuel-tools5-dev
  libignition-gazebo2-dev libignition-gazebo4-dev libignition-launch-dev libignition-launch3-dev ros-melodic-desktop
  ros-melodic-librviz-tutorial ros-melodic-resource-retriever ros-melodic-ros-ign ros-melodic-ros-ign-gazebo
  ros-melodic-ros-ign-gazebo-demos ros-melodic-rqt-robot-plugins ros-melodic-rqt-rviz ros-melodic-rtabmap-ros ros-melodic-rviz
  ros-melodic-rviz-plugin-tutorials ros-melodic-rviz-python-tutorial ros-melodic-urdf-tutorial
  ros-melodic-visualization-tutorials ros-melodic-viz
The following NEW packages will be installed:
  freepats gir1.2-gst-plugins-bad-1.0 gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gstreamer1.0-libav
  gstreamer1.0-plugins-bad libcurl4-gnutls-dev libdca0 libde265-0 libdvdnav4 libdvdread4 libfaad2 libflac-dev libfluidsynth1
  libgssdp-1.0-3 libgstreamer-opencv1.0-0 libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-bad1.0-dev
  libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer1.0-dev libgupnp-1.0-4 libgupnp-igd-1.0-4
  libkate1 liblilv-0-0 libmjpegutils-2.1-0 libmms0 libmodplug1 libmpcdec6 libmpeg2encpp-2.1-0 libmpg123-dev libmplex2-2.1-0
  libnice10 libofa0 liborc-0.4-dev liborc-0.4-dev-bin libout123-0 libserd-0-0 libsndfile1-dev libsord-0-0 libsoundtouch1
  libspandsp2 libsratom-0-0 libsrtp2-1 libvo-aacenc0 libvo-amrwbenc0 libvorbis-dev libwildmidi-config libwildmidi2 libzbar0
0 upgraded, 50 newly installed, 24 to remove and 0 not upgraded.
Need to get 35.8 MB of archives.
After this operation, 26.3 MB of additional disk space will be used.
Do you want to continue? [Y/n] n
Abort.
paul@desktop:~$ 

I don't want any changes in my ROS and Ignition installation. What should I do? BTW, installation on another Ubuntu 20.04 system without ROS and Ignition, went fine.

pauljurczak avatar Mar 28 '21 07:03 pauljurczak

Trying minimal build with:

sudo apt install libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev \
zlib1g-dev libfontconfig1-dev libcurl4-gnutls-dev

produces the same list of packages to be removed.

pauljurczak avatar Mar 28 '21 07:03 pauljurczak

This doesn't seem to have to do with Cinder itself but more with how package dependencies are resolved in Ubuntu. It looks like there is a dependency somewhere that is no longer satisfied and the system wants to remove the hanging packages. You could try aptitude why-not to see if you can get more info about the root reason. Also, what do you get if you just run sudo apt update?

PetrosKataras avatar Mar 28 '21 07:03 PetrosKataras

The problem is caused by libcurl4-gnutls-dev. I already have libcurl4-openssl-dev installed and Cinder builds fine with it. Perhaps libcurl4-openssl-dev could be listed as an option to libcurl4-gnutls-dev on the list of dependencies.

pauljurczak avatar Mar 28 '21 07:03 pauljurczak

I had the same issue with libcurl4-gnutls-dev and also resolved by using my existing libcurl4-openssl-dev. Some indication of this option would have saved a lot of time - I believe libcurl4-openssl-dev is the default package on Ubuntu 18.04+.

CorrieVS avatar Mar 27 '22 20:03 CorrieVS