
Glibc telepts HOGYANKai Schlachter

   linux (at) murphyslantech.de

2004.03.19

   Verzitrtnet
   Verzi: 1.01 2004.03.19 tdolgozta: KC
   Els kiads, az LDP ltal tnzve.
     _________________________________________________________________

   Tartalomjegyzk
   1. [1]Elsz

        1.1. [2]Szerzi jog
        1.2. [3]Verzitrtnet
        1.3. [4]Ksznetnyilvnts
        1.4. [5]Magyar fordts

   2. [6]Bevezets

        2.1. [7]Mirt?
        2.2. [8]Mit?

   3. [9]Elkszletek

        3.1. [10]Szksges dolgok
        3.2. [11]Specilis dolgok

   4. [12]A glibc teleptse

        4.1. [13]A forrs letltse s fordtsa
        4.2. [14]A telepts
        4.3. [15]Miutn a rendszer betltdtt

   5. [16]Hibakeress -- valami nem sikerlt ...

        5.1. [17]Hibk a configure vagy a make futsakor a glibc
                fordtsa kzben

        5.2. [18]Ha a make install sorn trtnik valami baj
     _________________________________________________________________

Fejezet 1. Elsz

1.1. Szerzi jog

Copyright (c) 2004 by Kai Schlachter

Ez a dokumentum msolhat, terjeszthet s/vagy mdost a Free Software
Foundation (Szabad Szoftver Alaptvny) ltal kiadott GNU Free Documentation
License (Szabad Dokumentcis Licenc) 1.2 vagy ksbbi vltozatnak
megfelelen, vltozatlan rszek, els s hts bortszvegek
bortszvegek nlkl. A licenc egy pldnyt megtallod a kvetkez cmen:
[19]http://www.gnu.org/licenses/fdl.html.
     _________________________________________________________________

1.2. Verzitrtnet

     * v1.01: Nhny rossz helyen lv idzjel korriglsa.
     _________________________________________________________________

1.3. Ksznetnyilvnts

Klnsen szeretnm megksznni Nico Schmoiglnak, hogy segtett
helyrelltani az sszeomlott rendszeremet, miutn make install-al
teleptettem a glibc-t, mikzben a rendszer teljesen funkcionlt. Fknt
emiatt rtam ezt a HOGYANt.

Ugyancsak ksznm mindenkinek, akik segtettek munka kzben a HOGYAN
megfelel formba nteni, a sajthibkat megkeresni stb.
     _________________________________________________________________

1.4. Magyar fordts

A magyar fordtst [20]Dis Gergely ksztette (2004.06.09). A lektorlst
[21]Daczi Lszl vgezte el (2004.06.16). A dokumentum legfrissebb vltozata
megtallhat a [22]Magyar Linux Dokumentcis Projekt honlapjn. A
dokumentum fordtsa a [23]Szegedi Tudomnyegyetem [24]nylt forrskd
szoftverfejleszts specilkollgiumnak segtsgvel valsult meg.
     _________________________________________________________________

Fejezet 2. Bevezets

Ebben a HOGYANban kifejtem, hogyan teleptsd a glibc j vltozatt a
rendszeredre.

Azrt rtam ezt a kziknyvet, hogy a megkmljek msokat azoktl a
problmktl, amelyekkel n is tallkoztam.

Ez a HOGYAN egyfajta irnyelv belltsokbl s mdszerekbl, amelyek nlam
mkdtek, ezrt a dokumentum tartalmrt semmilyen felelssget nem
vllalok. Sajt felelssgedre hasznld ezeket a pldkat, elveket. Ersen
ajnlott, hogy a nagyobb teleptsek eltt, illetve bizonyos idkznknt
is kszts biztonsgi mentst rendszeredrl.

Ha brmilyen javaslatod van a HOGYANnal kapcsolatban, vagy talltl egy
bugot valamelyik disztribciban s javtst, kldj egy e-mail-t a
<[25]linux_at_murphyslantech.de> cmre.
     _________________________________________________________________

2.1. Mirt?

