Eos client installation on fedora 33

I get a dependency failure when trying to install eos-client using dnf on my fedora33 system. I’m using the latest repo for this, which is for fedora30:

[eos-citrine]
name=EOS 4.0 Version
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/citrine/tag/fc-30/x86_64/
gpgcheck=0
enabled=1

[eos-citrine-dep]
name=EOS 4.0 Dependencies
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/citrine-depend/fc-30/x86_64/
gpgcheck=0
enabled=1

The dependency error is
Problem: cannot install the best candidate for the job

  • nothing provides libprotobuf.so.17()(64bit) needed by eos-client-4.5.9-1.fc30.x86_64
    and my OS has libprotobuf.so.23

–skip-broken does not fix this. Looking at the sources in github it seems that the dependency requirement accepts versions higher than some minimum.
Is there an easy fix or will the repo be updates soon?

Hi @olin,

We noticed that our Fedora repo were lagging behind; it will be my priority to restore them in shape.

For the moment, I set up a fedora31 repo with a quite newer eos version than the one you where installing, The baseurl(s) now become
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/citrine/tag/fc-31/x86_64/
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/citrine-depend/tag/fc-31/x86_64/

and you will now find eos 4.8.31, the latest stable release (the .31 is just a coincidence), that requires xrootd 4.12.5.
Fedora32 will follow.

Would you mind trying this out?

e.g.
yum install eos-client eos-folly-2019.11.11.00 eos-folly-deps-2019.11.11.00

Cheers,
Fabio

Ciao Fabio,
Thanks for the help. Your new url did not help immediately.
I checked and my xroot version is 5.0.3 release 2,fc33. This is perhaps a problem, but it may be from problems that I introduced.
I copied of the old eos repo to eos30.repo and edited eos.repo with the urls you provided. I screwed up here by forgetting to disable the eos30 copy. I was also working with the email rather than your forum posting, which did not have the last lines about xroot eos-folly … Here is the result:

dnf install eos-client
Repository eos-citrine is listed more than once in the configuration
Repository eos-citrine-dep is listed more than once in the configuration
EOS 4.0 Version 3.5 kB/s | 8.6 kB 00:02
EOS 4.0 Dependencies 3.7 kB/s | 4.4 kB 00:01
Errors during downloading metadata for repository ‘eos-citrine-dep’:

  • Status code: 404 for https://storage-ci.web.cern.ch/storage-ci/eos/citrine-depend/tag/fc-31/x86_64/repodata/repomd.xml (IP: 2001:1458:d00:3f::100:355)
    Error: Failed to download metadata for repo ‘eos-citrine-dep’: Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
    Ignoring repositories: eos-citrine-dep
    Error:
    Problem: conflicting requests
  • nothing provides libfolly.so()(64bit) needed by eos-client-4.8.31-1.fc31.x86_64
  • nothing provides libjsoncpp.so.21()(64bit) needed by eos-client-4.8.31-1.fc31.x86_64
  • nothing provides libprotobuf.so.17()(64bit) needed by eos-client-4.8.31-1.fc31.x86_64
    (try to add ‘–skip-broken’ to skip uninstallable packages)

I then disabled eos30 and did a dnf clean all, but in all subsequent tries I have not succeeded in getting rid of the Repository eos-citrine, eos-citrine-depend is listed more than once in the configuration messages.

My attempt with your forum instructions gave similar problems, especially the eos-citrine-dep failure.

dnf install eos-client eos-folly-2019.11.11.00 eos-folly-deps-2019.11.11.00
Repository eos-citrine is listed more than once in the configuration
Repository eos-citrine-dep is listed more than once in the configuration
EOS 4.0 Dependencies 880 B/s | 4.4 kB 00:05
Errors during downloading metadata for repository ‘eos-citrine-dep’:

  • Status code: 404 for https://storage-ci.web.cern.ch/storage-ci/eos/citrine-depend/tag/fc-31/x86_64/repodata/repomd.xml (IP: 2001:1458:d00:41::100:264)
    Error: Failed to download metadata for repo ‘eos-citrine-dep’: Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
    Ignoring repositories: eos-citrine-dep
    Last metadata expiration check: 0:04:37 ago on Tue 26 Jan 2021 10:36:23 AM.
    No match for argument: eos-folly-2019.11.11.00
    No match for argument: eos-folly-deps-2019.11.11.00
    Error: Unable to find a match: eos-folly-2019.11.11.00 eos-folly-deps-2019.11.11.00

dnf info eos-client does find the ccorrect version
Version : 4.8.31
Release : 1.fc31

I would appreciate suggestions, sorry I screwed up the test.
By the way, I recently upgraded from fedora 31, and had no problems with eos using that version. So the fc32 upgrade may be important.

Dear @olin,

The error “Status code: 404…” comes from a wrong repository address; my bad I gave you the wrong one for citrine depend! Please rectify:

$ cat /etc/yum.repos.d/eos.repo 
[eos-citrine]
name=EOS 4.0 Version
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/citrine/tag/fc-31/x86_64/
gpgcheck=0
enabled=1

