Cvmfs client on centos stream 9

Hi,
I attempted to install cvmfs client on centos stream 9. Seems I can not via the rpms. The cvmfs package is not found although I have installed the cvmfs-repo https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm
I might be missing something that has changed in el9 - but I did even “forcefully” enable the repo.

Anyway, I attempted then to build from source.
After installing “Development Tools”, cmake, sqlite and uuid-devel I see:

...snip...
-- Found VJSON: /tmp/cvmfs-2.9.3/externals_install/lib/libvjson.a  
-- Found LibArchive: /tmp/cvmfs-2.9.3/externals_install/lib/libarchive.a  
-- Found ZLIB: /tmp/cvmfs-2.9.3/externals_install/lib/libz.a (found version "1.2.8") 
-- Found SHA2: /tmp/cvmfs-2.9.3/externals_install/lib/libsha2.a  
-- Found SHA3: /tmp/cvmfs-2.9.3/externals_install/lib/libsha3.a  
-- Found CARES: /tmp/cvmfs-2.9.3/externals_install/lib/libcares.a  
-- Found CURL: /tmp/cvmfs-2.9.3/externals_install/lib/libcurl.a (found version "7.71.1")  
-- Checking for module 'sqlite3'
--   Found sqlite3, version 3.34.1
-- Found Sqlite3: /tmp/cvmfs-2.9.3/externals_install/lib/libsqlite3.a
-- Found leveldb: /tmp/cvmfs-2.9.3/externals_install/lib  
library: UUID_LIBRARY-NOTFOUND
include: UUID_INCLUDE_DIR-NOTFOUND
CMake Error at cmake/Modules/FindUUID.cmake:60 (message):
  Could not find UUID library
Call Stack (most recent call first):
  CMakeLists.txt:398 (find_package)


-- Configuring incomplete, errors occurred!
See also "/tmp/cvmfs-2.9.3/build/CMakeFiles/CMakeOutput.log".
See also "/tmp/cvmfs-2.9.3/build/CMakeFiles/CMakeError.log".

It might be a matter of wrong links in the cmake setup, as I see:

[root@arctestcluster-slurm-el9-c1 build]# cat /tmp/cvmfs-2.9.3/build/CMakeFiles/CMakeError.log
Determining if the include file attr/xattr.h exists failed with the following output:
Change Dir: /tmp/cvmfs-2.9.3/build/CMakeFiles/CMakeTmp

Run Build Command(s):/bin/gmake -f Makefile cmTC_68967/fast && /bin/gmake  -f CMakeFiles/cmTC_68967.dir/build.make CMakeFiles/cmTC_68967.dir/build
gmake[1]: Entering directory '/tmp/cvmfs-2.9.3/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_68967.dir/CheckIncludeFile.c.o
/bin/cc -D__XATTR_H__  -Os -g -fno-strict-aliasing -fasynchronous-unwind-tables -fno-omit-frame-pointer -fwrapv -fvisibility=hidden -Wall -Wno-format-truncation -fno-optimize-sibling-calls -D_REENTRANT -D__EXTENSIONS__ -D_LARGEFILE64_SOURCE -D__LARGE64_FILES  -o CMakeFiles/cmTC_68967.dir/CheckIncludeFile.c.o -c /tmp/cvmfs-2.9.3/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c
/tmp/cvmfs-2.9.3/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:10: fatal error: attr/xattr.h: No such file or directory
    1 | #include <attr/xattr.h>
      |          ^~~~~~~~~~~~~~
compilation terminated.
gmake[1]: *** [CMakeFiles/cmTC_68967.dir/build.make:78: CMakeFiles/cmTC_68967.dir/CheckIncludeFile.c.o] Error 1
gmake[1]: Leaving directory '/tmp/cvmfs-2.9.3/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:127: cmTC_68967/fast] Error 2



[root@arctestcluster-slurm-el9-c1 build]# find /usr -name xattr.h
/usr/include/linux/xattr.h
/usr/include/linux/xattr.h
/usr/include/sys/xattr.h
/usr/src/kernels/5.14.0-105.el9.x86_64/include/linux/xattr.h
/usr/src/kernels/5.14.0-105.el9.x86_64/include/uapi/linux/xattr.h

Any tips on how to move forward?

Thanks!
Maiken

Hi Maiken,

Thanks for your message.

CentOS Stream 9 is a newly added platform, maybe there is an issue in the cvmfs-release package. We will look into it. Meanwhile, you could try installing the CentOS Stream 9 RPMs directly (here is the link to CVMFS 2.9.3 which is in testing and will be released in the coming days):

https://ecsft.cern.ch/dist/cvmfs/cvmfs-2.9.3/

That’s a strange compilation error. Here are all the packages we install in our CS9 build container image:

RUN         dnf -y update
RUN         dnf -y install filesystem
RUN         dnf -y install dnf-utils && dnf config-manager --set-enabled crb
RUN         dnf -y install epel-release
RUN         dnf -y install                     \
                       clang-analyzer          \
                       clang-tools-extra       \
                       cmake                   \
                       curl-devel              \
                       fuse-devel              \
                       fuse3-devel             \
                       gcc-c++                 \
                       gdb                     \
                       git                     \
                       golang                  \
                       hardlink                \
                       libattr-devel           \
                       libcap-devel            \
                       libffi-devel            \
                       libuuid-devel           \
                       make                    \
                       openssl-devel           \
                       python3-devel           \
                       rpm-build               \
                       ruby-devel              \
                       selinux-policy-devel    \
                       selinux-policy-targeted \
                       systemd                 \
                       which                   \
                       valgrind-devel          \
                       voms-devel              \
                       zlib-devel

I hope this helps!

Cheers,
Radu

Thank you very much.

Which of the rpm’s in Index of /dist/cvmfs/cvmfs-2.9.3 provide cvmfs-config?

Last metadata expiration check: 1:19:36 ago on Tue 14 Jun 2022 07:32:28 AM CEST.
Error: 
 Problem: conflicting requests
  - nothing provides cvmfs-config needed by cvmfs-2.9.3-1.el9.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Thanks for the list of dependencies. That fixed at least the installation from source. :slight_smile:

You can install this config package (the version numbers aren’t the same):
https://ecsft.cern.ch/dist/cvmfs/cvmfs-config/cvmfs-config-default-2.0-2.noarch.rpm

Cheers,
Radu

1 Like

To follow up, the cvmfs-config-default package is now available in the Yum repo for cvmfs-testing on CentOS Stream 9. It will also be available in the production cvmfs Yum repo once 2.9.3 is promoted from testing (should happen this week).

Cheers,
Radu