* Fixed problem when BASEDIR paths were given without a trailing '/'.
[linux_from_scratch.git] / newxml / chapter06 / ncurses.xml
blob4be19909670b15575ddec8b4bbbfba192ea27b18
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
3   <!ENTITY % general-entities SYSTEM "../general.ent">
4   %general-entities;
5 ]>
6 <sect1 id="ch-system-ncurses" xreflabel="Ncurses">
7 <title>Ncurses-&ncurses-version;</title>
8 <?dbhtml filename="ncurses.html"?>
10 <indexterm zone="ch-system-ncurses"><primary sortas="a-Ncurses">Ncurses</primary></indexterm>
12 <para>The Ncurses package contains libraries for terminal-independent
13 handling of character screens.</para>
15 <screen>&buildtime; 0.6 SBU
16 &diskspace; 27 MB</screen>
18 <para>Ncurses installation depends on: Bash, Binutils, Coreutils, Diffutils,
19 Gawk, GCC, Glibc, Grep, Make, Sed.</para>
23 <sect2>
24 <title>Installation of Ncurses</title>
26 <para>Prepare Ncurses for compilation:</para>
28 <screen><userinput>./configure --prefix=/usr --with-shared --without-debug</userinput></screen>
30 <para>Compile the package:</para>
32 <screen><userinput>make</userinput></screen>
34 <para>Install the package:</para>
36 <screen><userinput>make install</userinput></screen>
38 <para>Give the Ncurses libraries execute permissions:</para>
40 <screen><userinput>chmod 755 /usr/lib/*.&ncurses-version;</userinput></screen>
42 <para>Now fix a library that shouldn't be executable:</para>
44 <screen><userinput>chmod 644 /usr/lib/libncurses++.a</userinput></screen>
46 <para>Move the libraries to the <filename>/lib</filename> directory,
47 where they're expected to reside:</para>
49 <screen><userinput>mv /usr/lib/libncurses.so.5* /lib</userinput></screen>
51 <para>Because the libraries have been moved, a few symlinks are pointing to
52 non-existent files. Recreate those symlinks:</para>
54 <screen><userinput>ln -sf ../../lib/libncurses.so.5 /usr/lib/libncurses.so
55 ln -sf libncurses.so /usr/lib/libcurses.so</userinput></screen>
56 </sect2>
59 <sect2 id="contents-ncurses"><title>Contents of Ncurses</title>
61 <para><emphasis>Installed programs</emphasis>: captoinfo (link to tic), clear,
62 infocmp, infotocap (link to tic), reset (link to tset), tack, tic, toe, tput
63 and tset</para>
65 <para><emphasis>Installed libraries</emphasis>: libcurses.[a,so] (link to
66 libncurses.[a,so]), libform.[a,so], libmenu.[a,so], libncurses++.a,
67 libncurses.[a,so], libpanel.[a,so]</para>
69 </sect2>
71 <sect2><title>Short descriptions</title>
73 <indexterm zone="ch-system-ncurses captoinfo"><primary sortas="b-captoinfo">captoinfo</primary></indexterm>
74 <para id="captoinfo"><command>captoinfo</command> converts a termcap description into a
75 terminfo description.</para>
77 <indexterm zone="ch-system-ncurses clear"><primary sortas="b-clear">clear</primary></indexterm>
78 <para id="clear"><command>clear</command> clears the screen, if this is possible.</para>
80 <indexterm zone="ch-system-ncurses infocmp"><primary sortas="b-infocmp">infocmp</primary></indexterm>
81 <para id="infocmp"><command>infocmp</command> compares or prints out terminfo
82 descriptions.</para>
84 <indexterm zone="ch-system-ncurses infotocap"><primary sortas="b-infotocap">infotocap</primary></indexterm>
85 <para id="infotocap"><command>infotocap</command> converts a terminfo description into
86 a termcap description.</para>
88 <indexterm zone="ch-system-ncurses reset"><primary sortas="b-reset">reset</primary></indexterm>
89 <para id="reset"><command>reset</command> reinitializes a terminal to its default
90 values.</para>
92 <indexterm zone="ch-system-ncurses tack"><primary sortas="b-tack">tack</primary></indexterm>
93 <para id="tack"><command>tack</command> is the terminfo action checker. It is mainly
94 used to test the correctness of an entry in the terminfo database.</para>
96 <indexterm zone="ch-system-ncurses tic"><primary sortas="b-tic">tic</primary></indexterm>
97 <para id="tic"><command>tic</command> is the terminfo entry-description compiler.
98 It translates a terminfo file from source format into the binary format needed
99 for the ncurses library routines. A terminfo file contains information on the
100 capabilities of a certain terminal.</para>
102 <indexterm zone="ch-system-ncurses toe"><primary sortas="b-toe">toe</primary></indexterm>
103 <para id="toe"><command>toe</command> lists all available terminal types, for each
104 giving its primary name and its description.</para>
106 <indexterm zone="ch-system-ncurses tput"><primary sortas="b-tput">tput</primary></indexterm>
107 <para id="tput"><command>tput</command> makes the values of terminal-dependent
108 capabilities available to the shell. It can also be used to reset or initialize
109 a terminal, or report its long name.</para>
111 <indexterm zone="ch-system-ncurses tset"><primary sortas="b-tset">tset</primary></indexterm>
112 <para id="tset"><command>tset</command> can be used to initialize terminals.</para>
114 <indexterm zone="ch-system-ncurses libncurses"><primary sortas="c-libncurses*">libncurses*</primary></indexterm>
115 <para id="libncurses"><command>libncurses*</command> contains functions to display text in
116 many complicated ways on a terminal screen. A good example of the use of these
117 functions is the menu displayed during the kernel's make menuconfig.</para>
119 <indexterm zone="ch-system-ncurses libform"><primary sortas="c-libform*">libform*</primary></indexterm>
120 <para id="libform"><command>libform*</command> contains functions to implement forms.</para>
122 <indexterm zone="ch-system-ncurses libmenu"><primary sortas="c-libmenu*">libmenu*</primary></indexterm>
123 <para id="libmenu"><command>libmenu*</command> contains functions to implement menus.</para>
125 <indexterm zone="ch-system-ncurses libpanel"><primary sortas="c-libpanel*">libpanel*</primary></indexterm>
126 <para id="libpanel"><command>libpanel*</command> contains functions to implement panels.</para>
128 </sect2>
132 </sect1>