W dniu 19.03.2025 o 15:16, John Stoffel pisze:
"Malte" == Malte Schröder <[email protected]> writes:
On 18/03/2025 22:04, John Stoffel wrote:
"Malte" == Malte Schröder <[email protected]> writes:
Libs in Debian 12/Bookworm are too old for bcachefs-tools. I think
someone pulled it of by forcing some libs from Trixie, but that caused
other things to break.
I am one of the people that butchered bcachefs-tools to work on my
Bookworm/Proxmox 8 machine.
The recent version of bcachefs-tools require liburcu in version 0.14 and
higher.
Debian Bookworm uses 0.13, while Debian Trixie has 0.14.
I asked debian-backports team if they could backport it [1].
In response, I was informed that newer package uses 64bit time_t;
This makes it incompatible with Bookworm and a patch would be needed to
address that.
As my risk factor for this machine is higher than usual, I've created a
setup with:
* LXC container initially set up with Bookworm, containing all build
dependencies.
* I recompiled liburcu8t64 from Trixie to Bookworm
* The package was then force-installed - rendering dpkg package
database with conflicting dependencies.
apt-cache rdepends shows that xfs and glusterfs depends on working
liburcu.
Since I do not use either of them, this is something I can live with.
* Then I built bcachefs-tools
* The resulting bcachefs binary and liburcu8t64 packages were copied
to the target system.
* Finally, I force-installed them, leaving the dpkg database with
broken dependencies.
1: https://lists.debian.org/debian-backports/2025/01/msg00003.html
So what is the best Linux distro to use to compile bcachefs-tools?
There is none until you transfer compiled binary with its dependencies.
# ldd bcachefs-tools/bcachefs
linux-vdso.so.1 (0x0000749f55207000)
liburcu.so.8 => /lib/x86_64-linux-gnu/liburcu.so.8 (0x0000749f54db5000)
libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1
(0x0000749f54d5e000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x0000749f54d54000)
libsodium.so.23 => /lib/x86_64-linux-gnu/libsodium.so.23
(0x0000749f54cfa000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x0000749f54cdb000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x0000749f54cb3000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x0000749f54bf7000)
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x0000749f54bc9000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1
(0x0000749f54bc2000)
libaio.so.1 => /lib/x86_64-linux-gnu/libaio.so.1 (0x0000749f54bbd000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x0000749f54b9d000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x0000749f549ba000)
/lib64/ld-linux-x86-64.so.2 (0x0000749f55209000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x0000749f549b5000)
I'd recommend you join #bcache at OFTC. This kind of things has been
and still is discussed there and people have found solutions that
worked for them regarding -tools vs Bookworm. My personal "solution"
was to upgrade to Trixie.
Is there a base OS (Fedora?) that people use for development
As far as I know, most of bcachefs development happens on Nix.
which I can use to cross build a package for Debian?
I would suggest upgrading to Trixie. I can't as Proxmox is not
compatible with Trixie yet.