J krds. Mirt is kne egy jabb glibc-t feltelepteni? Nos, tbb oka is
lehet :

     * fejleszt vagy s szksged lenne az jabb funkcikra
     * le akarsz fordtani (compile) egy jabb programot, ami az jabb
       programknyvtrat (library) hasznlja
     * szereted az j vltozatban lv hibk okozta izgalmakat ;-)
     _________________________________________________________________

2.2. Mit?

Ha mg nem tudod mi is az a glibc, ne aggdj! Amikor elszr voltak ilyen
problmim egy program fordtsa sorn, csak annyit tudtam, hogy a glibc
vltozatom nem megfelel a fordtshoz. Most, hogy mr tbbet tudok,
megprblom egyszeren elmagyarzni, hogy tulajdonkppen mit is csinl a
glibc.

A glibc csomag egy C nyelvben rt programknyvtrat tartalmaz. A
programknyvtrak rendkvl hasznosak programrs sorn, ahelyett, hogy
rgtnzve kellene rnunk eljrst olyan egyszerbb mveletek szmra,
mint pldul egy szm gyknek meghatrozsa, sok ilyen s hasonl fggvny
le van trolva egy kln fjlban -- az gynevezett programknyvtrban. Ha
egy programknyvtr jabb vltozata megjelenik, gyakran tartalmaz jabb
fggvnyeket, vagy sokkal hatkonyabb algoritmusokat hasznl mr meglv
fggvnyekben s gy tovbb.

Ez az oka annak, amirt nhny program panaszkodik a rgebbi vltozat glibc
miatt, az ugyanis nem tartalmazza az sszes fggvnyt, ami szksges a
program futshoz.

Tudom, ez gy technikailag nem pontos magyarzat, de a lnyeget megrtheted
belle.
     _________________________________________________________________

Fejezet 3. Elkszletek

A glibc teleptse nem knny feladat, ezrt sok dolgot elre meg kell
csinlnod, legfkpp arra az esetre, ha valami tnkremegy. (Mint ahogy
velem is trtnt az els glibc teleptsemkor, mivel nem tettem semmi
elkszletet.)
     _________________________________________________________________

3.1. Szksges dolgok

Alapveten kt dologra lesz szksged: mr meglv szoftverekre (pldul
elre teleptett programok), valamint pr program forrskdjra.
     _________________________________________________________________

3.1.1. Szksges szoftverek

     * egy mkd gcc
     * a glibc egy rgebbi vltozata ;-)
     * GNU-binutils
     * GNU-make
     * a GNU-core-utils
     * GNU-tar
     * bash, vagy valami ms shell
     * j ha van: Midnight Commander
     * egy szerkeszt(vi, jed stb.)
     _________________________________________________________________

3.1.2. Szksges forrsok

     * a bash, vagy a kedvenc shell
     * GNU-tar
     * GNU-core-utils
     * GNU-make
     * termszetesen a glibc
     * taln a gcc is
     _________________________________________________________________

3.2. Specilis dolgok

Kpzelheted milyen problmkat okozhat, ha eltvoltod az
alap-programknyvtrat, amire egy csom program pl.

Nlam minden rendben ment, amg ki nem adtam a make install parancsot.
Krlbell a telepts felnl hibazenetet kaptam, miszerint az rm nem
tudott lefutni, aztn szrevettem, hogy mg az olyan alapparancsok sem
mkdnek, mint a cp, ls, mv, ln, tar stb. Mind azt rta ki, hogy nem
talljk a szksges programknyvtruk egy rszt.

Viszont erre is van megolds. Programfordtskor a fordtt (compiler) r
lehet knyszerteni, hogy a programknyvtrakbl hasznlt fggvnyeket
belefordtsk a programba, gy azoknak mr nem kell ezeket megkeresni a
programknyvtrbl.

Ezrt ebben a fejezetben a teleptshez szksges segdprogramok statikus
vltozatt ksztjk el.
     _________________________________________________________________

3.2.1. Amikre mindenkppen szksged lesz

3.2.1.1. A GNU-Binutils

    1. A legjabbat az [26]ftp.gnu.org/gnu/binutils webhelyrl tltheted
       le; a dokumentum rskor ez a 2.14-es vltozat volt
    2. Csomagold ki a forrst:

tar xIvf binutils-2.14.tar.bz2

    3. Lpj be a knyvtrba:

