Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Oct 2015 23:55:42 +0300
From:      Kimmo Paasiala <kpaasial@gmail.com>
To:        Matthew Seaman <matthew@freebsd.org>
Cc:        freebsd-pkg@freebsd.org
Subject:   Re: Provided shared libraries not registering.
Message-ID:  <CA%2B7WWSchc5ZMkWHy16-mkc6qpy4N4weZN=BAxKqmP2TVu-2JMg@mail.gmail.com>
In-Reply-To: <560E3176.2070808@FreeBSD.org>
References:  <CA%2B7WWSdVJCgQzEDxo_dxupkNSwar7yV0cXj5XMNQXpT99DZYLw@mail.gmail.com> <560E3176.2070808@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Oct 2, 2015 at 10:25 AM, Matthew Seaman <matthew@freebsd.org> wrote:
> On 02/10/2015 08:27, Kimmo Paasiala wrote:
>> This came up on graphics/gdal but there could be others. It looks like
>> pkg doesn't register provided shared libraries if the libraries lack
>> an SONAME in their dynamic section. Was this changed on pkg 1.6 or has
>> it always been like that? What it does now is that 'pkg check -d' will
>> complain about missing shared libraries that are present and
>> applications using those libraries work fine.
>
> Yes, that was a deliberate choice.  Not all shared libraries are created
> for sharing -- and some times it's hard to tell whether something is
> meant to be a loadable module rather than a shared library.  In theory
> these are quite different binary formats, but it seems many developers
> don't appreciate the subtleties, and mix up the two.  It's a heuristic
> that does as well as we could manage, but that doesn't mean there isn't
> room for improvement.
>
> The test on SONAME has been in the code for quite some time, certainly
> since before pkg-1.5.0
>
>         Cheers,
>
>         Matthew
>

How hard it would be to implement a new keyword, let's say @shlib that
you could use to explicitly declare a file a provided shared library?
For example:

@shlib lib/libgdal.so.%%PORTVERSION%%

-Kimmo



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B7WWSchc5ZMkWHy16-mkc6qpy4N4weZN=BAxKqmP2TVu-2JMg>