CVMFS installation on Fedora 36

Hi,
I wonder if we can get a rpm for any release of Fedora. In the repo I looked for releases and found opnly for FC 34, FC 38, FC 38. I could not install neither of these releases on FC 36…

Hi!

We can unfortunately not provide packages for all versions beyond the End-Of-Life - If I understand correctly, Fedora 36 is no longer supported since 2023-05-16 (End of Life Releases :: Fedora Docs) For the upcoming release we’ll build for FC 40, FC 41, and FC 42 if it is out already.

Is there anything keeping you from upgrading? If yes, alternatives might be building CVMFS from source yourself, or using the service container Getting Started — CernVM-FS 2.11.3 documentation.

Best,
Valentin

When trying:

dnf install https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm
Error:
Problem: conflicting requests

  • nothing provides redhat-release >= 5 needed by cvmfs-release-3-2.noarch
    (try to add ‘–skip-broken’ to skip uninstallable packages)
    redhat-release does not exist on Fedora…so this rpm is for Redhat install only.

Concerning the repo, only FC34,38,40 are available on the repo page, this sounds somehow incomplete.
Fedora releases a new version on a year basis, it is the header of the redhat company, very quickly evolving. So it is not appropriate to release just the front fedora CVMFS software. There is no reason FC34 or 38 packages cannot be installed on FC 36. Normally a correct installation package should be indifferent from the FC version. We should be able to just install by ‘dnf install cvmfs’. Some work is missing here to my opinion.
Concerning the sources (this is the only way now) I have to get them from github trunk. There are no release sources ?

Thanks,

Hi Daniel,

ah the cvmfs-release package only sets up the yum/dnf repository that we provide. Fedora was never supported here, the instructions always said to directly download and install the rpms:

dnf install http://ecsft.cern.ch/dist/cvmfs/cvmfs-2.11.5/cvmfs-2.11.5-1.fc38.x86_64.rpm
http://ecsft.cern.ch/dist/cvmfs/cvmfs-config/cvmfs-config-default-latest.noarch.rpm
http://ecsft.cern.ch/dist/cvmfs/cvmfs-2.11.5/cvmfs-libs-2.11.5-1.fc38.x86_64.rpm

But I am happy to add support here if needed.

There is no reason FC34 or 38 packages cannot be installed on FC 36.

Yes there is one fundamental problem with installing packages built for a newer FC on an older FC, that is glibc. For example, when installing cvmfs-libs-2.11.5-1.fc38.x86_64.rpm on fc36, I get

[root@f092154dc7a4 /]# dnf install https://ecsft.cern.ch/dist/cvmfs/cvmfs-2.11.5/cvmfs-2.11.5-1.fc38.x86_64.rpm \
                 https://ecsft.cern.ch/dist/cvmfs/cvmfs-config/cvmfs-config-default-latest.noarch.rpm \
                 http://ecsft.cern.ch/dist/cvmfs/cvmfs-2.11.5/cvmfs-libs-2.11.5-1.fc38.x86_64.rpm
Last metadata expiration check: 0:00:17 ago on Mon Nov 18 10:08:42 2024.
cvmfs-2.11.5-1.fc38.x86_64.rpm                   19 MB/s |  14 MB     00:00    
cvmfs-config-default-latest.noarch.rpm          129 kB/s | 8.4 kB     00:00    
cvmfs-libs-2.11.5-1.fc38.x86_64.rpm              22 MB/s | 9.9 MB     00:00    
Error: 
 Problem 1: conflicting requests
  - nothing provides libc.so.6(GLIBC_2.36)(64bit) needed by cvmfs-libs-2.11.5-1.fc38.x86_64
 Problem 2: package cvmfs-2.11.5-1.fc38.x86_64 requires cvmfs-libs = 2.11.5-1.fc38, but none of the providers can be installed
  - package cvmfs-2.11.5-1.fc38.x86_64 requires libcvmfs_cache.so.2.11.5()(64bit), but none of the providers can be installed
  - package cvmfs-2.11.5-1.fc38.x86_64 requires libcvmfs_crypto.so.2.11.5()(64bit), but none of the providers can be installed
  - package cvmfs-2.11.5-1.fc38.x86_64 requires libcvmfs_crypto_debug.so.2.11.5()(64bit), but none of the providers can be installed
  - package cvmfs-2.11.5-1.fc38.x86_64 requires libcvmfs_util.so.2.11.5()(64bit), but none of the providers can be installed
  - package cvmfs-2.11.5-1.fc38.x86_64 requires libcvmfs_util_debug.so.2.11.5()(64bit), but none of the providers can be installed
  - conflicting requests
  - nothing provides libc.so.6(GLIBC_2.36)(64bit) needed by cvmfs-libs-2.11.5-1.fc38.x86_64
(try to add '--skip-broken' to skip un

I can however install the FC 34 version. So I think we need at least one build with a glibc that is as old or older than commonly used Fedora releases - what do you think of providing FC 36 packages in addition to the currently supported newer versions?
Best,
Valentin

No I think this is pointless. I have succeeded to install from the sources on fc 36. It worked but I had to install fuse-devel and libcap-devel manually (not detected by the configuration step) due to crash:
FATAL Cap include dirs cannot be found
FATALPcap library cannot be found
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find LibCAP (missing: CAP_LIBRARIES CAP_INCLUDE_DIRS)
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
cmake/Modules/FindLibCAP.cmake:42 (find_package_handle_standard_args)
CMakeLists.txt:442 (find_package)

Similarly for fuse:
– Looked for FUSE libraries named fuse.
CMake Error at cmake/Modules/FindFUSE.cmake:42 (MESSAGE):
Could NOT find FUSE library
Call Stack (most recent call first):
CMakeLists.txt:429 (find_package)

But it went all ok then.
If you want to improve your release install for Fedora, you should work on your side to make multiversion compatible your rpm. If we can install the trunk sources on FC 36, I do not see why you can have a rpm installable.

I’ve checked again https://packages.fedoraproject.org and found no mainstream package that provided up-to-date packages other than for FC 39,40,41, and also confirmed that they are not installable on older releases of fedora (example: gcc - Fedora Packages). Can you point me to an example of a package that does a “multiversion rpm”? If that is in fact possible I’m open to add it.

But it does seem like if you don’t want to upgrade frequently, maybe Fedora is not the best choice of distribution.

Regarding building from source, the build dependencies you can take from here: docker/fedora_x86_64:38.Dockerfile · master · cernvm / build-images · GitLab
We should indeed add that to the documentation.

Actually I would recommend to do the following to build from source. First use builddep for the build dependencies:

dnf builddep ${CVMFS_SOURCE}/packaging/rpm/cvmfs-universal.spec

Then use our build_packages.sh script to build from source:

mkdir ${BUILD_DIR} 
${CVMFS_SOURCE}/ci/build_packages.sh ${CVMFS_SOURCE} ${BUILD_DIR} cvmfs

The resulting rpms need the cvmfs-config package, but that is noarch and can be installed from http://ecsft.cern.ch/dist/cvmfs/cvmfs-config/cvmfs-config-default-latest.noarch.rpm