This was verified on Mantic with -proposed (1:5.0.1-0ubuntu8~23.10.1). Here's how:
$ lxc launch ubuntu-daily:23.10 c2 Creating c2 Starting c2 $ lxc shell c2 root@c2:~# apt-get update ... root@c2:~# apt-get install -Vy liblxc-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: ... liblxc-common (1:5.0.1-0ubuntu7) liblxc1 (1:5.0.1-0ubuntu7) ... lxcfs (5.0.3-1) .. root@c2:~# dpkg -l | grep liblxc-dev ii liblxc-dev 1:5.0.1-0ubuntu7 amd64 Linux Containers userspace tools (development) root@c2:~# grep LXC_DEVEL /usr/include/lxc/version.h #define LXC_DEVEL 1 # enable -proposed root@c2:~# apt-get update ... root@c2:~# apt-get install -t mantic-proposed -Vy liblxc-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: liblxc-common (1:5.0.1-0ubuntu8~23.10.1) liblxc1 (1:5.0.1-0ubuntu8~23.10.1) The following packages will be upgraded: liblxc-common (1:5.0.1-0ubuntu7 => 1:5.0.1-0ubuntu8~23.10.1) liblxc-dev (1:5.0.1-0ubuntu7 => 1:5.0.1-0ubuntu8~23.10.1) liblxc1 (1:5.0.1-0ubuntu7 => 1:5.0.1-0ubuntu8~23.10.1) 3 upgraded, 0 newly installed, 0 to remove and 5 not upgraded. Need to get 1804 kB of archives. ... root@c2:~# grep LXC_DEVEL /usr/include/lxc/version.h #define LXC_DEVEL 0 ** Tags removed: verification-needed verification-needed-mantic ** Tags added: verification-done verification-done-mantic -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to lxc in Ubuntu. https://bugs.launchpad.net/bugs/2039873 Title: [SRU] liblxc-dev was built with LXC_DEVEL=1 in Ubuntu 22.04 and later releases Status in lxc package in Ubuntu: Fix Released Status in lxc source package in Jammy: Fix Committed Status in lxc source package in Mantic: Fix Committed Status in lxc source package in Noble: Fix Released Bug description: [ 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 ] - To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/2039873/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp