I’ve been running into some issues with my LXD that I build from scratch. Most issues I’ve managed to solve but I’m now running into issues with Docker that I can’t seem to fix.
The main issue I’m not running LXD from the original Snap is that my Ceph version is based on 15, not 14. This is the main reason I build from the source tar when I started this cluster.
I figured what I could do is simply add the official Octopus Ceph repo to the Snap and that would be it but sadly it does not appear to be working.
I started with a minimal change on the 4.0-candidate
branch.
parts:
update-ceph:
plugin: nil
override-pull: |
wget -q -O- 'https://download.ceph.com/keys/release.asc' | sudo apt-key add -
sudo echo "deb https://download.ceph.com/debian-octopus/ bionic main" > /etc/apt/sources.list.d/ceph.list
sudo apt update
…
The first issue I ran into was
make[2]: g++: Command not found
GNUmakefile:67: recipe for target ‘AParser.o’ failed
make[2]: *** [AParser.o] Error 127
make[2]: Leaving directory ‘/root/parts/edk2/build/BaseTools/Source/C/VfrCompile’
GNUmakefile:74: recipe for target ‘VfrCompile’ failed
make[1]: *** [VfrCompile] Error 2
make[1]: Leaving directory ‘/root/parts/edk2/build/BaseTools/Source/C’
GNUmakefile:19: recipe for target ‘Source/C’ failed
make: *** [Source/C] Error 2
make: Leaving directory ‘/root/parts/edk2/build/BaseTools’
Failed to run ‘override-build’: Exit code was 2.
To fix this I added build-essential to the build-packages for edk2.
The next error is
Priming update-ceph
Priming ceph
[Errno 21] Is a directory: ‘/root/stage/lib/python2.7’
We would appreciate it if you anonymously reported this issue.
No other data than the traceback and the version of snapcraft in use will be sent.
Would you like to send this error data? (Yes/No/Always/View) [no]:
Which I manage to get through (not using the word solved here) by changing the prime to /lib/python2.7*.
Now at this point I got a few warnings which I’m unsure were an issue.
Priming ceph
The ‘ceph’ part is missing libraries that are not included in the snap or base. They can be satisfied by adding the following entries to the existing stage-packages for this part:
- librados2
- librbd1
- librdmacm1
Priming criu
Priming libco
Priming raft
The ‘raft’ part is missing libraries that are not included in the snap or base. They can be satisfied by adding the following entries to the existing stage-packages for this part:- libuv1
Priming sqlite
Priming dqlite
Priming libseccomp
Priming qemu
The ‘qemu’ part is missing libraries that are not included in the snap or base. They can be satisfied by adding the following entries to the existing stage-packages for this part:- libaio1
- librados2
- librbd1
- librdmacm1
It did build at this point however running it gives me some really weird errors.
root@dream:~# lxd.lxc --version
cat: /proc/self/attr/current: Permission denied
/snap/lxd/x1/commands/lxc: 6: exec: aa-exec: Permission denied
Did anybody manage to get LXD working with a custom Ceph version and has some tips on how to approach this?