source: chapter08/tcl.xml@ c2d2342

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 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 c2d2342 was c2d2342, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Update test results for several packages.

Most of the changes were removing documentation of failed tests
that no longer fail.

  • Property mode set to 100644
File size: 7.5 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 <!ENTITY tdbc-ver "1.1.2">
7 <!ENTITY itcl-ver "4.2.1">
8]>
9
10<sect1 id="ch-system-tcl" role="wrap">
11 <?dbhtml filename="tcl.html"?>
12
13 <sect1info condition="script">
14 <productname>tcl</productname>
15 <productnumber>&tcl-version;</productnumber>
16 <address>&tcl-url;</address>
17 </sect1info>
18
19 <title>Tcl-&tcl-version;</title>
20
21 <indexterm zone="ch-system-tcl">
22 <primary sortas="a-Tcl">Tcl</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title/>
27
28 <para>The <application>Tcl</application> package contains the Tool Command Language,
29 a robust general-purpose scripting language. The <application>Expect</application> package
30 is written in the <application>Tcl</application> language.</para>
31
32 <segmentedlist>
33 <segtitle>&buildtime;</segtitle>
34 <segtitle>&diskspace;</segtitle>
35
36 <seglistitem>
37 <seg>&tcl-tmp-sbu;</seg>
38 <seg>&tcl-tmp-du;</seg>
39 </seglistitem>
40 </segmentedlist>
41
42 </sect2>
43
44 <sect2 role="installation">
45 <title>Installation of Tcl</title>
46
47 <para>This package and the next two (Expect and DejaGNU) are
48 installed to support running the test suites for binutils and GCC and other
49 packages. Installing three packages for testing purposes may seem
50 excessive, but it is very reassuring, if not essential, to know that the
51 most important tools are working properly.</para>
52
53<!-- <para>Note that the Tcl package used here is a minimal version needed
54 to run the LFS tests. For the full package, see the
55 <ulink url='&blfs-book;general/tcl.html'>BLFS Tcl procedures</ulink>.</para>-->
56
57 <para>First, unpack the documentation by issuing the following command:</para>
58
59<screen><userinput remap="pre">tar -xf ../tcl&tcl-version;-html.tar.gz --strip-components=1</userinput></screen>
60
61 <para>Prepare Tcl for compilation:</para>
62
63<screen><userinput remap="configure">SRCDIR=$(pwd)
64cd unix
65./configure --prefix=/usr \
66 --mandir=/usr/share/man \
67 $([ "$(uname -m)" = x86_64 ] &amp;&amp; echo --enable-64bit)</userinput></screen>
68
69 <variablelist>
70 <title>The meaning of the configure options:</title>
71
72 <varlistentry>
73 <term><parameter>$([ "$(uname -m)" = x86_64 ] &amp;&amp; echo --enable-64bit)</parameter></term>
74 <listitem>
75 <para>The construct <parameter>$(&lt;shell command&gt;)</parameter>
76 is replaced by the output of the shell command. Here this output is
77 empty if running on a 32 bit machine, and is
78 <parameter>--enable-64bit</parameter> if running on a 64 bit machine.
79 </para>
80 </listitem>
81 </varlistentry>
82
83 </variablelist>
84
85 <para>Build the package:</para>
86
87<screen><userinput remap="make">make
88
89sed -e "s|$SRCDIR/unix|/usr/lib|" \
90 -e "s|$SRCDIR|/usr/include|" \
91 -i tclConfig.sh
92
93sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
94 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
95 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
96 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
97 -i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
98
99sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \
100 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|" \
101 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|" \
102 -i pkgs/itcl&itcl-ver;/itclConfig.sh
103
104unset SRCDIR</userinput></screen>
105
106 <para>The various <quote>sed</quote> instructions after the
107 <quote>make</quote> command removes references to the build directory from
108 the configuration files and replaces them with the install directory.
109 This is not mandatory for the remainder of LFS, but may be needed in case a
110 package built later uses Tcl.</para>
111
112 <para>To test the results, issue:</para>
113
114<screen><userinput remap="test">make test</userinput></screen>
115<!--
116 <note>
117 <para>
118 In the test results there are several places associated with clock.test
119 that indicate a failure, but the summary at the end indicates no
120 failures. clock.test passes on a complete LFS system.
121 </para>
122 </note>
123-->
124 <para>One test, unixInit-1.2, is known to fail.</para>
125
126 <para>Install the package:</para>
127
128<screen><userinput remap="install">make install</userinput></screen>
129
130 <para>Make the installed library writable so debugging symbols can
131 be removed later:</para>
132
133<screen><userinput remap="install">chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so</userinput></screen>
134
135 <para>Install Tcl's headers. The next package, Expect, requires them.</para>
136
137<screen><userinput remap="install">make install-private-headers</userinput></screen>
138
139 <para>Now make a necessary symbolic link:</para>
140
141<screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh</userinput></screen>
142
143 <para>Finally, rename a man page that conflicts with a Perl man page:</para>
144
145 <screen><userinput remap="install">mv /usr/share/man/man3/{Thread,Tcl_Thread}.3</userinput></screen>
146
147 </sect2>
148
149 <sect2 id="contents-tcl" role="content">
150 <title>Contents of Tcl</title>
151
152 <segmentedlist>
153 <segtitle>Installed programs</segtitle>
154 <segtitle>Installed library</segtitle>
155
156 <seglistitem>
157 <seg>
158 tclsh (link to tclsh&tcl-major-version;) and
159 tclsh&tcl-major-version;
160 </seg>
161 <seg>
162 libtcl&tcl-major-version;.so and
163 libtclstub&tcl-major-version;.a
164 </seg>
165 </seglistitem>
166 </segmentedlist>
167
168 <variablelist>
169 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
170 <?dbfo list-presentation="list"?>
171 <?dbhtml list-presentation="table"?>
172
173 <varlistentry id="tclsh&tcl-major-version;">
174 <term><command>tclsh&tcl-major-version;</command></term>
175 <listitem>
176 <para>The Tcl command shell</para>
177 <indexterm zone="ch-system-tcl tclsh&tcl-major-version;">
178 <primary sortas="b-tclsh&tcl-major-version;">tclsh&tcl-major-version;</primary>
179 </indexterm>
180 </listitem>
181 </varlistentry>
182
183 <varlistentry id="tclsh">
184 <term><command>tclsh</command></term>
185 <listitem>
186 <para>A link to tclsh&tcl-major-version;</para>
187 <indexterm zone="ch-system-tcl tclsh">
188 <primary sortas="b-tclsh">tclsh</primary>
189 </indexterm>
190 </listitem>
191 </varlistentry>
192
193 <varlistentry id="libtcl&tcl-major-version;.so">
194 <term><filename class="libraryfile">libtcl&tcl-major-version;.so</filename></term>
195 <listitem>
196 <para>The Tcl library</para>
197 <indexterm zone="ch-system-tcl libtcl&tcl-major-version;.so">
198 <primary sortas="c-libtcl&tcl-major-version;.so">libtcl&tcl-major-version;.so</primary>
199 </indexterm>
200 </listitem>
201 </varlistentry>
202
203 <varlistentry id="libtclstub&tcl-major-version;.a">
204 <term><filename class="libraryfile">libtclstub&tcl-major-version;.a</filename></term>
205 <listitem>
206 <para>The Tcl Stub library</para>
207 <indexterm zone="ch-system-tcl libtclstub&tcl-major-version;.a">
208 <primary sortas="c-libtclstub&tcl-major-version;.a">libtclstub&tcl-major-version;.a</primary>
209 </indexterm>
210 </listitem>
211 </varlistentry>
212
213 </variablelist>
214
215 </sect2>
216
217</sect1>
Note: See TracBrowser for help on using the repository browser.