[Bug 2039873] [NEW] liblxc-dev was built with LXC_DEVEL=1 in Ubuntu 22.04 and later releases

Launchpad Bug Tracker 2039873 at bugs.launchpad.net
Thu Jan 4 15:39:30 UTC 2024


You have been subscribed to a public bug by Robie Basak (racb):

[ Impact ]

LXC 5.0.0 was built with LXC_DEVEL=1 set for Jammy. But for release
build we should have LXC_DEVEL=0.

LXC_DEVEL is a variable that appears in the /usr/include/lxc/version.h
and then can be (and actually it is) used by other projects to detect if
liblxc-dev is a development build or stable.

Having LXC_DEVEL=1 makes problems for the users who want to build projects those are depend on liblxc
from source (for example, LXD, go-lxc: https://github.com/canonical/lxd/pull/12420).

Q: Why it was not a problem for so long?
A: Because LXC API was stable for a long time, but recently we have extended liblxc API (https://github.com/lxc/lxc/pull/4260) and dependant package go-lxc was updated too (https://github.com/lxc/go-lxc/pull/166).
This change was developed properly to be backward compatible with the old versions of liblxc. But, there is a problem. If LXC_DEVEL=1 then the macro check VERSION_AT_LEAST (https://github.com/lxc/go-lxc/blob/ccae595aa49e779f7ecc9250329967aa546acd31/lxc-binding.h#L7) is disabled. That's why we should *not* have LXC_DEVEL=1 for *any* release build of LXC.

[ Test Plan ]

Install liblxc-dev package and check /usr/include/lxc/version.h file
LXC_DEVEL should be 0

[ Where problems could occur ]

Theoretically, build of a software which depends on liblxc-dev may start to fail
if it assumes that LXC_DEVEL is 1.

[ Other Info ]

-

** Affects: lxc (Ubuntu)
     Importance: Undecided
         Status: Confirmed


** Tags: patch
-- 
liblxc-dev was built with LXC_DEVEL=1 in Ubuntu 22.04 and later releases
https://bugs.launchpad.net/bugs/2039873
You received this bug notification because you are a member of Ubuntu Sponsors, which is subscribed to the bug report.



More information about the Ubuntu-sponsors mailing list