![](https://seccdn.libravatar.org/avatar/e6dc8afd12f42302ae7b5ea72e4dd686.jpg?s=120&d=mm&r=g)
Hi Martin,
"Martin von Reichenberg"
Hello, What is constantly wrong about Termius (and some other) builds using Open Build Service ?_?
The problem in this case Termius: it ships a whole lot of libraries in
%_libdir because you've wildcarded %_libdir in %files into which you've
copied a bunch of stuff from /opt/ in line 69:
--8<---------------cut here---------------start------------->8---
cp -a "%{_builddir}/%{name}-%{version}/opt/%{name}/" "%{buildroot}/%{_libdir}/"
--8<---------------cut here---------------end--------------->8---
I guess that the upstream Termius package bundles every shared library
under the sun and now your rpm ships all of them. Thereby it will
conflict with most of your system libraries and installing it, will very
likely wreck your OS.
Now, why are you seeing this error? OBS' dependency resolver is
intentionally pretty dumb, it will refuse to resolve any ambiguities and
require the user to define a choice (for reproducibility). Since your
own rpm ships a lot of shared libraries, it now introduces such an
ambiguity: OBS doesn't know whether it should use libz from Termius or
from the libz package in Leap/Tumbleweed.
There's an easy workaround, add `Prefer: -Termius` to the prjconf and
then OBS will never prefer shared libraries from Termius for builds if
there is an ambiguity. *But* you shouldn't do that. You should fix the
rpm to not ship system libraries, because that might have a dangerous
impact on the system where it gets installed (if it will even install).
Cheers,
Dan
--
Dan Čermák