# Przejście na multilib

## matulik

Przez około miesiąca nie używałem swojego prywatnego komputera, aż do przedwczoraj. Pierwsze co mi przyszło na myśl to zrobić aktualizacje. Oczywiście, wyświetliła mi się znana nam informacja

 *Quote:*   

> 
> 
> 2015-03-28-true-multilib
> 
>   Title                     True multilib support on amd64
> ...

 

Dodałem */* abi_x86_32 do package.use. Dodatkowo w make.conf dodałem ABI_X86="32 64".

Wykonałem polecenie usunięcia wszystkich emul-linux-x86*, po czym chciałem dokonał aktualizacji. Niestety - dostałem masę zablokowanych pakietów które blokują siebie nawzajem. Lista nie mieści się w standardowej ilości linii terminala.

Próbowałem również 

```
emerge @preserved-rebuild --autounmask-keep-masks
```

 jednak bez skutku.

Lista pakietów, początek emerge (przekazane do pliku): http://wklej.to/aLR2p

Tyle, co mieści mi się w konsolu: http://wklej.to/XSxYZ

Ktoś jest w stanie mi pomóc?

----------

## phd

Przekieruj wyjście do pliku

emerge ... @world > komunikaty.txt

wtedy będziesz miał przynajmniej wszystkie komunikaty z konsoli.

Ja nie dodawałem */* abi_x86_32, zrobiłem natomiast coś zupełnie odwrotnego. Wkleiłem komunikaty.txt do portage.use i usunąłem z niego wszystkie śmieciowe komentarze zostawiając jedynie nazwy wymaganych pakietów. Przy okazji, zamieniłem wszystkie znaki  >= na =. Dzięki temu, przy każdej aktualizacji, najpierw wykonywana jest próba aktualizacji pakietu bez opcji abi_x86_32. Jeśli to nie przejdzie, wtedy dopiero zamieniam numer jego wersji w portage.use na tę zaktualizowaną w drzewie portage. Trochę to pracochłonne, ale potem nie ma tych pakietów aż tak dużo, a i portage nie gubi się w aktualizacji, bo nie ciągnie już za sobą tych wszystkich zbędnych zależności od multilib dla wszystkich pakietów.

----------

## matulik

Po próbie wykonania tego, co doradził mi kolega phd, dostaję taki wysyp:

http://wklej.to/ewdPH

Teraz to już nie wiem w jaki sposób próbować doprowadzić system do porządku.

----------

## phd

@matulik Przejrzałem zamieszczony plik i przeedytowałem go do wklejenia do package.use, oto on po edytcji

 *Quote:*   

>  =dev-qt/qttest-4.8.5:4 abi_x86_32 
> 
> =media-libs/fontconfig-2.11.1.r2 abi_x86_32
> 
> =dev-qt/qtsvg-4.8.5 abi_x86_32
> ...

 

Niewiele z tego zostało. Wszystko co było w nawiasach ( ) i zahaszowane to ,,zbędne śmieci" informujące szczegółowo o zależnościach, które usunąłem. Dla każdego z tych pakietów sprawdziłem dodatkowo na stronie https://packages.gentoo.org/arch/amd64/stable , które wersje na dzisiaj są stabilne dla amd64 (i również x86)  i wybrałem najnowszą, która spełniała taki warunek. Może się zdarzyć, że któryś z innych zależnych pakietów wymaga innej wersji lub masz zainstalowane starsze drzewo (emerge --sync).

Po wklejeniu do package.use w/w listy pakietów zapewne portage, po sprawdzeniu zależności, znajdzie coś jeszcze, pewnie jeszcze drugie tyle. Nie wiem, czy wstawienie ABI_X86="32 64" do make.conf to dobry pomysł. Nie znam się na tym, nie wiem jak to działa i czy nie powoduje dodatkowych kłopotów. Ja nie mam takiej opcji w moim make.conf.

----------

## Jacekalex

Ja mam:

```
grep ABI /etc/portage/make.conf

ABI_X86="64 32"
```

```
grep abi /etc/portage/profile/use.mask 

-abi_x86_32

-abi_x86_64
```

Takie wpisy do konfigach  dodałem w zeszłym roku, na początku było trochę jazdy z emul_linux_x86*, ale teraz już jest spokój.

SOA#1

Pozdro

 :Cool: 

----------

