Date: Tue, 11 Dec 2012 19:58:30 +0200 From: Kimmo Paasiala <kpaasial@gmail.com> To: Jeremy Messenger <mezz.freebsd@gmail.com> Cc: ports@freebsd.org, Adam McDougall <mcdouga9@egr.msu.edu>, Bryan Drewery <bryan-lists@shatow.net> Subject: Re: recent port upgrades causing missing libraries Message-ID: <CA%2B7WWSdJhb60ychOYm82a%2Bai2r%2Bg7%2Bhu-11yb_Gmx0wFDAYVMA@mail.gmail.com> In-Reply-To: <CADLFttfumJSiFAOc%2Bod5amPONnxDSMX603W4Zvu2ZjuYN%2BoFGg@mail.gmail.com> References: <20121211150304.GG72576@egr.msu.edu> <50C7551D.5020906@shatow.net> <CADLFttc1RJD9=D4jmtOmSri=EoJ9Rct7PgTpfV=CQH0t%2B7EwhQ@mail.gmail.com> <50C75E74.4050007@shatow.net> <CADLFttfumJSiFAOc%2Bod5amPONnxDSMX603W4Zvu2ZjuYN%2BoFGg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Dec 11, 2012 at 6:57 PM, Jeremy Messenger <mezz.freebsd@gmail.com> wrote: > On Tue, Dec 11, 2012 at 10:25 AM, Bryan Drewery <bryan-lists@shatow.net> wrote: >> On 12/11/2012 10:21 AM, Jeremy Messenger wrote: >>> On Tue, Dec 11, 2012 at 9:45 AM, Bryan Drewery <bryan-lists@shatow.net> 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. >>>> >>>> >>>> Poudriere does the right thing here, it recompiles all affected ports. >>>> >>>> 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, but that doesn't mean >>>>> I've caught them all. pkg_libchk doesn't work with pkgng. I could >>>>> have told pkg to reinstall all packages but that is a big hammer. >>>> >>>> The problem then comes here, pkgng doesn't automatically know that ports >>>> have been rebuilt (without PORTREVISION bumps) or that their checksums >>>> do not match, unless you use pkg install -fR on the proper packages. >>>> >>>> I've written a script that does the same as `portmaster -w`, which will >>>> preserve old libraries when running `pkg upgrade`, which will at least >>>> prevent a broken system while you use pkg_libchk to force reinstall >>>> affected packages: >>>> >>>> https://gist.github.com/3099160 >>> >>> I don't think the 'portmaster -w' will help with his issue. His issue >>> is pretty mess up, because his binaries below have been compiled with >>> old and new library at the same time. For some reason, it doesn't >>> uninstall (or move when use 'portmaster -w') old libraries first >>> before build with new libraries. >> >> There's no portmaster involved here. I only mention it as an example. >> This is purely pkgng using binary packages. > > He built his own package by using poudriere. The question is that why > did it allows linked with old and new libraries at the same time? It > should be uninstall old libraries first before compile/link with new > libraries. > Poudriere is not the problem here because it builds everything everytime in a clean jail. The problem is the way pkg-install(8) detects if a package needs to re-installed, if there's no portrevision bump it won't re-install the package even if the package has been linked against new shared libraries. -Kimmo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B7WWSdJhb60ychOYm82a%2Bai2r%2Bg7%2Bhu-11yb_Gmx0wFDAYVMA>