Page MenuHomeVyOS Platform

Race condition in `kea` package build
Closed, ResolvedPublic

Description

This one is quite interesting. Because the package.toml file for the kea package doesn't specify a build command, it defaults to running dpkg-buildpackage -uc -us -tc -F against the cloned git repo. This is a problem because, by default, dpkg-buildpackage runs tasks in parallel (the limit is defined as auto, but seems to be based off the number of processors the system has), and there's a component being compiled in kea that other make tasks rely on, but ends up sometimes not being built in time for the dependent task to run successfully.

The easiest fix here appears to be adding a build command to kea's package.toml that specifies the additional argument -j1 to the original dpkg-buildpackage command, which reverts dpkg-buildpackage's behaviour to serial execution of tasks.

Details

Version
-
Is it a breaking change?
Perfectly compatible
Issue type
Internal change (not visible to end users)

Event Timeline

MattK created this object in space S1 VyOS Public.

Also just discovered this at the end of the configure results output before kea starts building:

When running "make install" do not use any form of parallel or job server options (such as GNU make's -j option). Doing so may cause errors.

Seems rather conclusive.

Can't be bothered trying to contribute to this project any more.