cd binutils-2.14

    4. lltsd be a makefile-okat:

./configure

    5. Fordtsd le a forrsokat:

make

    6. Teleptsd:

make install

   Ha a fordts sorn valamilyen gettextel kapcsolatos problmba
   tkznl (mint pldul: "undeclared reference to lib_intl" vagy valami
   hasonl), akkor szedd le s teleptsd a legjabb vltozatot az
   [27]ftp.gnu.org/gnu/gettext webhelyrl.

   Ha ez nem segt, akkor prbld meg kikapcsolni az anyanyelvi
   tmogatst a kvetkezkppen:
   ./configure --no-nls

   A binutils statikus vltozatt nem muszj elkszteni, de nem rt,
   mert sok rgi vltozatt hasznl rendszerrel tallkoztam, amelyekkel
   majdnem mindig valamilyen hiba volt, ezrt szerintem j tlet itt
   megemlteni ezeket.
     _________________________________________________________________

3.2.1.2. GNU make

A make parancs a felels a forrsok lefordtsrt, a gcc s ms, a
fordtshoz szksges programok hvsrt. Ha valami baj trtnik az j
glibc-vel, szksged lehet valamit lefordtani, ezrt nem rt, ha van egy
statikus vltozatod, msknt nem menne.

    1. Tltsd le a forrst az [28]ftp.gnu.org/gnu/make/ webhelyrl; a
       dokumentum rsakor a legjabb a 3.80 vltozat volt
    2. Csomagold ki:

tar xIvf make-3.80.tar.bz2

    3. Lpj be a ltrehozott knyvtrba:

cd make-3.80

    4. gyelj r, hogy a binrisokat statikusra fordtsd le:

export CFLAGS="-static -O2 -g"

    5. Futtasd a bellt szkriptet:

./configure

    6. Fordtsd le:

make

    7. Teleptsd a binrisokat :

make install

    8. Ellenrizz:

make -v

       Az jonnan teleptett vltozatot kell ltnod. Ha nem, keresd meg a
       rgi binrisokat, s cserld ki ket egy szimbolikus
       hivatkozssal (link) az j vltozatra.

   Gratullok! Ismt elksztetted egy program statikus vltozatt.
     _________________________________________________________________

3.2.1.3. A GNU core-utils

A core-utils a cp, rm, ln, mv stb alapparancsokbl ll. Ha valami hiba
trtnik a telepts sorn, ezekre mindenkpp szksg van a hiba
helyrehozatalhoz, teht itt a statikus vltozat igazn fontos.

    1. Megint csak tltsd le a forrst az [29]ftp.gnu.org/gnu/coreutils/
       webhelyrl; a dokumentum rskor a legjabb az 5.0 vltozat volt.
    2. Csomagold ki:

tar xIvf coreutils-5.0.tar.bz2

    3. Lpj be a knyvtrba:

cd coreutils-5.0

    4. gyelj r, hogy a binrisokat statikusra fordtsd:

export CFLAGS="-static -O2 -g"

    5. Futtasd a bellt szkriptet:

./configure

    6. Fordtsd le:

make

    7. s teleptsd:

make install

    8. Ellenrizd, hogy az j vltozat-e az aktulis:

cp --version

       Az j vltozat szmt kell ltnod, ha nem, akkor cserld ki az
       sszes rgit egy szimbolikus hivatkozssal az j vltozatra.

   Most, hogy ezeknek az alapcsomagoknak a statikus vltozatt hasznlod,
   biztos lehetsz benne, hogy minden krlmny kzt mkdni fognak.
     _________________________________________________________________

3.2.1.4. A GNU tar

Mr hasznltad a GNU tar programot, amikor kicsomagoltad s teleptetted a
programokat. De taln szksged lehet majd jabb programokat fordtani, ha
az j glibc miatt a rendszer sszeomlik, teht nem rt, ha ebbl is van egy
statikus vltozat (ezt szemlyesen tapasztaltam). Szksged lesz a tar
mellett a bz2 tmrtsi algoritmusra, amely nincs benne a tar hivatalos
forrsban.

    1. Tltsd le a tar forrst az [30]ftp.gnu.org/gnu/tar webhelyrl; a
       dokumentum rsakor a legjabb az 1.13 vltozat volt.
    2. Mivel sok forrs bz2 algoritmussal van tmrtve, szksged lesz a
       beptett tmogatsra, mert jobb mint csvekkel (pipe) dolgozni.
       Teht tltsd le a foltot az
       [31]ftp://infogroep.be/pub/linux/lfs/lfs-packages/4.1/tar-1.13.pat
       ch webhelyrl.
    3. Csomagold ki:

tar xzvf tar-1.13.tar.gz

    4. Msold t a foltot a tar forrsknyvtrba:

cp tar-1.13.patch tar-1.13/

    5. Foltozd a forrskdot:

patch -Np1 -i tar-1.13.patch

    6. lltsd be a fordt kapcsolit a statikus fordtshoz:

export CFLAGS="-static -O2 -g"

    7. Most mr bellthod:

./configure

    8. Fordtsd le:

make

    9. Vgl teleptsd a csomagot:

make install

   10. Egy gyors ellenrzs, hogy felteleplt-e az j vltozat:

tar --version

       Az j vltozatnak kell megjelennie, ellenkez esetben keresd meg
       a rgieket s cserld ki az jra mutat szimbolikus
       hivatkozsokkal.

   Ha valami hibt szlelsz a make futtatsakor, prbld meg kikapcsolni
   az anyanyelvi tmogatst (nls). Ezt a kvetkez kapcsolkkal rheted
   el:
   --disable-nls

   Megjegyzs: A tar ezen j vltozatban a -j kapcsolt kell hasznlnod
   a .bzip2 fjlok kicsomagolshoz, teht a kvetkez helyett:
   tar xIvf anyfile.tar.bz2

   gy kell:
   tar xjvf anyfile.tar.bz2

   Nem tudom, hogy ez mirt vltozott meg, mindenesetre gy szpen
   mkdik.
     _________________________________________________________________

3.2.1.5. A Bash shell

n a Bash shell-t rszestem elnyben, ha msikat hasznlsz, gyelj arra,
hogy a statikus vltozatt teleptsd, a glibc teleptse eltt.

    1. Tltsd le a Bash forrstt az [32]ftp.gnu.org/gnu/bash/
       webhelyrl; a dokumentum rsakor a legjabb a 2.05b vltozat
       volt.
    2. Csomagold ki:

tar xzvf bash-2.05b.tar.gz

       amely egy bash-2.05b knyvtrat hoz ltre, benne a forrsokkal.
    3. Lpj be a knyvtrba:

cd bash-2.05a

    4. llts be mindent a statikus programksztshez:

export CFLAGS="-static -O2 -g"

    5. lltsd be a makefile-okat:

./configure

       Ha valami extrt szeretnl a Bash-hoz, nzd meg a sgt:

./configure --help

       az sszes kapcsolrl.
    6. Fordtsd le:

make

    7. Teleptsd fel a binrisokat:

make install

       Ez az /usr/local/bin/knyvtrba msolja a binrisokat.
    8. gyelj arra, hogy ne legyen ms vltozat elrhet (mint a SuSE
       Linuxnl a /bin/ knyvtrban). Egyszeren msold a binrist a
       /bin/ knyvtrba is:

cp /usr/local/bin/bash /bin/

       Itt nem hasznlunk szimbolikus hivatkozsokat, mivel a
       rendszerbetltsnl s a bash indtsakor ebbl problmk
       addhatnak.

   Mr van egy teleptett statikus vltozat Bash a rendszeren, ami gy
   ugyan nagy, de legalbb minden krlmny kzt mkdik.

   Ha msik shell-t szeretsz, hasznlhatod azt is, csak gyelj arra, hogy
   statikusan fordtott vltozatot hasznlj. Nyugodtan rd meg hogyan
   ksztetted az ltalad hasznlt shell statikus vltozatt,
   valsznleg a HOGYAN kvetkez vltozatban mr szerepelni is fog.
     _________________________________________________________________

3.2.2. Szoftverek, amelyek jl jhetnek

3.2.2.1. Midnight Commander

A Midnight Commander egy nagyon hasznos kis fjlkezel, sok extrval,
pldul tmrtett fjlok kicsomagolsa, beptett ltalnos parancsok, mint
msols, thelyezs, s egy szerkeszt.

Lefordtshoz, fent kell lennie glib programknyvtrnak. Nhny
disztribciban alapbl fent van, ha esetleg a make sorn olyan hibazenetet
kapsz, hogy az ld nem tallja a glibet, akkor elszr fel kell teleptened
ezt a programknyvtrat. A forrsokat az
[33]ftp.gnome.org/pub/gnome/sources/glib/2.2/ webhelyrl tltheted le, a
telepts egyrtelm.

A Midnight Commander elksztsnek lpsei:

    1. Tltsd le a forrst a
       [34]http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/"
       webhelyrl; a dokumentum rsakor a legjabb a 4.6.0 vltozat
       volt. volt.
    2. Csomagold ki:

tar xzvf mc-4.6.0.tar.gz

    3. Lpj be az imnt ltrehozott knyvtrba:

cd mc-4.6.0

    4. lltsd be a konfigurcis fjlokat:

./configure

    5. Fordtsd le:

make

    6. Teleptsd:

make install
     _________________________________________________________________

Fejezet 4. A glibc teleptse

Elrkeztnk a legfontosabb rszhez, a glibc teleptshez.
     _________________________________________________________________

4.1. A forrs letltse s fordtsa

A glibc szmos vltozata elrhet, de nem biztos, hogy a legjabb vltozat
jobb, mint egy rgebbi. A legjobb, ha utnanzel klnbz internetes
frumokon, melyiket rdemes hasznlni s melyiket nem. Vagy ha ismersz
valakit, aki jratos a tmban, krdezd meg tle, htha tudja melyik
vltozat mennyire j.

n a glibc-2.2.4-et teleptettem, mivel azt mondtk, ez elg szpen
mkdik, de ms vltozatot is feltehetsz, ha az jobban tetszik.

Akkor munkra fel:

    1. Tltsd le a forrst az [35]ftp.gnu.org/gnu/glibc/ webhelyrl;
       amint emltettem, a 2.2.4-es vltozatot hasznltam.
    2. Csomagold ki:

tar -xzvf glibc-2.2.4.tar.gz

    3. Mg szksged lesz a "linuxthreads" csomagra is, amelyet a
       linuxthreads knyvtrban megtallsz az [36]ftp.gnu.org szerveren.
       A fjl neve:

glibc-llinuxthreads-2.2.4.tar.gz

       gyelj arra, hogy a linuxthreads vltozatszma megegyezzen a
       glibc-vel.
    4. Msold a linuxthreads csomagot a glibc forrs-knyvtrba:

cp glibc-linuxthreads-2.2.4.tar.gz glibc-2.2.4

    5. Lpj be a glibc knyvtrba:

cd glibc-2.2.4

    6. Csomagold ki a linuxthreads forrs t:

tar xzvf linux-threads-2.2.4.tar.gz

    7. lltsd be:

./configure --enable-add-ons=linuxthreads

       Ez a kapcsol gy lltja be a csomagot, hogy fordtskor vegye
       figyelembe a linuxthreads csomagot is. Ez a ms Linux
       rendszerekkel val kompatibilits miatt szksges. E nlkl
       pldul nem biztos, hogy az ltalad fordtott programok futni
       fognak ms gpeken.
    8. Majd indtsd el a glibc fordtst:

make

       Ez eltart egy darabig (krlbell fl rig tartott a 1.5 GHz-es
       Duron XP gpen).

   Most, hogy a programknyvtr is le lett fordtva, minden kszen ll a
   teleptshez, de az mr nem lesz ilyen knny feladat.
     _________________________________________________________________

4.2. A telepts

A glibc teleptshez egy olyan rendszerre van szksg, amin semmi sem fut,
mivel szmos folyamat (pldul a sendmail) mindig megprblja hasznlni a
programknyvtrat, gy megakadlyozza annak lecserlst. Teht egy
"lecsupasztott" rendszerre van szksgnk, amin tnyleg csak a
legszksgesebb dolgok futnak. Ezt gy tudod elrni, hogy a boot opciknl
belltod az

init=/bin/bash

rtket a rendszermaghoz. A rendszerbetlttl fggen mg meg kell
tenned pr dolgot. A kvetkezkben ezt fejtem ki, a kt legelterjedtebb
rendszerbetlt, a LILO (LInux LOader) s a GNU grub esetre.
     _________________________________________________________________

4.2.1. LILO

Egy "alap" rendszer hasznlathoz indtsd jra a szmtgpet, s a LILO
prompt-nl vlaszd ki a neked megfelel kernel-image nevet, s fzd hozz
a

init=/bin/bash

sort, mieltt Enter-t nyomsz. Ha gyakrabban akarsz glibc-t cserlni,
clszer egy kln belltst adni a /etc/lilo.conf fjlba. A rszletekrt
nzd meg a LILO man oldalt.
     _________________________________________________________________

4.2.2. Grub

A Grub egy jabb rendszerbetlt, amely tmogat tbbfle opercis- s
fjlrendszert (pldul tmogatja a reiser fjlrendszer partcikrl val
rendszerbetltst). Ha tbbet akarsz megtudni rla, ltogass el a
[37]http://www.gnu.org/software/grub/ webhelyre, ahol minden szksges
dolgot megtallsz.

Ha mr van egy teleptett Grub a gpen, akkor valsznleg szveges
felletet hasznlsz a megfelel rendszer kivlasztsra. A Grub-nak van egy
szp jellegzetessge -- ahelyett, hogy kzzel kne bernod mindent,
egyszeren kivlasztod a menbl a bejegyzst, s nyomsz egy e-t, amely
megjelent egy opcik ment. Ebben a menben ltod a parancsokat, amelyeket
a Grub a rendszerbetltst megelzen hajt vgre. Vlaszd ki a kvetkez
sort :

kernel="/ahol/a-kerneled-van s az-opciid-vannak"

s nyomj jra egy e-t. Most szerkesztheted a sort. Itt add hozz az

   init=/bin/bash

   sort, eztn nyomj Entert-t, hogy a vltoztatsok rvnyesljenek, s
   nyomj b-t a rendszerbetltshez.
     _________________________________________________________________

4.3. Miutn a rendszer betltdtt

... Egy abszolt minimlis bash krnyezetben tallod magad.

Mg a felhasznlnevet s a jelszt sem kellett begpelned! Most te vagy az
egyetlen szuper-felhasznl minden hatalommal, mivel a rendszer
egyfelhasznls zemmdban mkdik, teht gondold vgig mit csinlsz. Mg
fjl-elrsi jogok s hasonlk sincsenek!

A prompt krlbell gy nz ki:

init-x.y#

A gykrknyvtr most csak olvashatknt van felcsatolva, gy nem tudod
rrni az j programknyvtrat sem. Az rhatv (r/w) ttelhez, elg kiadni
ezt a parancsot:

   mount -o remount,rw /

   Ha a forrsod ms partcin van, akkor azt is fel kell csatolni (nlam
   a raid rendszert kell):
   mount -t reiserfs /dev/md0 /usr/src

   Amint ltod, megadtam a fjlrendszer tpust is, mivel a mount nem
   nzi meg az /etc/fstab fjlban.

   Most mr belphetsz a forrs-knyvtrba, s elkezdheted a fordtst:
   make install

   Ha akarsz, imdkozhatsz, hogy minden mkdjn... ;-)

   Ha minden jl ment, akkor telepts utn mindenfle hibazenet nlkl
   visszakapod a promptot. Ha mgsem, akkor olvasd el az [38]5 fejezetet.

   Ha nem volt semmi hiba, rd be ezt a parancsot:
   ldconfig -v

   a programknyvtraid frisstshez.

   Gratullok! A programknyvtrat sikeresen teleptetted. Most rd be:
   mount -o remount,ro / biztostkkppen, hogy minden adat a
   merevlemezre rdott.

   Indtsd jra a rendszert:
   exit

   Ez egy hibazenetet fog eredmnyezni, miszerint rendszermag-pnikot
   okoztl. Ha lehet, CTRL-ALT-DEL-el prbld meg jraindtani a
   szmtgpet, ha nem megy, akkor csak a reset gomb marad.

   Prbld meg a rendes rendszermagot betlteni. Ha minden jl megy, mr
   hasznlhatod is az j programknyvtradat.
     _________________________________________________________________

Fejezet 5. Hibakeress -- valami nem sikerlt ...

Ha annak ellenre, hogy pontosan kvetted az sszes utastst s ehhez a
rszhez rkeztl, valsznleg a klnbz Linux kiadsok miatt van valami
problma, nmelyikk nem ott trol bizonyos dolgokat, ahol azt elvileg kne.
A Suse Linux a leghresebb az ilyen buta dolgokrl, de a tbbivel is
elfordulhat hasonl problma. Ha ilyesmivel tallkozol, s megtallod a
hiba okt -- s remlhetleg a megoldst is -- tudasd velem, n hozz
fogom adni ehhez a HOGYANhoz.

Azt hiszem ez a rsz sosem lesz teljesen ksz, de lerok majd pr lehetsges
hibt s megoldsukat.
     _________________________________________________________________

5.1. Hibk a configure vagy a make futsakor a glibc fordtsa kzben

Nha tallkozhatsz olyan belltsi hibval, amely szerint valamely kellk
hinyzik -- ltalban valamilyen szoftver, vagy a programknyvtrak tl
rgiek. Ezzel egy csom programnl tallkoztam, klnsen a statikus
fordtsok sorn. ltalban semmi baj, szerezd be a szksges szoftvereket,
vagy programknyvtrakat, azutn fordtsd le ket a forrsban tallhat
lersoknak megfelelen (ltalban README, INSTALL, vagy valami hasonl a
nevk).

Viszont van nhny eset, amikor ez gy nem mkdik. Pldul, az jabb
vltozat binutils fordtsakor, amely szksges a glibc fordtshoz (ezrt
is emltettem a szksges dolgok kztt), problmk addtak. A binutils
configure szkriptje azt rta, hogy "A glibc tl rgi". Teht azt hittem, a
kgy itt a sajt farkba harap. Szerencsre erre a problmra is van
megolds, ha nem tudsz egyszerre megtenni egy nagy lpst, prblj tbb,
kisebb lpsben haladni.

A disztribcimban egy 2.1.1-es vltozat glibc volt. A problma
megoldshoz elszr megprbltam lefordtani a 2.1.3-as glibc-t, ami
sikerlt is. Ezutn felteleptettem ezt az jabb vltozatot. Mikor jra
megprbltam a binutils-t lefordtani, ezttal mindent rendben tallt.

Ha egy hasonl "rdgi krrel" tallkoznl, nzz utna, hogy minimum milyen
vltozat szoftverre van szksg, aztn tltsd le azt. (Azt hiszem ezrt is
tartanak az FTP szervereken olyan sok rgi vltozatot). A sikeres fordts
s telepts utn prbld meg fordtani azt a szoftvert, ami panaszkodott az
elbbi szoftver vltozata miatt, a legtbb esetben mr le tudod fordtani.
Lehetsges, hogy ezt a lpst tbbszr is meg kell ismtelned egy hinyz,
vagy rgi szoftver fordtsnl. Ez az amit gy hvok, hogy "a patkny
hossz farka" vagy "domin effektus". Valami megttelhez tbb dolgot meg
kell tenned. Ez elg idegest lehet, de a j oldala a dolognak, hogy utna
mr biztos lehetsz benne, az igazn rgi programok frisstve lesznek a
telepts vgre.
     _________________________________________________________________

5.2. Ha a make install sorn trtnik valami baj

A legltalnosabb hiba, hogy nincsenek meg a statikus alapkellkek; ebben az
esetben csak a cd parancsot tudod hasznlni, semmi mst. Ezrt rtam le a
HOGYANban rszletesen, hogyan tegyk azokat a kellkeket statikuss.

Az egyetlen nem statikus kellk a mount, amely a linux-utils csomagban van
(vlemnyem szerint nagyon helyesen), amely tartalmazza mg tbbek kztt a
login, passwd stb. programokat. Mivel nem lehet statikus vltozatokat
hasznlni PAM vagy ms biztonsghoz kapcsold szoftverekkel keverve, elg
sszertlen dolog lenne brmilyen krlmnyek kzt is statikussan fordtani
ket. Termszetesen megteheted, ha tnyleg tudod mit csinlsz.
     _________________________________________________________________

