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

Failed to install libceres-dev on humble #439

Open
koonpeng opened this issue Jul 4, 2022 · 4 comments
Open

Failed to install libceres-dev on humble #439

koonpeng opened this issue Jul 4, 2022 · 4 comments
Labels
bug Something isn't working

Comments

@koonpeng
Copy link
Contributor

koonpeng commented Jul 4, 2022

Bug report

Required information:

  • Operating system and version:
    • ubuntu 22.04
  • OpenRMF installation type:
    • source
  • OpenRMF version or commit hash
    • main
  • ROS distribution and version:
    • humble
  • ROS installation type:
    • binaries
  • Package or library, if applicable:
    • libceres-dev

Description of the bug

The ros ci tooling fail to install libceres-dev, logs can be found here https://github.com/open-rmf/rmf/runs/7175224381?check_suite_focus=true#step:5:2526.

Steps to reproduce the bug

Only happens in CI, wasn't able to reproduce locally or in docker. Happens consistently in this PR open-rmf/rmf#165.

@koonpeng koonpeng added the bug Something isn't working label Jul 4, 2022
@orensbruli
Copy link
Contributor

orensbruli commented Aug 22, 2022

I'm taking a look into this.
It looks like there's some conflict between the humble dependences installed by the step

      - name: deps
        uses: ros-tooling/setup-ros@v0.3
        with:
          required-ros-distributions: humble

and the package libceres-dev.

If libceres-dev is installed in a previous step, it's uninstalled by the ros-tooling/setup-ros@v0.3.

| [command]/usr/bin/sudo DEBIAN_FRONTEND=noninteractive RTI_NC_LICENSE_ACCEPTED=yes apt-get install --no-install-recommends --quiet --yes libssl-dev python3-dev build-essential clang cmake git lcov libc++-dev libc++abi-dev python3-catkin-pkg-modules python3-pip python3-vcstool wget libasio-dev libtinyxml2-dev python3-rosdep
| Reading package lists...
| Building dependency tree...
| Reading state information...
| wget is already the newest version (1.21.2-2ubuntu1).
| libssl-dev is already the newest version (3.0.2-0ubuntu1.6).
| git is already the newest version (1:2.37.2-0ppa1~ubuntu22.04.1).
| The following packages were automatically installed and are no longer required:
|   libamd2 libblas-dev libblas3 libbtf1 libcamd2 libccolamd2 libceres2
|   libcholmod3 libcolamd2 libcxsparse3 libeigen3-dev libgflags-dev libgflags2.2
|   libgfortran5 libgoogle-glog0v5 libgraphblas-dev libgraphblas6 libklu1
|   liblapack-dev liblapack3 libldl2 libmetis5 libmongoose2 librbio2 libsliplu1
|   libspqr2 libsuitesparse-dev libsuitesparseconfig5 libumfpack5
| Use 'sudo apt autoremove' to remove them.
| The following additional packages will be installed:
|   clang-14 cmake-data dh-elpa-helper docutils-common emacsen-common
|   lib32gcc-s1 lib32stdc++6 libarchive13 libc++-14-dev libc++1-14
|   libc++abi-14-dev libc++abi1-14 libc6-i386 libclang-common-14-dev
|   libclang-cpp14 libclang1-14 libgc1 libjs-jquery libjs-sphinxdoc
|   libjs-underscore libjson-perl libjsoncpp25 libllvm14 libobjc-11-dev libobjc4
|   libperlio-gzip-perl libpython3-dev libpython3.10 libpython3.10-dev librhash0
|   libtinyxml2-9 libunwind-14 libunwind-14-dev libuv1 llvm-14-linker-tools
|   python3-dateutil python3-docutils python3-roman python3-rosdep-modules
|   python3-rosdistro-modules python3-rospkg-modules python3-setuptools
|   python3-wheel python3-yaml python3.10-dev sgml-base xml-core
| Suggested packages:
|   clang-14-doc cmake-doc ninja-build cmake-format lrzip docutils-doc
|   fonts-linuxlibertine | ttf-linux-libertine texlive-lang-french
|   texlive-latex-base texlive-latex-recommended python-setuptools-doc
|   sgml-base-doc debhelper
| Recommended packages:
|   llvm-14-dev libgd-gd2-perl libboost-regex-dev libboost-dev
|   libboost-date-time-dev javascript-common libjson-xs-perl libpaper-utils
|   python3-pil python3-pygments
| The following packages will be REMOVED:
|   libceres-dev libgoogle-glog-dev libunwind-dev
| The following NEW packages will be installed:
|   build-essential clang clang-14 cmake cmake-data dh-elpa-helper
|   docutils-common emacsen-common lcov lib32gcc-s1 lib32stdc++6 libarchive13
|   libasio-dev libc++-14-dev libc++-dev libc++1-14 libc++abi-14-dev
|   libc++abi-dev libc++abi1-14 libc6-i386 libclang-common-14-dev libclang-cpp14
|   libclang1-14 libgc1 libjs-jquery libjs-sphinxdoc libjs-underscore
|   libjson-perl libjsoncpp25 libllvm14 libobjc-11-dev libobjc4
|   libperlio-gzip-perl libpython3-dev libpython3.10 libpython3.10-dev librhash0
|   libtinyxml2-9 libtinyxml2-dev libunwind-14 libunwind-14-dev libuv1
|   llvm-14-linker-tools python3-catkin-pkg-modules python3-dateutil python3-dev
|   python3-docutils python3-pip python3-roman python3-rosdep
|   python3-rosdep-modules python3-rosdistro-modules python3-rospkg-modules
|   python3-setuptools python3-vcstool python3-wheel python3-yaml python3.10-dev
|   sgml-base xml-core
| 0 upgraded, 60 newly installed, 3 to remove and 8 not upgraded.

