6.3. Ncurses-6.4

Ncurses pakken inneholder biblioteker for terminaluavhengig håndtering av karakterskjermer.

Omtrentlig byggetid: 0.3 SBU
Nødvendig diskplass: 51 MB

6.3.1. Installasjon av Ncurses

Først, sørg for at gawk blir funnet først under konfigurasjonen:

sed -i s/mawk// configure

Kjør deretter følgende kommandoer for å bygge tic programmet på byggeverten:

mkdir build
pushd build
  ../configure
  make -C include
  make -C progs tic
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          \
            --enable-widec

Betydningen av de nye konfigureringsalternativene:

--with-manpage-format=normal

Dette forhindrer Ncurses fra å installere 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.

--enable-widec

Denne bryteren gjør at biblioteker med brede tegn (wide-character) f.eks., libncursesw.so.6.4) skal bygges i stedet for vanlige (f.eks., libncurses.so.6.4). Disse brede tegnbibliotekene er brukbare i både multibyte og tradisjonelle 8-biters lokaliteter, mens vanlige biblioteker fungerer som de skal bare i 8-biters lokaliteter. Brede karakterer og normale biblioteker er kildekompatibel, men ikke binærkompatibel.

Kompiler pakken:

make

Installer pakken:

make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install
echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so

Betydningen av installasjonsalternativene:

TIC_PATH=$(pwd)/build/progs/tic

Vi må sende stien til den nettopp bygde tic programmet som kjører på byggemaskinen, slik at terminaldatabasen kan opprettes uten feil.

echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so

libncurses.so biblioteket trengs av noen få pakker vi skal bygge snart. Vi lager dette lille linkskriptet , da dette er det som gjøres i Kapittel 8.

Detaljer om denne pakken finner du i Section 8.29.2, “Innhold i Ncurses”