recent port upgrades causing missing libraries
mcdouga9 at egr.msu.edu
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
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.
More information about the freebsd-ports