Issues with postmaster after freebsd-update

Matthew Seaman m.seaman at
Sun Feb 23 10:22:00 UTC 2014

On 23/02/2014 02:40, Kevin Oberman wrote:
> On Sat, Feb 22, 2014 at 5:38 PM, LuKreme <kremels at> wrote:
>> > On 13 Feb 2014, at 22:46 , Kevin Oberman <rkoberman at> wrote:
>>> > > An easier way is to install sysutils/bsddfminscripts and use pkg_libchk
>> > to
>>> > > find what needs to be reinstalled. I use the command:
>>> > > pkg_libchk -o | grep icu | cut -d: -f1 | sort | uniq > ~/reinstall-ports
>>> > > portmaster -D `cat ~/reinstall-ports`
>> >
>> > I finally got pkg installed, so, moving on to this and I have a question,
>> > what is the purpose of the `grep icu` pipe?
>> >
> pkg_libchk (part of sysutils/bsdafminscripts) tests all libraries and
> executables installed by all ports  for non-existant linked sharables. In
> this case, the purpose is to get a list of ports that still link to the old
> version of libicu. So pkg_libchk lists ALL files from ports that have links
> to the old libicu and then trims it to just the port name, sorts it, and
> removes dupes.

With pkg(8) installed, this might be better spelled as eg,

   # pkg shlib

which will tell you those packages that have binaries that load that
specific shlib.  To find all the consumers of any shlib provided by the
icu-52.1 package:

   # pkg info -qb icu-52.1 | sed -e 's/.1//' | xargs -L 1 pkg shlib -R

The sed stuff is due to the lingering legacy effects of the shlib ABI
version being required to be a single integer value, whereas nowadays
more complicated version numbering schemes seem to be all the rage.

pkg-shlib could do with growing some different matching algorithms and a
less chatty mode for use in scripting.



Dr Matthew J Seaman MA, D.Phil.

JID: matthew at

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1036 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the freebsd-ports mailing list