Skip site navigation (1)Skip section navigation (2)
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>