Private-libraries in /usr/lib* - invalid soname.

Alec Leamas leamas.alec at gmail.com
Mon Apr 23 14:01:16 UTC 2012


On 04/23/2012 03:11 PM, Adam Williamson wrote:
> On Fri, 2012-04-20 at 17:20 +0200, Alec Leamas wrote:
>
>> Thanks again. Following this advice when packaging makes perfect sense
>> to me. Still, when reviewing, my question is how hard I should push
>> it. If I understand Kevin correct I shouldn't push it all (?). Is your
>> position  that  private, unversioned libs in /usr/lib* is a problem,
>> but not a blocker?
> I may just be dumb,

Doubt that. Really ;)

> but I find myself not entirely sure what Alec is
> asking about here - his asterisks seem ambiguous.
>
> To be perfectly clear, are you talking about this case:
>
> Package 'foo' provides, on i686:
>
> /usr/lib/libfoo.so
>
> on x86_64:
>
> /usr/lib64/libfoo.so
Yes, that's the one.

> which is used as a private library, not intended to be shared with other
> apps
>
> Or this case:
>
> Package 'foo' provides, on i686:
>
> /usr/lib/foo/libfoo.so
>
> on x86_64:
>
> /usr/lib64/foo/libfoo.so
>
> which is used as a private library, not intended to be shared with other
> apps
No, this is OK as long as  /usr/lib64/foo is not added to 
/etc/ld.so.conf (there are such things out there...)

> or some other case?
No

> In my understanding, the first is not really 'kosher' for the reasons
> Toshio states; the second is fine. I've always understood that
> $libdir/appname is exactly where apps should put such 'private libs'.
Agreed.


> To avoid any confusion I suggest in future referring to 'that directory
> which is /usr/lib on i686 and /usr/lib64 on x86-64' as $libdir, not as
> '/usr/lib*'.
Agreed. I guess %{_libdir} is fine as well.


Problem is that this understanding is not spread to all of us. A simple 
google reveals things like

http://markmail.org/message/piawu2c44fe5touj
https://bugzilla.redhat.com/show_bug.cgi?id=713461
https://bugzilla.redhat.com/show_bug.cgi?id=524283
https://bugzilla.redhat.com/show_bug.cgi?id=799651

The interesting point is that neither the wisdom of Toshio nor you are 
not reflected in any of those matches. On the contrary, all these 
discussion and bugs seems to boil down to that private libs should be 
stored in $libdir.

So it seems that a clarification is really needed here.

I am am a newbie, and although the overall wiki rule is "Be Bold" this 
is not really the place for me to be that IMHO. So, I have prepared a 
draft in https://fedoraproject.org/wiki/Talk:Common_Rpmlint_issues  (the 
"Discussion" tab). My plan is to become bold and move that into the wiki 
page later on. Would really need som input before doing that, though.


Thanks,

--alec


More information about the devel mailing list