LXC 5.0.0 was built with LXC_DEVEL=1 set. 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).
And also, as I can see the source code that was used to build LXC 5.0.0 in Jammy/Kinetic is not precisely the same as in the official LXC 5.0.0 tag (https://github.com/lxc/lxc/tree/lxc-5.0.0).
I understand that Jammy is a LTS release and making any changes is a problem and we should go through the SRU process. But I believe that we have to do something at least with LXC_DEVEL to make things work properly.
Dear colleagues,
As I can see from: /git.launchpad. net/ubuntu/ +source/ lxc/tree/ configure? h=applied/ ubuntu/ jammy /git.launchpad. net/ubuntu/ +source/ lxc/tree/ configure? h=applied/ ubuntu/ kinetic
- https:/
- https:/
LXC 5.0.0 was built with LXC_DEVEL=1 set. 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 /github. com/canonical/ lxd/pull/ 12420).
from source (for example, LXD, go-lxc: https:/
Q: Why it was not a problem for so long? /github. com/lxc/ lxc/pull/ 4260) and dependant package go-lxc was updated too (https:/ /github. com/lxc/ go-lxc/ pull/166). /github. com/lxc/ go-lxc/ blob/ccae595aa4 9e779f7ecc92503 29967aa546acd31 /lxc-binding. h#L7) is disabled. That's why we should *not* have LXC_DEVEL=1 for *any* release build of LXC.
A: Because LXC API was stable for a long time, but recently we have extended liblxc API (https:/
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:/
And also, as I can see the source code that was used to build LXC 5.0.0 in Jammy/Kinetic is not precisely the same as in the official LXC 5.0.0 tag (https:/ /github. com/lxc/ lxc/tree/ lxc-5.0. 0).
I understand that Jammy is a LTS release and making any changes is a problem and we should go through the SRU process. But I believe that we have to do something at least with LXC_DEVEL to make things work properly.
Kind regards,
Alex