8.28. Ncurses-6.3

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

Omtrentlig byggetid: 0.4 SBU
Nødvendig diskplass: 45 MB

8.28.1. Installasjon av Ncurses

Forbered Ncurses for kompilering:

./configure --prefix=/usr           \
            --mandir=/usr/share/man \
            --with-shared           \
            --without-debug         \
            --without-normal        \
            --with-cxx-shared       \
            --enable-pc-files       \
            --enable-widec          \
            --with-pkg-config-libdir=/usr/lib/pkgconfig

Betydningen av de nye konfigureringsalternativene:

--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økings biblioteker.

--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.

--enable-pc-files

Denne bryteren genererer og installerer .pc filer for pkg-config.

--enable-widec

Denne bryteren forårsaker at biblioteker med store tegn (f.eks., libncursesw.so.6.3) blir bygget i stedet for vanlige (f.eks., libncurses.so.6.3). Disse bibliotekene med store tegn er brukbare i både multibyte og tradisjonelle 8-biters lokaliteter, mens vanlige biblioteker fungerer som de skal bare i 8-biters lokaliteter. Biblioteker med store tegn og normale biblioteker er kildekompatibel, men ikke binærkompatibel.

Kompiler pakken:

make

Denne pakken har en testpakke, men den kan bare kjøres etter at pakken er installert. Testene ligger i test/ mappen. Se README filen i den mappen for ytterligere detaljer.

Installasjonen av denne pakken vil overskrive libncursesw.so.6.3 . Det kan krasje skallprosessen som bruker kode og data fra bibliotekfilen. Installer pakken med DESTDIR, og bytt ut bibliotekfilen riktig med install command. Et ubrukelig statisk arkiv som ikke håndteres av configure er også fjernet:

make DESTDIR=$PWD/dest install
install -vm755 dest/usr/lib/libncursesw.so.6.3 /usr/lib
rm -v  dest/usr/lib/libncursesw.so.6.3
cp -av dest/* /

Mange applikasjoner forventer fortsatt at lenkeren skal kunne finne Ncurses biblioteker med non-wide karakterer. Lur slike applikasjoner til å koble til biblioteker med brede tegn ved hjelp av symbolkoblinger og lenkerskript:

for lib in ncurses form panel menu ; do
    rm -vf                    /usr/lib/lib${lib}.so
    echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so
    ln -sfv ${lib}w.pc        /usr/lib/pkgconfig/${lib}.pc
done

Til slutt, sørg for at gamle programmer som ser etter -lcurses ved byggetiden fortsatt er byggbare:

rm -vf                     /usr/lib/libcursesw.so
echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so
ln -sfv libncurses.so      /usr/lib/libcurses.so

Hvis ønskelig, installer Ncurses dokumentasjonen:

mkdir -pv      /usr/share/doc/ncurses-6.3
cp -v -R doc/* /usr/share/doc/ncurses-6.3
[Note]

Note

Instruksjonene ovenfor oppretter ikke Ncurses med non-wide tegn biblioteker siden ingen pakke installert ved kompilering fra kilder ville kobles mot dem under kjøring. Imidlertid den eneste kjente bare binær applikasjonen som kobler mot Ncurses-biblioteker med non-wide karakterer krever versjon 5. Hvis du må ha slike biblioteker på grunn av noen bare binær applikasjon eller for å være kompatibel med LSB, bygg pakken på nytt med følgende kommandoer:

make distclean
./configure --prefix=/usr    \
            --with-shared    \
            --without-normal \
            --without-debug  \
            --without-cxx-binding \
            --with-abi-version=5
make sources libs
cp -av lib/lib*.so.5* /usr/lib

8.28.2. Innhold i Ncurses

Installerte programmer: captoinfo (link to tic), clear, infocmp, infotocap (link to tic), ncursesw6-config, reset (link to tset), tabs, tic, toe, tput, og tset
Installerte biblioteker: libcursesw.so (symlink and linker script to libncursesw.so), libformw.so, libmenuw.so, libncursesw.so, libpanelw.so, og deres non-wide karakters motstykker uten "w" i biblioteknavnene.
Installerte mapper: /usr/share/tabset, /usr/share/terminfo, og /usr/share/doc/ncurses-6.3

Korte beskrivelser

captoinfo

Konverterer en termcap beskrivelse til en terminfo beskrivelse

clear

Tømmer skjermen hvis mulig

infocmp

Sammenligner eller skriver ut terminfo beskrivelser

infotocap

Konverterer en terminfo beskrivelse til en termcap beskrivelse

ncursesw6-config

Gir konfigurasjonsinformasjon for ncurses

reset

Reinitialiserer en terminal til standardverdiene

tabs

Fjerner og setter tabulatorstopp på en terminal

tic

Terminfo entry-description kompilatoren som oversetter en terminfo fil fra kildeformat til det binære formatet som trengs for ncurses biblioteksrutiner [En terminfo fil inneholder informasjon om egenskapene til en bestemt terminal.]

toe

Viser alle tilgjengelige terminaltyper, med primærnavn og beskrivelse for hver

tput

Gjør verdiene til terminalavhengige funksjoner tilgjengelig for skallet; den kan også brukes til å tilbakestille eller initialisere en terminal eller rapporter det lange navnet

tset

Kan brukes til å initialisere terminaler

libcursesw

En lenke til libncursesw

libncursesw

Inneholder funksjoner for å vise tekst på mange komplekse måter på en terminalskjerm; et godt eksempel på bruken av disse funksjonene er menyen som vises under kjernens make menuconfig

libformw

Inneholder funksjoner for å implementere skjemaer

libmenuw

Inneholder funksjoner for å implementere menyer

libpanelw

Inneholder funksjoner for å implementere paneler