podman.io_old icon indicating copy to clipboard operation
podman.io_old copied to clipboard

Dependencies inconsistent with `crun`

Open phlummox opened this issue 2 years ago • 7 comments

Currently, the installation instructions for building Podman from source say that pkg-config is a prerequisite for building Podman on Ubuntu, but they also suggest that it may be necessary to build crun or runc from source if the version isn't recent enough (which in my case it wasn't) – and the build instructions for crun state that pkgconf needs to be installed to build crun.

At least on Ubuntu 20.04, it's not possible to have both pkgconf and pkg-config installed at the same time. Is pkgconf sufficient for building Podman, or do I have to install pkgconf, build crun, then uninstall pkgconf and install pkg-config before I build Podman?

I also wondered why there was this inconsistency, when both Podman and crun are projects in the containers GitHub organisation – should one or the other be amended so that they're both the same?

phlummox avatar Oct 01 '22 16:10 phlummox

Sorry @phlummox, this fell into my bit bucket, and unfortunately, I don't have the Ubuntu savvy to answer the questions. @lsm5 do you by chance know or know who might?

TomSweeneyRedHat avatar Oct 25 '22 21:10 TomSweeneyRedHat

@giuseppe PTAL. do you know if the crun build instructions can use pkg-config instead of pkgconf on ubuntu?

lsm5 avatar Oct 27 '22 10:10 lsm5

I think pkg-config should be fine.

@phlummox have you tried building crun with pkg-config? Have you found any issue?

giuseppe avatar Oct 27 '22 10:10 giuseppe

I haven't tried building crun with pkg-config yet. I'll let you know once I do.

phlummox avatar Nov 01 '22 01:11 phlummox

Just a heads up to anyone who runs into this: I've found that the binary available at https://github.com/containers/crun/releases/download/<VERSION>/crun-<VERSION>-linux-amd64 works just great on Ubuntu 22.04. Thanks to this, I have not needed to try to build crun from source, while I do build conmon (due to lack of journald logging support on the binary release, see https://github.com/containers/conmon/issues/348) and Podman itself.

In addition to crun, I'm able to use the binary releases of netavark and aardvark-dns as-is.

jklaiho avatar Mar 14 '23 14:03 jklaiho

Apologies, I haven't had a chance to come back to this. @jklaiho, it's definitely good to hear that the downloadable binaries work well on Ubuntu. But I also think it's reasonable for an open-source project to make it clear how users can build their own binaries, rather than relying on a third party's. cheers.

phlummox avatar Mar 15 '23 06:03 phlummox

crun uses automake/autoconf, so if you have the correct libraries installed it is just a matter of running ./autogen.sh && ./configure && make. More details are in the crun README.md file.

giuseppe avatar Mar 16 '23 08:03 giuseppe