Issues with postmaster after freebsd-update

Kevin Oberman rkoberman at gmail.com
Sun Feb 23 02:40:15 UTC 2014


On Sat, Feb 22, 2014 at 5:38 PM, LuKreme <kremels at kreme.com> wrote:

> On 13 Feb 2014, at 22:46 , Kevin Oberman <rkoberman at gmail.com> 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.

>
> I ran the command just to see the output and got just:
>
> devel/libnotify
>
> in the file. ran postmaster and now the command returns no results (yay!)
> but I did't get to see it in action, so what is the 'icu' that it's cueing
> off?
>

Now that any leftovers from he recent devel/icu update are taken care of,
you can run it (pkg_libchk -o) again to make sure that there are no other
ports installed files that are missing links. Hopefully there are none. Or
just run the command without the grep to get a complete list, but some
ports do generate false positives because they don't use the system to load
shared libs.Java and openoffice have been noted as examples, but I think
that openjdk no longer does this. I don't use openoffice any more, so I
don't know if that has been changed.

You can also "fix" these issues using the -r option to portmaster, but that
often rebuilds ports that, while dependent, don't actually link to the
library in question. This is frequently a list two or three times as long
as the list that actually needs to be rebuilt. Use of pkg_libchk will let
you only rebuild the ports that actually need it.
-- 
R. Kevin Oberman, Network Engineer, Retired
E-mail: rkoberman at gmail.com


More information about the freebsd-ports mailing list