If installed after, we get the conflict.

Hit:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:2 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy InRelease
Hit:3 http://archive.ubuntu.com/ubuntu jammy InRelease
Hit:4 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease
Hit:5 http://archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:6 http://archive.ubuntu.com/ubuntu jammy-backports InRelease
Hit:7 http://packages.ros.org/ros2/ubuntu jammy InRelease
Hit:8 https://packagecloud.io/github/git-lfs/ubuntu jammy InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
| 8 packages can be upgraded. Run 'apt list --upgradable' to see them.
| W: http://packages.ros.org/ros2/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
| Starting pkgProblemResolver with broken count: 1
| Starting 2 pkgProblemResolver with broken count: 1
| Investigating (0) libunwind-14-dev:amd64 < 1:14.0.0-1ubuntu1 @ii K Ib >
| Broken libunwind-14-dev:amd64 Breaks on libunwind-dev:amd64 < none -> 1.3.2-2build2 @un puN >
|   Considering libunwind-dev:amd64 -1 as a solution to libunwind-14-dev:amd64 2
| Done
| Some packages could not be installed. This may mean that you have
| requested an impossible situation or if you are using the unstable
| distribution that some required packages have not yet been created
| or been moved out of Incoming.
| The following information may help to resolve the situation:
|
| The following packages have unmet dependencies:
|  libunwind-14-dev : Breaks: libunwind-dev but 1.3.2-2build2 is to be installed
| E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

@orensbruli
Copy link
Contributor

orensbruli commented Aug 23, 2022

Reverse dependencies analysis and conflict path:
In the ros-tooling/setup-ros@v0.3 we are asking to install
libc++-dev --> libc++-14-dev --> libunwind-14-dev
but one of the direct dependences of rmf_traffic_editor is:
rmf_traffic_editor --> libceres-dev --> libgoogle-glog-dev --> libunwind-dev

Minimum example of the conflict: try to install both packages in an ubuntu 22.04:
apt update; apt install libc++-dev libceres-dev

@orensbruli
Copy link
Contributor

orensbruli commented Aug 23, 2022

Possible solutions:

@luca-della-vedova
Copy link
Member

From what I understand this should be solved as of ros-tooling/setup-ros#506 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants