Closed lxwinspur closed 4 years ago
I get the same failure. Something must have changed in the latest pull.
Cloned sdbusplus and openbmc-build-scripts into /tmp/foo:
$ WORKSPACE=/tmp/foo UNIT_TEST_PKG=sdbusplus ./run-unit-test-docker.sh
Results in:
The following packages have unmet dependencies:
libsystemd-dev : Depends: libsystemd0 (= 245.4-4ubuntu3.1) but 245.4-4ubuntu3 is to be installed
systemd : Depends: libsystemd0 (= 245.4-4ubuntu3.1) but 245.4-4ubuntu3 is to be installed
E: Unable to correct problems, you have held broken packages.
docker image ls
shows:
ubuntu focal 1d622ef86b13 4 weeks ago
If I run:
docker run --rm -it ubuntu:focal
apt-get update && apt-get install systemd libsystemd-dev
This would run successfully and indicates it is updating libsystemd0
. I suspect something in the larger package list is pinning libsystemd0 back at an older version.
libsystemd-dbgsym
only exists after some modification of the sources.list.d to add the debug-debs repo.
RUN apt-get update && ( apt-get install ubuntu-dbgsym-keyring || ( apt-get install -yy dirmngr && \
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F2EDC64DC5AEE1F6B9C621F0C8CAB6595FDFF622 ) )
# Parse the current repo list into a debug repo list
RUN sed -n '/^deb /s,^deb [^ ]* ,deb http://ddebs.ubuntu.com ,p' /etc/apt/sources.list >/etc/apt/sources.list.d/debug.list
# Remove non-existent debug repos
RUN sed -i '/-\(backports\|security\) /d' /etc/apt/sources.list.d/debug.list
RUN cat /etc/apt/sources.list.d/debug.list
Once these are done, libsystemd-dbgsym is available but it is pointing to an older version:
root@30d11595f1e7:/# apt policy libsystemd0
libsystemd0:
Installed: 245.4-4ubuntu3
Candidate: 245.4-4ubuntu3.1
Version table:
245.4-4ubuntu3.1 500
500 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
*** 245.4-4ubuntu3 500
500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
100 /var/lib/dpkg/status
root@30d11595f1e7:/# apt policy libsystemd0-dbgsym
libsystemd0-dbgsym:
Installed: (none)
Candidate: 245.4-4ubuntu3
Version table:
245.4-4ubuntu3 500
500 http://ddebs.ubuntu.com focal/main amd64 Packages
It seems like upstream missed updating the dbgsym package?
I hit this as well, where it does look like there's some version discrepancies upstream on the systemd packages. It seems to be between what's in focal LTS
and focal-updates
?
https://packages.ubuntu.com/search?keywords=libsystemd-dev
FWIW, I was able to workaround this by setting explicit versions on the following packages in build-unit-test-docker.sh
libsystemd0=245.4-4ubuntu3 \
libsystemd-dev=245.4-4ubuntu3 \
systemd=245.4-4ubuntu3 \
@williamspatrick Would we want to push this workaround fix up until the dependencies upstream get fixed?
We could also remove libsystemd0-dbgsym for the time being.
I don't have a preference.
Resolved by https://gerrit.openbmc-project.xyz/32841
Recently, I pulled openbmc-build-scripts (commit: 80d0728e6d5d3d623cda26a1bfe93d2eac4a8d3e) and ran the run-unit-test-docker.sh script, and prompted me that the missing libsystmed0 (= 245.4-4ubuntu3.1) dependency would cause the unit test to run docker The script failed. I did the following and still failed: ran the command on my system(ubuntu18.04):
Error message:
Looking forward to your reply. thanks.