I’m trying to install a new version of lxc in an older debian system (9.13) on an armhf device which can’t be upgraded (Asus Tinkerboard), and the repo lxc is not compatible with current templates.
I have pulled the stable-4.0 branch from here: https://github.com/lxc/lxc
and do the standard
lxc-create and other commands report as version 2.0.7, and fail because of the issue reported here: https://github.com/lxc/lxc/issues/3960
This is not me being confused about
$PATH; the distro version has been uninstalled.
My question here is about an oddity with the install described in this comment: https://github.com/lxc/lxc/issues/3960#issuecomment-911844741
I was using the master and stable-40 branch. Because the version reports wrong, I thought perhaps I had pulled the repo wrong, so I’ve gone through this again. Here’s the funny bit: After make install,
/usr/local/bin/lxc-createreports as 2.0.7 and throws the undefined symbol error. So does
lxc/src/lxc/.libs/lxc-create(which is what make installed). However,
lxc/src/lxc/lxc-create(the shell script one level up) reports 4.0.10. But there’s more:
lxc/src/lxc/.libs/lt-lxc-create(something which is not installed by make) reports 4.0.10 and !! works when
lxc-createin the same directory does not. So right now it appears I’ve gotten my wish (it installed a fedora 35 image), hopefully I can sort it out (since other commands like
2.0.7and do not have an
Obviously this is not right: The tools being built report a different version than what is in the toplevel Makefile (4.0.10) and there is no confusion here: It is easy to confirm the executables in
/usr/local are the ones installed from
lxc/src/lxc/.libs, which is where the
lt-lxc-create binary is that reports the correct version and works (or so far so good).
What’s up with this? Does anyone know why this happens?
In the end it seems I may be out of luck no matter what: I copied the scripts which correlate to the lxc commands (in
lxc/src/lxc), and which return the correct version, to a directory at the top of
$PATH and tried to use a container:
> lxc-start -n fedora35 -l DEBUG -F lxc-start: foobar: utils.c: lxc_can_use_pidfd: 1772 Kernel does not support pidfds
A work-around for this is really a separate question…