Missing files during rpm installation

During installation of an rpm package that has been converted from deb using alien, I’m getting an error message:
"
nothing provides ‘lIb@at5@ml.s0.5(@t_5_PRIVATE_API)(64bit)’ needed by the to be installed synology-drive-7.4.0-15725.x86_64
"

What must I fear in this case? From where could I get the missing package?

This only works for packages with trivial dependencies.

Different distributions have different conventions and different dependency generators. You need to find out what Debian package provides it, then we may try to find the corresponding openSUSE package.

You are probably better off using AppImage/flatpak/… or any other container solution.

1 Like

Thanks for your reply!
Just for the record, the correct error message, should have read:
"
nothing provides 'lIbQt5Qml.so.5(Qt_5_PRIVATE_API)(64bit)`needed by the to be installed synology-drive-7.4.0-15725.x86_64
"
Sorry, that was my fault. I was far too hasty in reading my screenshot image.
Does that improvement provide better information?

Looks as though it should come from

5.15.8+kde22-150500.1.2
which is installed in my system. So is there something missing from it?

It is very unlikely that it actually says lIb with capital I. Never manually type in program output, always copy and paste the entire command line and its complete output.

Is it a joke? You skipped the most important information - the package name.

Please @hnimmo ,

I first skipped this topic because of the way it was posted with almost no computer facts. Only some random text.

Please, as @arvidjaar akready said, copy/paste all you do and get. That is starting with the line with the prompt and the command, all that comes as a result, including the new prompt (which shows to the readers that it is complete). Do not forget to paste this using the </> button from the post editor. Then you get something like

henk@boven:~> uname -rs
Linux 5.14.21-150500.55.52-default
henk@boven:~> 

But then of course with your “installation of an rpm” command.

uname -rs
Linux 5.14.21-150500.55.52-default

I was installing the rpm package (converted from deb package using alien alien -r --scripts synology-drive-client-15724.x86_64.deb , downloaded from synology) using YaST.

YaST produced the error message:

nothing provides 'libQt5Qml.so.5(Qt_5_PRIVATE_API)(64bit)`needed by the to be installed synology-drive-7.4.0-15725.x86_64

arvidjaar had suggested that I needed to find what Debian package provides it, to then try and find the corresponding openSUSE package. A google search led me here:

https://pkgs.org/download/libQt5Qml.so.5(Qt_5)(64bit)

There, I found various references to OpenSUSE (OSS) packages (5 items under Leap 15.5 and 2 under Tumbleweed) associated with “Qt 5 Declarative Library”.

YaST confirms that libQtQuick5 package is installed on my system under 5.15.8+kde22-150500.1.2. None of the associated ‘provides’ files has the exact designation declared in the initial error message. E.g. libQt5Qml.so.5(Qt_5)(64bit) or libQt5Quick.so.5(Qt_5.15.8_PRIVATE_API)(64bit).
So what could be done?

I apologise once again for my hasty optical transcription of the the initial YaST error message that led to the mighty irritation.

https://software.opensuse.org/search?baseproject=ALL&q=synology

https://software.opensuse.org/package/synology-drive-client

2 Likes

Is everything you need to know. This is a private API of Qt5 Declarative, which is not part of the standard libqt5-qtdeclarative-tools rpm, but are in libqt5-qtdeclarative-private-headers-devel.

What that means for something you’re converting via Alien, I don’t actually know, as typically you’re only going to use -devel packages as BuildRequires: But I suspect if you installed libqt5-qtdeclarative-private-headers-devel it would stop this from happening.

1 Like

A double-click on the rpm file started the YaST process. Seems like the easiest way to get it done (if it works!)

Synology hasn’t provided an rpm file for the NAS drive client for years now, in spite of my request directly to them to continue.

Thank you. Synology hasn’t provided an rpm file for the NAS drive client for years now, in spite of my request directly to them to continue. This is a solution I was not expecting after years of waiting for synology. ! Thanks again for your efforts.

I did a 1-click install on the above site link to download the ymp file. And a double-click on the downloaded file. However, the installation failed due to the following errors

The following repositories could not be added https://download.opensuse.org/repositories/SUSE:/SLE-15-SP1:/GA/pool/ https://download.opensuse.org/repositories/SUSE:/SLE-15-SP2:/GA/pool/ https://download.opensuse.org/repositories/SUSE:/SLE-15-SP3:/GA/pool/ https://download.opensuse.org/repositories/SUSE:/SLE-15-SP4:/GA/pool/ https://download.opensuse.org/repositories/SUSE:/SLE-15-SP5:/GA/toberemoved/

NEVER use 1-click installation. The result are useless broken repos as you can see. Clean up your repo list and use the expert installation by only adding the required repo.

Add repository and install manually

For 15.5 run the following as root:

zypper addrepo https://download.opensuse.org/repositories/home:deltafox/15.5/home:deltafox.repo 
zypper refresh 
zypper install synology-drive-client
1 Like

…similar error as in first post (as corrected later)—hmmm

Delete wrong repos. Delete wrong packages if being installed.
Then reinstall.

Problem: nothing provides 'libQt5Qml.so.5(Qt_5_PRIVATE_API)(64bit)' needed by the to be installed synology-drive-client-3.4.0_15724-lp155.3.1.x86_64

It is unrelated to alien. The requirement comes from RPM dependency generator

 readelf -V package/cloudstation/lib/plugins/qmltooling/libqmldbg_messages.so

...
Version needs section '.gnu.version_r' contains 4 entries:
...
  0x0030: Version: 1  File: libQt5Qml.so.5  Cnt: 1
  0x0040:   Name: Qt_5_PRIVATE_API  Flags: none  Version: 4
...

I fail to see how installing headers can help in requirement for the shared library binary.

Anyway, libQt5Qml.so.5 is included in the package libQtQuick5 but with versioned provides:

bor@leap15:~> rpm -q --provides libQtQuick5
...
libQt5Qml.so.5(Qt_5.15.8_PRIVATE_API)(64bit)

It is quite possible that ignoring this dependency will work, I am not familiar with Qt to such depth. But apparently this package was built against Qt 5.12; if internal API changed between these versions it may result in arbitrary run-time issues.

It means that whatever system the .deb was built against, includes the private API headers in their -devel packages, which openSUSE does not. If I remember things correctly, at build time, those private headers would be used to statically link things in the resulting rpm, if you were building on openSUSE.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.