sobota, 26 października 2013

Jak zepsuć Gentoo, czyli wywal sobie GCC jednym kliknięciem

Tak naprawdę to nie zepsułam sobie Gentoo na dobre. W sumie nic drastycznego nie zrobiłam. Aż tak zdolna nie jestem.


Jesienne porządki

Zacznijmy od tego, że zapchało mi się Portage. Aktualizacje nie chciały się przeprowadzać, bo nie było miejsca. Zajrzałam do /usr/ i /var/ i faktycznie - były równo pozapychane. Pogrzebałam w internetach na ten temat i na oficjalnym forum Gentoo wyczytałam, że pomaga na to wyczyszczenie katalogów /usr/portage/distfiles oraz /var/tmp/portage. Nie ma to żadnego wpływu na funkcjonowanie systemu, najwyżej aktualizacja potrwa nieco dłużej, bo Portage będzie musiało ściągnąć sobie źródełka, które wywaliłam. No spoko, czyścimy. Szybkie komendy rm -r /usr/portage/distfiles/* oraz rm -r /var/tmp/portage/* - parę sekund i gotowe. Miejsca od razu mnóstwo się zrobiło. Super!

Jednak nie do końca tak super. Miejsca było mnóstwo, ale aktualizacje nie chciały lecieć. Podobno miałam za stary kompilator GCC, starszy niż 4.6. Sprawdziłam wersję poleceniem eix gcc i pokazało się, że mam wersję... 4.7.3. Wtf? No to spróbuję sobie przekompilować GCC. Nie ma tak dobrze. Okazało się, że wersja jest w porządku, za to profil jest wyłączony. Musiałam więc go jakoś włączyć. Na szczęście jest polecenie gcc-config -l, które potwierdza, że profil faktycznie jest wyłączony i pokazuje dostępne wersje. Wygląda to tak: * gcc-config: Active gcc profile is invalid! [1] x86_64-pc-linux-gnu-4.7.3. Jak widać, miałam tylko jeden do wyboru, przez co na pewno wybrałam właściwy. Żeby ustawić sobie profil, trzeba wpisać gcc-config 1, tym razem bez set, co jest trochę dziwne, bo zwykle jest set. No ale jak tam chcą. Potem jeszcze musiałam dopisać polecenia . /etc/profile (ze spacją), a następnie fix_libtool_files.sh 4.6.3 (poprzednia wersja, którą można sobie sprawdzić genlop -l | grep sys-devel/gcc, jeśli jej nie pamiętacie). Wpisałam i pomogło. Jeden problem z głowy.


Emake Failed!

Skoro jeden z głowy, to domyślacie się zapewne, że to jeszcze nie koniec. Aktualizacje dalej nie chciały iść, bo pakiet Systemtap, od którego zależy między innymi Icedtea wywalał mi emake failed. Moja wersja Systemtapa to ostatnia stabilna, czyli 1.6. Co ciekawe, już dawno nie było jakiejś nowszej stabilnej, wszystkie mają tyldę i to się nie zmienia.


Miałam do wyboru - albo zmienić sobie w kompilacji j2 na j1, albo wgrać sobie wersję niestabilną. Próbowałam z 1.7, ale dupa blada - dalej emake failed. Usunęłam więc wybór wersji, niech sobie bierze, co chce. Wzięło 2.2 i już się nie posypało. Wszystkie aktualizacje, a było ich trochę, poleciały bez problemów.

Dla przypomnienia: kiedy wybierałam konkretną niestabilną wersję, czyli 1.7, to wpisywałam w /etc/portage/package.keywords info o tej wersji, czyli =dev-util/systemtap-1.7 ~amd64 - ze znakiem równości i ~amd64 na końcu, bo mam architekturę amd64. Natomiast kiedy pozwalam systemowi wybrać sobie najwyższą dostępną wersję, bez zastrzeżenia, którą konkretnie, to zmieniam wpis na dev-util/systemtap ~amd64 i wtedy leci 2.2.


Jądro kompiluję, bo czemu nie

Systemtap po ostatecznym skompilowaniu powiedział mi, że chciałby 3 zmiany w jądrze do poprawnego funkcjonowania. Były to:
  • (KPROBES) - this can be enabled in 'Instrumentation Support -> Kprobes' - u mnie było pod General Settings, więc jeśli nie możecie tego znaleźć, to się nie martwcie,
  • (RELAY) - this can be enabled in 'General setup -> Kernel->user space relay support (formerly relayfs)' - było na swoim miejscu,
  • (DEBUG_FS) - this can be enabled in 'Kernel hacking -> Debug Filesystem' -  to też.
Tak w ogóle, to korzystam z genkernela, ale jestem n00bkiem i mi wolno. Wolę powoli obcinać niepotrzebne elementy, niż użerać się z tym, żeby w ogóle system odpalił.


W przygotowaniu

Napiszę niebawem o aktualizacji Gruba z 0.97 na 2 (i co można z tym zrobić), o problemach z Eclipse i konieczności grzebania w overlayach oraz o tym, dlaczego Netbeans się głupio aktualizuje.

1 komentarz:

  1. Ogólnie polecam przejście na ~amd64. Od kilku lat korzystam i nic się szczególnego nie sypie (jak nie zaczniesz naprawdę tego chcieć, przynajmniej), a i pakiety świeższe. Poza tym, ja osobiście lubię nowości.

    OdpowiedzUsuń