On 08/01/2015 09:25 PM, Jan Kratochvil wrote:
Hi,
https://bugzilla.redhat.com/show_bug.cgi?id=1249325
GDB requires some library libXXX.so.3 by dlopen(). Therefore it is not found
by rpm automatic requires/provides from DT_NEEDED. Therefore one has to add
the libXXX.so.3 by specific BuildRequires and Requires to the .spec file.
libXXX is librpm here but that is just a coincidence, it could be libz for
example.
(1) How to make a dependency on librpm.so.7?
librpm.so.7 is in rpm-libs-4.12.90-3.fc24.x86_64 which --provides:
librpm.so.7()(64bit)
librpmio.so.7()(64bit)
rpm-libs = 4.12.90-3.fc24
rpm-libs(x86-64) = 4.12.90-3.fc24
So there is no easy way to Requires: rpm-libs = NVRA
How about:
R: rpm-libs%{?_isa} = NVRA
(2) The other possibility does work:
BuildRequires: %{_libdir}/librpm.so.7
I guess you mean "Requires:" and not "BuildRequires:" ?
That's what I have been using on similar occasions.
Actually it's the only way I've found to handle situations, where
packages dlopen libs from non-standard (often hard-coded) paths[1]:
R: %{_libdir}/<somewhere>/lib<xxxx>.so.<y>
Ralf
[1] IMO, dlopen'ing libs from standard paths is a very questionable
design, IMO, because it doesn't provide many advantages over ordinary
shared linkage.
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct