Detaljer om denne pakken finner du i Seksjon 8.31.4, «Innhold i Ncurses»
Ncurses pakken inneholder biblioteker for terminaluavhengig håndtering av tegnskjermbilder.
Først, kjør følgende kommandoer for å bygge «tic» programmet på
byggeverten. Vi installerer den i $LFS/tools
, slik at den blir funnet i
PATH
ved behov:
mkdir build pushd build ../configure --prefix=$LFS/tools AWK=gawk make -C include make -C progs tic install progs/tic $LFS/tools/bin popd
Forbered Ncurses for kompilering:
./configure --prefix=/usr \ --host=$LFS_TGT \ --build=$(./config.guess) \ --mandir=/usr/share/man \ --with-manpage-format=normal \ --with-shared \ --without-normal \ --with-cxx-shared \ --without-debug \ --without-ada \ --disable-stripping \ AWK=gawk
Betydningen av de nye konfigureringsalternativene:
--with-manpage-format=normal
Dette forhindrer at Ncurses installerer komprimerte manualsider, noe som kan skje hvis selve vertsdistribusjonen har komprimerte manualsider.
--with-shared
Dette får Ncurses til å bygge og installere delte C biblioteker.
--without-normal
Dette forhindrer at Ncurses bygger og installerer statiske C biblioteker.
--without-debug
Dette forhindrer at Ncurses bygger og installerer feilsøkingsbiblioteker.
--with-cxx-shared
Dette får Ncurses til å bygge og installere delte C++ bindinger. Den forhindrer også at den bygger og installerer statiske C++ bindinger.
--without-ada
Dette sikrer at Ncurses ikke bygger støtte for Ada kompilatoren som kan være til stede på verten, men som ikke vil være tilgjengelig når vi går inn i chroot miljøet.
--disable-stripping
Denne bryteren hindrer byggesystemet fra å bruke strip programmet fra verten. Bruk av vertsverktøy på krysskompilerte programmer kan forårsake feil.
AWK=gawk
Denne bryteren hindrer byggesystemet å bruke mawk programmet fra verten. Noen versjoner av mawk kan gjøre at denne pakken ikke blir bygget.
Kompiler pakken:
make
Installer pakken:
make DESTDIR=$LFS install ln -sv libncursesw.so $LFS/usr/lib/libncurses.so sed -e 's/^#if.*XOPEN.*$/#if 1/' \ -i $LFS/usr/include/curses.h
Betydningen av installasjonsalternativene:
libncurses.so
biblioteket
trengs av noen få pakker vi skal bygge snart. Vi lager denne
symbolkoblingen for å bruke libncursesw.so
som en erstatning.
Deklarasjonsfilen curses.h
inneholder definisjonen av ulike Ncurses datastrukturer. Med
forskjellige preprocessor makro definisjoner to forskjellige
sett med data strukturdefinisjon kan brukes: 8-biters
definisjon er kompatibel med libncurses.so
og definisjon av
wide-character er kompatibel med libncursesw.so
. Siden vi bruker
libncursesw.so
som erstatning
for libncurses.so
, rediger
deklarasjonsfilen slik at den alltid vil bruke
datastrukturdefinisjonen med wide-character kompatibel med
libncursesw.so
.
Rens forrige bygg:
make distclean
Klargjør Ncurses for kompilering:
CC="$LFS_TGT-gcc -m32" \ CXX="$LFS_TGT-g++ -m32" \ ./configure --prefix=/usr \ --host=$LFS_TGT32 \ --build=$(./config.guess) \ --libdir=/usr/lib32 \ --mandir=/usr/share/man \ --with-shared \ --without-normal \ --with-cxx-shared \ --without-debug \ --without-ada \ --disable-stripping
Kompiler pakken:
make
Installer pakken:
make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install ln -sv libncursesw.so DESTDIR/usr/lib32/libncurses.so cp -Rv DESTDIR/usr/lib32/* $LFS/usr/lib32 rm -rf DESTDIR
Rens forrige bygg:
make distclean
Klargjør Ncurses for kompilering:
CC="$LFS_TGT-gcc -mx32" \ CXX="$LFS_TGT-g++ -mx32" \ ./configure --prefix=/usr \ --host=$LFS_TGTX32 \ --build=$(./config.guess) \ --libdir=/usr/libx32 \ --mandir=/usr/share/man \ --with-shared \ --without-normal \ --with-cxx-shared \ --without-debug \ --without-ada \ --disable-stripping
Kompiler pakken:
make
Installer pakken:
make DESTDIR=$PWD/DESTDIR TIC_PATH=$(pwd)/build/progs/tic install ln -sv libncursesw.so DESTDIR/usr/libx32/libncurses.so cp -Rv DESTDIR/usr/libx32/* $LFS/usr/libx32 rm -rf DESTDIR
Detaljer om denne pakken finner du i Seksjon 8.31.4, «Innhold i Ncurses»