LinearTapeFileSystem / ltfs

Reference implementation of the LTFS format Spec for stand alone tape drive
BSD 3-Clause "New" or "Revised" License
248 stars 73 forks source link

Installation instructions for Debian 12 (bookworm) #464

Open phlibi opened 4 months ago

phlibi commented 4 months ago

Hi all,

I didn't find a more appropriate issue type for this, sorry if it's wrong. I tried to install LTFS on a Debian 12 (bookworm) machine, but had a hard time figuring out the required dependencies. Here's what I've found with some trial and error:

build-essential automake autoconf libtool fuse libfuse-dev uuid uuid-dev libxml2 libxml2-dev pkg-config icu-devtools libicu-dev libsnmp-dev

Maybe I overdid and something is not really required, but at least this allowed me to compile and install LTFS.

But: With the stable branch v2.4-stable, I needed some time to figure out a required change in configure.ac due to icu-config being deprecated and not available anymore:

diff --git a/configure.ac b/configure.ac
index f28d2b2..9453572 100644
--- a/configure.ac
+++ b/configure.ac
@@ -341,7 +341,7 @@ ICU_MODULE_CFLAGS="`icu-config --cppflags 2> /dev/null`";
 ICU_MODULE_LIBS="`icu-config --ldflags 2> /dev/null`";
 if test -z "$ICU_MODULE_LIBS"
 then
-    PKG_CHECK_MODULES([ICU_MODULE], [icu >= 0.21])
+    PKG_CHECK_MODULES([ICU_MODULE], [icu-i18n >= 0.21])
 fi

 AC_MSG_CHECKING([use latest ICU])

I see that this has already been integrated in master (with icu-uc instead of icu-i18n, but this probably doesn't matter), so it should not be required anymore.

Maybe it would help other people to provide at least the package list in the README. Of course, unless it is already there and I'm just not seeing it :S

Thanks!

piste-jp commented 4 months ago

Supporting many destros is not a priority of this project. The main target of this project at this time is RHEL8 and RHEL7. And other platforms, macOS, FreeBSD and NetBSD.

On the other hand, build configuration is depends on the automake/autoconf. So I believe it is not so difficult to build the code on other distros with small changes into the tree.

Finally, build checker on many distros is running against each PR and each merge. You can see specific required package names in the repository under the organization https://github.com/LinearTapeFileSystem. Such as https://github.com/LinearTapeFileSystem/Debian10-Build.