[eos-citrine-dep]
name=EOS 4.0 Dependencies
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/citrine-depend/fc-31/x86_64/
gpgcheck=0
enabled=1
`

The “Repository listed more than once…” is not a problem per se, but it comes necessarily from a double listing indeed; if you want to get rid of it, for example you may edit the headers [eos-citrine] and [eos-citrine-dep by appending a 30 in the .repo file, e.g.

$ cat /etc/yum.repos.d/eos30.repo 
[eos-citrine30]
name=EOS 4.0 Version
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/citrine/tag/fc-30/x86_64/
gpgcheck=0
enabled=1

[eos-citrine-dep30]
name=EOS 4.0 Dependencies
baseurl=https://storage-ci.web.cern.ch/storage-ci/eos/citrine-depend/fc-30/x86_64/
gpgcheck=0
enabled=1

Nevertheless, you should not need these fc-30 repo and you can remove them safely.

Now the tricky part :slight_smile:
XRoot version 5.0.3 is a problem; xrootd version 4 and xrootd version 5 do not guarantee back/forw compatibility, and you need to uninstall it. EOS is at the moment still built with the latest stable xrootd4 version, which is thoroughly and extensively tested, and will step to xrootd 5 with a next major eos upgrade in the near future. But for the moment, please remove xrootd5.

You need to get xrootd-4.12.5 from the official Fedora31 repos. Here I provide you with a “quick and dirty” solution that I tried myself seemlessly on a container.

First create the content for fedora31 and fedora-updates31 repos,
$ sed "s/\$releasever/31/g" /etc/yum.repos.d/fedora.repo > /etc/yum.repos.d/fedora31.repo && sed -i "s/]/31]/g" /etc/yum.repos.d/fedora31.repo
$ sed "s/\$releasever/31/g" /etc/yum.repos.d/fedora-updates.repo > /etc/yum.repos.d/fedora-updates31.repo && sed -i "s/]/31]/g" /etc/yum.repos.d/fedora-updates31.repo

Then, install your eos-client by temporarily disabling the current fedora and updates repos:
yum --disablerepo="fedora,updates" install eos-client eos-folly-2019.11.11.00 eos-folly-deps-2019.11.11.00
And that should do.

Once finished, you may want to remove such “patched” fedora31 repos as they should not serve any other purpose, and it is good you keep your system updated from the proper upstream references.
That said, to prevent uncontrolled updates of the {eos-client, eos-folly, eos-folly-deps, xrootd} rpms, you can versionlock them to the current version.

In the hope that this will be helpful,

Cheers,
Fabio

Hi Fabio,

Everthing worked up to this step. Thanks for making it so easy. It seems the problem with the protobuf package still remains. Perhaps I should wait for the future eos upgrade?

dnf --disablerepo=“fedora,updates” install eos-client eos-folly-2019.11.11.00 eos-folly-deps-2019.11.11.00 --skip-broken
Last metadata expiration check: 0:01:28 ago on Wed 27 Jan 2021 05:18:24 PM.
Dependencies resolved.

Problem: package libphonenumber-8.12.11-1.fc33.x86_64 requires libprotobuf.so.23()(64bit), but none of the providers can be installed

  • problem with installed package libphonenumber-8.12.11-1.fc33.x86_64
  • cannot install both protobuf-3.6.1-5.fc31.x86_64 and protobuf-3.12.4-1.fc33.x86_64
  • package libphonenumber-8.12.0-1.fc31.x86_64 requires libicuuc.so.63()(64bit), but none of the providers can be installed
  • package libphonenumber-8.12.0-1.fc31.x86_64 requires libicui18n.so.63()(64bit), but none of the providers can be installed
  • package eos-client-4.8.31-1.fc31.x86_64 requires libprotobuf.so.17()(64bit), but none of the providers can be installed
  • package libicu65-65.1-1.fc33.x86_64 conflicts with libicu < 66 provided by libicu-63.2-3.fc31.x86_64
  • conflicting requests
  • problem with installed package libicu65-65.1-1.fc33.x86_64
    ================================================================================
    Package Arch Version Repository Size
    ================================================================================
    Installing:
    eos-folly x86_64 2019.11.11.00-1.fc31 eos-citrine-dep 27 M
    eos-folly-deps x86_64 2019.11.11.00-1.fc31 eos-citrine-dep 11 M
    Skipping packages with conflicts:
    (add ‘–best --allowerasing’ to command line to force their upgrade):
    libicu x86_64 63.2-3.fc31 fedora31 9.3 M
    protobuf x86_64 3.6.1-5.fc31 fedora31 977 k
    Skipping packages with broken dependencies:
    eos-client x86_64 4.8.31-1.fc31 eos-citrine 18 M
    libphonenumber x86_64 8.12.0-1.fc31 updates31 2.0 M

Transaction Summary

Install 2 Packages
Skip 4 Packages

Total download size: 39 M
Installed size: 307 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): eos-folly-deps-2019.11.11.00-1.fc31.x86_ 940 kB/s | 11 MB 00:12
(2/2): eos-folly-2019.11.11.00-1.fc31.x86_64.rp 1.3 MB/s | 27 MB 00:21

Total 1.8 MB/s | 39 MB 00:21
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : eos-folly-deps-2019.11.11.00-1.fc31.x86_64 1/2
Installing : eos-folly-2019.11.11.00-1.fc31.x86_64 2/2
Running scriptlet: eos-folly-2019.11.11.00-1.fc31.x86_64 2/2
Verifying : eos-folly-2019.11.11.00-1.fc31.x86_64 1/2
Verifying : eos-folly-deps-2019.11.11.00-1.fc31.x86_64 2/2

Installed:
eos-folly-2019.11.11.00-1.fc31.x86_64
eos-folly-deps-2019.11.11.00-1.fc31.x86_64

Skipped:
eos-client-4.8.31-1.fc31.x86_64 libicu-63.2-3.fc31.x86_64
libphonenumber-8.12.0-1.fc31.x86_64 protobuf-3.6.1-5.fc31.x86_64

Complete!

I am happy to report that the latest update of fedora33 has restored cernbox client functionality. The new repo is

[cernbox.cern.ch_cernbox_doc_Linux_repo.future_Fedora_32]
name=created by dnf config-manager from https://cernbox.cern.ch/cernbox/doc/Linux/repo.future/Fedora_32
baseurl=https://cernbox.cern.ch/cernbox/doc/Linux/repo.future/Fedora_32
enabled=1

(END)

Thanks to Fabio/whoever is responsible :grinning:

1 Like

It appears from the recent roadmap talk and the gitlab site Release 5.0.0 · cern-eos/eos · GitHub that eos5.0 is now released. Is there a schedule to make it available in a repo for fedora33/34?

Hi @olin ,

We should bring the eos fedora releases in line with the current supported fedora with eos 5 indeed. I’ll take care of providing the rpms of eos 5.0.1 for Fedora 34, would that be OK?

Cheers,
Fabio

That’s great, though I hoped not to upgrade to f34 just yet. Will it appear in
Index of /storage-ci/eos/diopside

I have still not managed to find an eos client that works on my Fedora machine. I’m on fedora 35 now and I can find no versions beyond v31.
I tried the recent commit for el-9
https://storage-ci.web.cern.ch/storage-ci/eos/diopside/commit/el-9s/x86_64/eos-client-5.0.18-20220502144748git822bcb74a.el9.x86_64.rpm

and get the following dependency problems

Blockquote - nothing provides libcrypto.so.3()(64bit) needed by eos-client-5.0.18-20220502144748git822bcb74a.el9.x86_64

  • nothing provides libcrypto.so.3(OPENSSL_3.0.0)(64bit) needed by eos-client-5.0.18-20220502144748git822bcb74a.el9.x86_64
  • nothing provides libjsoncpp.so.25()(64bit) needed by eos-client-5.0.18-20220502144748git822bcb74a.el9.x86_64
  • nothing provides libssl.so.3()(64bit) needed by eos-client-5.0.18-20220502144748git822bcb74a.el9.x86_64
  • nothing provides libssl.so.3(OPENSSL_3.0.0)(64bit) needed by eos-client-5.0.18-20220502144748git822bcb74a.el9.x86_64
  • nothing provides libfolly.so()(64bit) needed by eos-client-5.0.18-20220502144748git822bcb74a.el9.x86_64
  • nothing provides eos-xrootd = 5.4.2 needed by eos-client-5.0.18-20220502144748git822bcb74a.el9.x86_64
  • nothing provides eos-protobuf3 >= 3.3 needed by eos-client-5.0.18-20220502144748git822bcb74a.el9.x86_64

My xrootd version is 5.4.2 and folly is folly-2022.03.14.00-2.fc35.
I would really appreciate eos support now that the new data from cern is flowing!
@faluchet Can you help? Thanks.

Hi Olin, I’ll work on it! Hope to hear from me next week :wink:

Hey Olin! I’ve built 5.0.23, only for the client packages and that uses xrootd 5.4.2. Could you let me know if the client is enough for you and if you have any problem installing the packages found in:
https://storage-ci.web.cern.ch/storage-ci/eos/diopside/commit/fc-35/x86_64/
https://storage-ci.web.cern.ch/storage-ci/eos/diopside-depend/fc-35/x86_64/

Cheers,
Manuel

Thanks, Manuel. I’ve installed with dnf
eos-client x86_64 5.0.23-20220523095029gitd2800c9dd.fc35
eos-fuse-core-5.0.23-20220523095029gitd2800c9dd.fc35.x86_64.rpm
eos-fuse x86_64 5.0.23-20220523095029gitd2800c9dd.fc35
eos-fuse-sysv x86_64 5.0.23-20220523095029gitd2800c9dd.fc35

I’ve tested them to the extent of listing directories and copying a file from my project, which is generally all I do with eos.

So reporting basically success. I will let you know if some bugs emerge, and construct a repo using the url. If you already have such a repo please post it.

Thank you so much, I have been waiting for this update for some time!!!

Hi Olin.

I suggest, adding Index of /storage-ci/eos/diopside/tag/testing to the repo, as you’ll find fc-35 rpms once xrootd 5.4.3 is released in epel. https://storage-ci.web.cern.ch/storage-ci/eos/diopside/commit/fc-35/x86_64/ is just for commit releases

Cheers,
Manuel