source: chapter06/readline.xml@ 8eb3fe4

multilib-10.1
Last change on this file since 8eb3fe4 was 8eb3fe4, checked in by Thomas Trepl <thomas@…>, 5 years ago

First apply of multilib-patch of April 1st, 2019

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11566 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 6.1 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-system-readline" role="wrap">
9 <?dbhtml filename="readline.html"?>
10
11 <sect1info condition="script">
12 <productname>readline</productname>
13 <productnumber>&readline-version;</productnumber>
14 <address>&readline-url;</address>
15 </sect1info>
16
17 <title>Readline-&readline-version;</title>
18
19 <indexterm zone="ch-system-readline">
20 <primary sortas="a-Readline">Readline</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The Readline package is a set of libraries that offers command-line
27 editing and history capabilities.</para>
28
29 <segmentedlist>
30 <segtitle>&buildtime;</segtitle>
31 <segtitle>&diskspace;</segtitle>
32
33 <seglistitem>
34 <seg>&readline-ch6-sbu;</seg>
35 <seg>&readline-ch6-du;</seg>
36 </seglistitem>
37 </segmentedlist>
38
39 </sect2>
40
41 <sect2 role="installation">
42 <title>Installation of Readline</title>
43
44 <para>Reinstalling Readline will cause the old libraries to be moved to
45 &lt;libraryname&gt;.old. While this is normally not a problem, in some cases
46 it can trigger a linking bug in <command>ldconfig</command>. This can be
47 avoided by issuing the following two seds:</para>
48
49<screen><userinput remap="pre">sed -i '/MV.*old/d' Makefile.in
50sed -i '/{OLDSUFF}/c:' support/shlib-install</userinput></screen>
51
52 <para>Prepare Readline for compilation:</para>
53
54<screen><userinput remap="configure">./configure --prefix=/usr \
55 --disable-static \
56 --docdir=/usr/share/doc/readline-&readline-version;</userinput></screen>
57
58 <para>Compile the package:</para>
59
60<screen><userinput remap="make">make SHLIB_LIBS="-L/tools/lib -lncursesw"</userinput></screen>
61
62 <variablelist>
63 <title>The meaning of the make option:</title>
64
65 <varlistentry>
66 <term><parameter>SHLIB_LIBS="-L/tools/lib -lncursesw"</parameter></term>
67 <listitem>
68 <para>This option forces Readline to link against the
69 <filename class="libraryfile">libncursesw</filename> library.</para>
70 </listitem>
71 </varlistentry>
72
73 </variablelist>
74
75 <para>This package does not come with a test suite.</para>
76
77 <para>Install the package:</para>
78
79<screen><userinput remap="install">make SHLIB_LIBS="-L/tools/lib -lncursesw" install</userinput></screen>
80
81 <para>Now move the dynamic libraries to a more appropriate location
82 and fix up some permissions and symbolic links:</para>
83
84<screen><userinput remap="install">mv -v /usr/lib/lib{readline,history}.so.* /lib
85chmod -v u+w /lib/lib{readline,history}.so.*
86ln -sfv ../../lib/$(readlink /usr/lib/libreadline.so) /usr/lib/libreadline.so
87ln -sfv ../../lib/$(readlink /usr/lib/libhistory.so ) /usr/lib/libhistory.so</userinput></screen>
88
89 <para>If desired, install the documentation:</para>
90
91<screen><userinput remap="install">install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-&readline-version;</userinput></screen>
92
93 </sect2>
94
95 <sect2 arch="multilib" role="installation">
96 <title>Installation of Readline - 32-bit</title>
97
98 <para>Clean previous build:</para>
99
100<screen><userinput remap="pre">make distclean</userinput></screen>
101
102 <para>Prepare Readline for compilation:</para>
103
104<screen><userinput remap="configure">CC="gcc -m32 -march=i686" ./configure \
105 --prefix=/usr \
106 --libdir=/usr/lib32 \
107 --disable-static \
108 --host=i686-pc-linux-gnu</userinput></screen>
109
110 <para>Compile the package:</para>
111
112<screen><userinput remap="make">make</userinput></screen>
113
114 <para>Install the package:</para>
115
116<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
117cp -Rv DESTDIR/usr/lib32/* /usr/lib32
118rm -rf DESTDIR</userinput></screen>
119
120 </sect2>
121
122 <sect2 arch="multilib" role="installation">
123 <title>Installation of Readline - x32-bit</title>
124
125 <para>Clean previous build:</para>
126
127<screen><userinput remap="pre">make distclean</userinput></screen>
128
129 <para>Prepare Readline for compilation:</para>
130
131<screen><userinput remap="configure">CC="gcc -mx32" ./configure \
132 --prefix=/usr \
133 --libdir=/usr/libx32 \
134 --disable-static \
135 --host=x86_64-pc-linux-gnux32</userinput></screen>
136
137 <para>Compile the package:</para>
138
139<screen><userinput remap="make">make</userinput></screen>
140
141 <para>Install the package:</para>
142
143<screen><userinput remap="install">make DESTDIR=$PWD/DESTDIR install
144cp -Rv DESTDIR/usr/libx32/* /usr/libx32
145rm -rf DESTDIR</userinput></screen>
146
147 </sect2>
148
149 <sect2 id="contents-readline" role="content">
150 <title>Contents of Readline</title>
151
152 <segmentedlist>
153 <segtitle>Installed libraries</segtitle>
154 <segtitle>Installed directories</segtitle>
155
156 <seglistitem>
157 <seg>libhistory.so and libreadline.so</seg>
158 <seg>/usr/include/readline and
159 /usr/share/doc/readline-&readline-version;</seg>
160 </seglistitem>
161 </segmentedlist>
162
163 <variablelist>
164 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
165 <?dbfo list-presentation="list"?>
166 <?dbhtml list-presentation="table"?>
167
168 <varlistentry id="libhistory">
169 <term><filename class="libraryfile">libhistory</filename></term>
170 <listitem>
171 <para>Provides a consistent user interface for recalling lines
172 of history</para>
173 <indexterm zone="ch-system-readline libhistory">
174 <primary sortas="c-libhistory">libhistory</primary>
175 </indexterm>
176 </listitem>
177 </varlistentry>
178
179 <varlistentry id="libreadline">
180 <term><filename class="libraryfile">libreadline</filename></term>
181 <listitem>
182 <para>Provides a set of commands for manipulating text entered in an
183 interactive session of a program.</para>
184 <indexterm zone="ch-system-readline libreadline">
185 <primary sortas="c-libreadline">libreadline</primary>
186 </indexterm>
187 </listitem>
188 </varlistentry>
189
190 </variablelist>
191
192 </sect2>
193
194</sect1>
Note: See TracBrowser for help on using the repository browser.