source: chapter05/ncurses.xml@ bb189b0

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since bb189b0 was bb189b0, checked in by Bruce Dubbs <bdubbs@…>, 9 years ago

Added a fix for security issue in Glibc (CVE-2015-1781).
Thanks to Ken Moffat for identifying the proplem and the fix.

Fixed Ncurses and Perl build with GCC 5. Thanks to Ken Moffat and
Douglas R. Reno for providing the patches.

Updated to GCC-5.1.0. Imported changes from systemd version.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10903 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 3.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="ch-tools-ncurses" role="wrap">
9 <?dbhtml filename="ncurses.html"?>
10
11 <sect1info condition="script">
12 <productname>ncurses</productname>
13 <productnumber>&ncurses-version;</productnumber>
14 <address>&ncurses-url;</address>
15 </sect1info>
16
17 <title>Ncurses-&ncurses-version;</title>
18
19 <indexterm zone="ch-tools-ncurses">
20 <primary sortas="a-Ncurses">Ncurses</primary>
21 <secondary>tools</secondary>
22 </indexterm>
23
24 <sect2 role="package">
25 <title/>
26
27 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
28 href="../chapter06/ncurses.xml"
29 xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
30
31 <segmentedlist>
32 <segtitle>&buildtime;</segtitle>
33 <segtitle>&diskspace;</segtitle>
34
35 <seglistitem>
36 <seg>&ncurses-ch5-sbu;</seg>
37 <seg>&ncurses-ch5-du;</seg>
38 </seglistitem>
39 </segmentedlist>
40
41 </sect2>
42
43 <sect2 role="installation">
44 <title>Installation of Ncurses</title>
45
46 <para>First, apply a patch to prevent a build failure
47 when building with GCC 5:</para>
48
49<screen><userinput remap="pre">patch -Np1 -i ../&ncurses-gcc5-buildfixes-patch;</userinput></screen>
50
51 <para>Prepare Ncurses for compilation:</para>
52
53<screen><userinput remap="configure">./configure --prefix=/tools \
54 --with-shared \
55 --without-debug \
56 --without-ada \
57 --enable-widec \
58 --enable-overwrite</userinput></screen>
59
60 <variablelist>
61 <title>The meaning of the configure options:</title>
62
63 <varlistentry>
64 <term><parameter>--without-ada</parameter></term>
65 <listitem>
66 <para>This ensures that Ncurses does not build support for the Ada
67 compiler which may be present on the host but will not be available
68 once we enter the <command>chroot</command> environment.</para>
69 </listitem>
70 </varlistentry>
71
72 <varlistentry>
73 <term><parameter>--enable-overwrite</parameter></term>
74 <listitem>
75 <para>This tells Ncurses to install its header files into
76 <filename class="directory">/tools/include</filename>, instead of
77 <filename class="directory">/tools/include/ncurses</filename>, to
78 ensure that other packages can find the Ncurses headers
79 successfully.</para>
80 </listitem>
81 </varlistentry>
82
83 <varlistentry>
84 <term><parameter>--enable-widec</parameter></term>
85 <listitem>
86 <para>This switch causes wide-character libraries (e.g., <filename
87 class="libraryfile">libncursesw.so.&ncurses-version;</filename>)
88 to be built instead of normal ones (e.g., <filename
89 class="libraryfile">libncurses.so.&ncurses-version;</filename>).
90 These wide-character libraries are usable in both multibyte and
91 traditional 8-bit locales, while normal libraries work properly
92 only in 8-bit locales. Wide-character and normal libraries are
93 source-compatible, but not binary-compatible.</para>
94 </listitem>
95 </varlistentry>
96
97 </variablelist>
98
99 <para>Compile the package:</para>
100
101<screen><userinput remap="make">make</userinput></screen>
102
103 <para>This package has a test suite, but it can only be run after the
104 package has been installed. The tests reside in the
105 <filename class="directory">test/</filename> directory. See the
106 <filename>README</filename> file in that directory for further details.
107 </para>
108
109 <para>Install the package:</para>
110
111<screen><userinput remap="install">make install</userinput></screen>
112
113 </sect2>
114
115 <sect2 role="content">
116 <title/>
117
118 <para>Details on this package are located in
119 <xref linkend="contents-ncurses" role="."/></para>
120
121 </sect2>
122
123</sect1>
Note: See TracBrowser for help on using the repository browser.