recent port upgrades causing missing libraries

Adam McDougall mcdouga9 at
Tue Dec 11 22:16:36 UTC 2012

On Tue, Dec 11, 2012 at 02:57:14PM -0600, Bryan Drewery wrote:

  On 12/11/2012 9:03 AM, Adam McDougall wrote:
  > I used poudriere to build pkgng packages from the latest round
  > of port updates since the freeze.  I know in the commit message
  > for xcb-util it bumped some other ports, but it seems like not
  > enough to make poudriere reinstall enough packages to make things
  > work.  The pcre upgrade also caused some problems.  I'm sorry that
  > I don't have time to make an extensive report of ports vs. libraries
  > or a PR but I can add some brief details.  Using pkg install -fR 
  > on xcb-util and pcre cured the issues for now,
  pkg install -fR devel/pcre should be enough. Is it what results in the
  errors below?

I believe you are right about pcre being enough. I reverted /usr/local 
and /var/db/pkg to a backup so I could do some before and after "ldd *" 
in /usr/local/bin and -fR on xcb-util didn't make a difference after 
pcre.  The reason I did xcb-util first was because it was the first 
library error I noticed during startx after the initial pkg upgrade.  
During pkg install -fR xcb-util I saw lots of library errors regarding 
pcre, so I followed with -fR on pcre.  At this point everything looked 
fine.  Thanks for your updates to UPDATING today.
  Have you modified your local libraries at all, symlinks, etc?

No, this is all output from two desktops that are using only packages 
from my poudriere environment.  I haven't symlinked libraries or 
anything like that.  I try to take an all or nothing upgrade approach 
when it comes to libraries because I know mixing can cause difficult 
problems and having well built packages takes the pain out of updating 
(as long as the right stuff actually gets replaced).  The output below 
is all from the second system where I took more notes because I was 
expecting it to happen.  I'm not sure in this scenario why ldd would 
show linking against multiple library versions unless it is adding in 
library links recursively from a mix of old and new libraries.
I think this would all have been fine if pkg or I had known about the
additional steps needed.  So much less painful than (re-re-re)compiling
large portions of ports for library bumps.

Is there a way to make pkg reinstall any package where the checksum at 
time of install no longer matches what the repo has?  *somehow* I suspect
it is possible for pkg to automatically know because I've seen it offer
to reinstall some packages when I've changed compile options.
I understand poudriere is super conservative about recompiling packages;
I would like to apply that same rigor to pkg upgrade even if it takes
an additional command, but reinstalling all packages each time would be
  I've added an UPDATING entry for pcre, and fixed the perl entry.
  Bryan Drewery


More information about the freebsd-ports mailing list