1 |
On Sun, 15 Dec 2013 17:37:53 +0100 |
2 |
Benjamin Block <bebl@××××.org> wrote: |
3 |
|
4 |
> Most of the times, when some binary packages on my systems do cause |
5 |
> something like this, then I just unemerge the package that keeps |
6 |
> recompiling and emerge it again afterwards. This will cause the |
7 |
> portage to drop the library-references in question and add new ones. |
8 |
> |
9 |
> So, this should do the trick: |
10 |
> |
11 |
> emerge -C app-antivirus/avast4workstation |
12 |
> emerge -1 app-antivirus/avast4workstation |
13 |
|
14 |
This will make the message from portage and the old library version go |
15 |
away, yes. It will also cause the program that used the library |
16 |
(/opt/avast4workstation/bin/avastgui in OP's case) crash when you try |
17 |
to run it, due to the old library version not being installed. |
18 |
|
19 |
The correct solution to this is to add the specific (old) version of the |
20 |
library to the dependencies (in the ebuild) of the (binary) package that |
21 |
uses it. This will prevent an upgrade that uninstalls the old library |
22 |
version. Sometimes the maintainer of the library will add a slotted |
23 |
version of it, so that non-binary users of it do not have to use the |
24 |
outdated version. |
25 |
|
26 |
If the binary package is not an ebuild, you can manually add the newer |
27 |
library version to package.mask, or make sure that the slot for the |
28 |
older version is installed if the library is slotted. |
29 |
|
30 |
Better yet (in all cases), get a more recent version of the binary |
31 |
package that is built against the newer version of the library. |
32 |
Complain to the vendor if none is available :-) |
33 |
|
34 |
The preserve-libs feature in portage is intended to let things keep on |
35 |
working short-term for source-distributed packages. In that case, the |
36 |
currently installed program is linked against the old library version, |
37 |
and when the program is rebuilt (with @preserved-rebuild) it will be |
38 |
linked against the newer version. |
39 |
|
40 |
-- |
41 |
eroen |