Re: How to make .spec Requires for libXXX.so.VER

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux