Telepítése glibc csomag

A csomag glibc építeni rendszer önfenntartó, és a csomagot jól megalapozott, akkor is, ha a fordító specifikációk fájlt, és linker még pont a könyvtárat / eszközöket. A műszaki adatok és az elrendezés nem kell változtatni a glibc telepítése csomagot, mert nem megy át glibc autoconf tesztek és ennek következtében nem lesz képes, hogy egy tiszta épít a csomagot.

Amikor elkezdi, hogy telepíteni. nevű szkript test-installation.pl. Fuss egy kis teszt telepítés tisztaságának vizsgálatára újonnan telepített glibc könyvtárral. Azonban, mivel a szerszámkészlet is jelzi test-installation.pl könyvtárakat. ezt a vizsgálatot el kell végezni a megfelelő könyvtár glibc. Mi lehet kényszeríteni a forgatókönyvet, hogy ellenőrizze a glibc könyvtárral, hogy már csak létre, az alábbiak szerint:

DL = $ (readelf -l / bin / sh | sed -n 's @ * értelmezni * / tools \ (* \)] $ @ \ 1 @ p ...') Sed -i „s | könyvtárak -o | lib -L / usr / lib -Wl, -Dinamikus-linker = $ DL -o | " \ Scripts / test-installation.plunset DL

Ezen túlmenően, a forgatókönyvet test-installation.pl hiba van az eredménye, amely egy kísérlet, hogy összeállítunk egy teszt programot a könyvtár, ami nincs telepítve a make install parancsokat. Futtassa a következő parancsot sed kijavítani:

sed -i -e „s / "db1"/ \\ $ Neve ne "nss_test1" / „szkripteket / test-installation.pl

Az ldd forgatókönyvet. végre a héj, a szintaxis jellemző Bash. Ha be van állítva, hogy egy másik tolmács, például a / bin / sh. módosíthatja az értelmező programban alapértelmezés szerint a / bin / bash ahogy meg van írva fejezetben Shells (Kagyló) a könyvben BLFS:

sed -i 's | @ bash @ | / bin / bash |' elf / ldd.bash.in

Javítsa ki a hibát, amelyet nem szabad csinálni glibc csomag összeszerelés a GCC-4.5.2 fordító:

folt -Np1 -i. /glibc-2.13-gcc_fix-1.patch

A hiba kijavítására verem egyensúlyhiány fordul elő, hogy bizonyos körülmények között:

sed -i '195213 s / PRIVATE_FUTEX / FUTEX_CLOCK_REALTIME /' \ NPTL / sysdeps / Unix / sysv / linux / x86_64 / pthread_rwlock_timedlock.S

A glibc dokumentációját javasolja épület glibc csomag egy külön könyvtárba, amelynek célja, hogy létrejöjjön, és nem a forrás könyvtárba:

mkdir -v. / Glibc-buildcd. / Glibc-építmények

Amint az 5. fejezet gépekhez x86 architektúra hozzá a változó CFLAGS zászlók szükséges a fordító. Azt is jelezte, hogy a GCC fordító könyvtár optimalizálási mód, hogy fokozzák összeállítása sebesség (-pipe) és a csomag teljesítmény növekedést (-O3).

Készítsünk glibc csomag összeállítása:

/glibc-2.13/configure prefix = / usr \ --disable-profil --enable-add-ons \ --enable-kernel = 2.6.22.5 --libexecdir = / usr / lib / glibc

Magyarázat az új konfigurációs paraméterek:

Fontos Ebben a szakaszban, a tesztelést suite glibc döntő jelentőségük. Ne hagyja, hogy semmilyen körülmények között.

Mielőtt a tesztek futtatását, másolja a fájlt a forrás fa a fa a mi szerelvény megelőzése érdekében egy sor sikertelen teszt elindul, majd ellenőrizze az eredményeket:

cp -v. /glibc-2.13/iconvdata/gconv-modules iconvdatamake -k ellenőrizze 2> 1 | tee glibc-bejelentkezés loggrep Error glibc-check-log

Akkor valószínűleg látni várható (figyelmen kívül hagyva) meghibásodása posix / annexc teszt. Ezen túlmenően, a vizsgálati kit Glibc bizonyos mértékig függ a gazda rendszer. Az alábbi lista a leggyakrabban feltett kérdéseket:

  • Néha tesztek NPTL / TST-clock2. NPTL / TST-attr3 és RT / TST-cpuclock2 nem adja át. Ennek oka nem teljesen tisztázott, de vannak arra utaló jelek, hogy a vizsgált problémát okozhat rövid végrehajtási időt.
  • néha matematikai tesztek is, ne menjen, ha azok végrehajtása a rendszerekben, ahol a CPU nem egy viszonylag új, eredeti Intel vagy AMD processzort hiteles megfelelően.
  • Ha szerelt LFS partíciót a noatime opciót. atime teszt nem fog múlni. Amint az a 2.4 pontban "Mounting the New Partition", ne használja a noatime opciót. ha gyűjtő LFS rendszer.
  • Indítanak egy régi és lassú vagy berendezés, vagy rendszer, amely terhelés alatt, néhány tesztet nem kerülhet sor annak a ténynek köszönhető, hogy a várakozási idő lejárt. Változás make check parancsot, és be értéket TIMEOUTFACTOR, amely segít, hogy megszüntesse ezeket a hibákat (például TIMEOUTFACTOR = 16 Márka -k ellenőrzés).

A színpadon a glibc csomag panaszkodnak a hiánya /etc/ld.so.conf fájlban. Ez az üzenet ártalmatlan; megelőzzék az előfordulását a következőképpen:

A fenti parancs nem állítja be a területi, amelyhez a rendszer válaszokat lehet adni más nyelven. Egyik helyszíneken van szükség, de ha néhány hiányzik, a készlet vizsgálandó csomag, amely telepítve lesz a jövőben, néhány teszt eseteket lehet kihagyni.

Egyedi helyszíneken segítségével telepíthető localedef programot. Például, az első csapat localedef. Az alábbi, egyesíti az egyedi területi független adathalmaz / usr / share / i18n / -helyszín / cs_CZ jelzés leképezési tábla /usr/share/i18n/charmaps/UTF-8.gz és hozzáadja az eredményt a / usr / lib / locale / locale-archívum. Az alábbi lépésekkel telepítheti a minimális készlet helyszíneken szükséges az optimális teljesítményét egy sor vizsgálat:

mkdir -pv / usr / lib / localelocaledef -i cs_CZ -f UTF-8-cs_CZ.UTF 8localedef -i de_DE -f ISO-8859-1 de_DElocaledef -i de_DE @ euro -f ISO-8859-15 de_DE @ eurolocaledef -i de_DE -f UTF-8-de_DE.UTF 8localedef -i en_HK -f ISO-8859-1 en_HKlocaledef -i en_PH -f ISO-8859-1 en_PHlocaledef -i hu -f ISO-8859-1 en_USlocaledef -i hu -f UTF -8 en_US.UTF-8localedef -i es_MX -f ISO-8859-1 es_MXlocaledef -i fa_IR -f UTF-8 fa_IRlocaledef -i fr_FR -f ISO-8859-1 fr_FRlocaledef -i fr_FR @ euro -f ISO-8859-15 fr_FR @ eurolocaledef -i fr_FR -f UTF-8 fr_FR.UTF-8localedef -i it_IT -f ISO-8859-1 it_ITlocaledef -i ja_JP -f EUC-JP ja_JPlocaledef -i tr_TR -f UTF-8 tr_TR.UTF-8localedef - i zH_CN -f GB18030 zh_CN.GB18030

Továbbá, a területi beállítást az Ország, nyelv és karakterkészlet.

Vagy azonnal telepíteni minden nyelv szerepel a glibc-2.13 / localedata / támogatott (ez tartalmazza az összes területi fent felsorolt ​​és még sok más) fájl, az egyik az alábbi helyszíneken:

Ezután localedef paranccsal hozzon létre és telepíteni helyszíneken nem szerepel a glibc-2.13 / localedata / támogatott fájlt. Abban a valószínűtlen esetben, ha szüksége van ilyen.

Kapcsolódó cikkek