%general-entities; ]> ncurses &ncurses-version;
&ncurses-url;
Ncurses-&ncurses-version; Ncurses <para>The Ncurses package contains libraries for terminal-independent handling of character screens.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&ncurses-fin-sbu;</seg> <seg>&ncurses-fin-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>Installation of Ncurses Prepare Ncurses for compilation: ./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 The meaning of the new configure options: --with-shared This makes Ncurses build and install shared C libraries. --without-normal This prevents Ncurses building and installing static C libraries. --without-debug This prevents Ncurses building and installing debug libraries. --with-cxx-shared This makes Ncurses build and install shared C++ bindings. It also prevents it building and installing static C++ bindings. --enable-pc-files This switch generates and installs .pc files for pkg-config. --enable-widec This switch causes wide-character libraries (e.g., libncursesw.so.&ncurses-version;) to be built instead of normal ones (e.g., libncurses.so.&ncurses-version;). These wide-character libraries are usable in both multibyte and traditional 8-bit locales, while normal libraries work properly only in 8-bit locales. Wide-character and normal libraries are source-compatible, but not binary-compatible. Compile the package: make This package has a test suite, but it can only be run after the package has been installed. The tests reside in the test/ directory. See the README file in that directory for further details. The installation of this package will overwrite libncursesw.so.&ncurses-version; in-place. It may crash the shell process which is using code and data from the library file. Install the package with DESTDIR, and replace the library file correctly using install command: make DESTDIR=$PWD/dest install install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib rm -v dest/usr/lib/libncursesw.so.&ncurses-version; cp -av dest/* / Many applications still expect the linker to be able to find non-wide-character Ncurses libraries. Trick such applications into linking with wide-character libraries by means of symlinks and linker scripts: 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 Finally, make sure that old applications that look for -lcurses at build time are still buildable: rm -vf /usr/lib/libcursesw.so echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so ln -sfv libncurses.so /usr/lib/libcurses.so If desired, install the Ncurses documentation: cp -v -R doc -T /usr/share/doc/ncurses-&ncurses-version; The instructions above don't create non-wide-character Ncurses libraries since no package installed by compiling from sources would link against them at runtime. However, the only known binary-only applications that link against non-wide-character Ncurses libraries require version 5. If you must have such libraries because of some binary-only application or to be compliant with LSB, build the package again with the following commands: 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 Contents of Ncurses Installed programs Installed libraries Installed directories captoinfo (link to tic), clear, infocmp, infotocap (link to tic), ncursesw6-config, reset (link to tset), tabs, tic, toe, tput, and tset libcursesw.so (symlink and linker script to libncursesw.so), libformw.so, libmenuw.so, libncursesw.so, libncurses++w.so, libpanelw.so, and their non-wide-character counterparts without "w" in the library names. /usr/share/tabset, /usr/share/terminfo, and /usr/share/doc/ncurses-&ncurses-version; Short Descriptions captoinfo Converts a termcap description into a terminfo description captoinfo clear Clears the screen, if possible clear infocmp Compares or prints out terminfo descriptions infocmp infotocap Converts a terminfo description into a termcap description infotocap ncursesw6-config Provides configuration information for ncurses ncursesw6-config reset Reinitializes a terminal to its default values reset tabs Clears and sets tab stops on a terminal tabs tic The terminfo entry-description compiler that translates a terminfo file from source format into the binary format needed for the ncurses library routines [A terminfo file contains information on the capabilities of a certain terminal.] tic toe Lists all available terminal types, giving the primary name and description for each toe tput Makes the values of terminal-dependent capabilities available to the shell; it can also be used to reset or initialize a terminal or report its long name tput tset Can be used to initialize terminals tset libcursesw A link to libncursesw libcursesw libncursesw Contains functions to display text in many complex ways on a terminal screen; a good example of the use of these functions is the menu displayed during the kernel's make menuconfig libncursesw libncurses++w Contains C++ binding for other libraries in this package libncurses++w libformw Contains functions to implement forms libformw libmenuw Contains functions to implement menus libmenuw libpanelw Contains functions to implement panels libpanelw