5.2.1. Visszatrs egy mkd rendszerhez

Visszalltani egy mkd rendszert elg egyszer, ha megvannak a
statikus kellkek: lpj be a /usr/local/lib/ knyvtrba, s tedd t az
sszes jonnan teleptett fjlt egy msik knyvtrba (pldul
/usr/local/lib/eltarolva). Knnyen azonosthatod ket a vltozatszmuk
alapjn, amely ugyanaz, mint a teleptett glibc programknyvtr, valamint a
ltrehozsi dtum alapjn. Elg ritka, hogy kt klnbz
programknyvtrnak azonos a vltozatszma s ltrehozsi ideje -- n szemly
szerint sosem lttam ilyet -- de a biztonsg kedvrt ellenrizd a
dtum/idt, hogy semmi fontosat ne trlj le. Ehhez j segtsget nyjt a
Midnight Commander, ha teleptve van.

Megprblhatod letrlni a ld-2.2.4.so s a libc-2.2.4.so fjlokat, majd
kiadni egy ldconfig -v parancsot, mieltt eltvoltand az sszes
tnkrement fjlt. Ezzel lehetv vlik a legtbb program hasznlata, a
Midnight Commander-t minden esetben tudod hasznlni.

Ne felejts el legalbb egy ldconfig -v parancsot kiadni, miutn
eltvoltottad az sszes fjlt.
     _________________________________________________________________

5.2.1.1. A sikertelen telepts oknak megszntetse

Gyakori oka a problmknak, hogy a disztribcid az sszes programknyvtrat
egy msik helyen trolta, mint ahol az jonnan teleptett rutin keresn,
valamint gyakran tbb vltozat is fut prhuzamosan, zavarva egymst. Nlam
sok problmt okozott a libc6.so egy msodik pldnya a /lib knyvtrban.
Egy szimbolikus hivatkozs az /usr/local/lib knyvtrban lv megfelel
fjlra megoldja ezt a problmt.

References

   1. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#preface
   2. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#copyright
   3. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#history
   4. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#thanks
   5. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#AEN34
   6. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#introduction
   7. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#why
   8. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#what
   9. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#preparations
  10. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#stuff-you-will-need
  11. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#special-things-you-need-to-do
  12. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#the-install-of-glibc-itself
  13. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#obtaining-and-compiling-the-source
  14. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#the-installation
  15. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#after-the-kernel-is-booted
  16. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#troubleshooting
  17. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#errors-with-configure-or-make-while-trying-to-compile-the-glibc
  18. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#something-goes-wrong-during-make-install
  19. http://www.gnu.org/licenses/fdl.html
  20. mailto: Dios.Gergely[kukac]stud.u-szeged[pont]hu
  21. mailto: dacas[kukac]freemail[pont]hu
  22. http://tldp.fsf.hu/
  23. http://www.u-szeged.hu/
  24. http://www.inf.u-szeged.hu/~havasi/opensource/
  25. mailto:linux_at_murphyslantech.de
  26. file://localhost/home/dacas/tldp/convert/ftp.gnu.org/gnu/binutils
  27. file://localhost/home/dacas/tldp/convert/ftp.gnu.org/gnu/gettext
  28. file://localhost/home/dacas/tldp/convert/ftp.gnu.org/gnu/make/
  29. file://localhost/home/dacas/tldp/convert/ftp.gnu.org/gnu/coreutils/
  30. file://localhost/home/dacas/tldp/convert/ftp.gnu.org/gnu/tar
  31. ftp://infogroep.be/pub/linux/lfs/lfs-packages/4.1/tar-1.13.patch
  32. file://localhost/home/dacas/tldp/convert/ftp.gnu.org/gnu/bash/
  33. file://localhost/home/dacas/tldp/convert/ftp.gnome.org/pub/gnome/sources/glib/2.2/
  34. http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/
  35. file://localhost/home/dacas/tldp/convert/ftp.gnu.org/gnu/glibc/
  36. file://localhost/home/dacas/tldp/convert/ftp.gnu.org
  37. http://www.gnu.org/software/grub/
  38. file://localhost/home/dacas/tldp/convert/Glibc-Install-HOWTO-hu.html#troubleshooting
