Bug #536
closedCannot build coreboot-sdk
0%
Description
I have just tried building coreboot-sdk from scratch and could not get past the step of installing the required packages. Found out that diffutils dependency on libcurl4t64 break libcurl4 (change apt-get to apt to see verbose information message like below):
> [coreboot-sdk 2/4] RUN useradd -p locked -m coreboot && apt-get -qq update && apt -qqy install --no-install-recommends bash-completion bc bison bsdextrautils bzip2 ca-certificates ccache cmake cscope curl device-tree-compiler dh-autoreconf diffutils exuberant-ctags flex g++ gawk gcc git gnat-13 golang graphicsmagick-imagemagick-compat graphviz lcov less libcapture-tiny-perl libcrypto++-dev libcurl4 libcurl4-openssl-dev libdatetime-perl libelf-dev libfreetype-dev libftdi1-dev libglib2.0-dev libgmp-dev libgpiod-dev libjaylink-dev liblzma-dev libnss3-dev libncurses-dev libpci-dev libreadline-dev libssl-dev libtimedate-perl libusb-1.0-0-dev libxml2-dev libyaml-dev m4 make meson msitools neovim ninja-build openssh-client openssl parted patch pbzip2 pkg-config python3 python-is-python3 qemu-system-arm qemu-system-misc qemu-system-ppc qemu-system-x86 rsync sharutils shellcheck unifont unzip uuid-dev vim-common wget xz-utils zlib1g-dev && apt-get clean:
2.106
2.106 WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
2.106
2.841 diffutils is already the newest version (1:3.10-1).
2.841 diffutils set to manually installed.
2.841 Some packages could not be installed. This may mean that you have
2.841 requested an impossible situation or if you are using the unstable
2.841 distribution that some required packages have not yet been created
2.841 or been moved out of Incoming.
2.841 The following information may help to resolve the situation:
2.841
2.841 Unsatisfied dependencies:
3.001 libcurl4t64 : Breaks: libcurl4 (< 8.7.1-3)
3.004 Error: Unable to correct problems, you have held broken packages.
Changing libcurl4 to libcurl4t64 allows the docker to continue the build process of coreboot-sdk. But is this the right thing to do?
Updated by Felix Singer 7 months ago · Edited
I don't know, but I rebuilt the containers with testing instead of Sid weeks ago when the xz drama happened, since Sid didn't work for me either. I pushed new containers for last stable release and current main branch to Dockerhub.
Edit: https://hub.docker.com/r/coreboot/coreboot-sdk/tags
testing is based on current main branch, latest is based on last release.
Updated by Nico Huber 7 months ago
Why explicitly specify libcurl4
anyway? If it's a dependency, apt-get
can solve it. If we want to build anything with it, we need one of the -dev
variants instead.
Updated by Michał Żygowski 7 months ago
Nico Huber wrote in #note-2:
Why explicitly specify
libcurl4
anyway? If it's a dependency,apt-get
can solve it. If we want to build anything with it, we need one of the-dev
variants instead.
Good point. Removing libcurl4 from the package list works too. I guess it is a good idea to let the package manager handle dependencies and conflicts.
Updated by Michał Żygowski 7 months ago
Patch: https://review.coreboot.org/c/coreboot/+/82066
Couldn't build coreboot-sdk completely, because gerrit is having some troubles (getting 504 when cloning or accessing it via browser)
Updated by Felix Singer 7 months ago
Michał Żygowski wrote in #note-4:
Patch: https://review.coreboot.org/c/coreboot/+/82066
Couldn't build coreboot-sdk completely, because gerrit is having some troubles (getting 504 when cloning or accessing it via browser)
I've retriggered the build task. Seems like Gerrit had a hiccup.
Updated by Martin Roth 6 months ago
I just tested this, and was able to reproduce your result with the current dockerfile. I then broke the dockerfile into 4 steps to test a bit.
step 1. install everything through libcrypto++-dev
step 2. install libcurl4
step 3. install libcurl4-openssl-dev
step 4. install everything else.
And... of course that worked just fine.
Obviously we don't want to actually do that, but it seems to show that it's some weirdness with the install process on debian sid. Honestly, I'm tired of dealing with sid, so I think we're going to look at the possibility of switching to stable, as that's probably a better representation of what people might be using on their own systems.
Updated by Martin Roth 6 months ago
- Status changed from New to In Progress
Pushed https://review.coreboot.org/c/coreboot/+/82411 to switch from debian sid to debian stable.
If/After that's merged, we can close this issue.