source: general/prog/tcl.xml@ 85e109d

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 85e109d was 85e109d, checked in by Fernando de Oliveira <fernando@…>, 10 years ago

tcl-8.6.2: fixes for the build instructions.
Add optional instructions for sqlite-tcl to SQLite-3.8.6.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@14282 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 9.2 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 <!ENTITY tcl-download-http "&sourceforge-repo;/tcl/tcl&tcl-version;-src.tar.gz">
8 <!ENTITY tcl-download-ftp " ">
9 <!ENTITY tcl-md5sum "8103eaf6d71acb716a64224492f09d5f">
10 <!ENTITY tcl-size "8.5 MB">
11 <!ENTITY tcl-buildsize "79 MB (includes documentation installation)">
12 <!ENTITY tcl-time "0.9 SBU (adittional 1.5 SBU for the tests)">
13
14 <!ENTITY tcl-doc-download "&sourceforge-repo;/tcl/tcl&tcl-version;-html.tar.gz">
15 <!ENTITY tcl-doc-md5sum "75019542fa735eb0c26e385b1a41296c">
16 <!ENTITY tcl-doc-size "1.2 MB">
17
18 <!-- Ensure this is updated when Tcl moves from the 8.6.x branch -->
19 <!ENTITY tcl-ver "8.6">
20]>
21
22<sect1 id="tcl" xreflabel="Tcl-&tcl-version;">
23 <?dbhtml filename="tcl.html"?>
24
25 <sect1info>
26 <othername>$LastChangedBy$</othername>
27 <date>$Date$</date>
28 </sect1info>
29
30 <title>Tcl-&tcl-version;</title>
31
32 <indexterm zone="tcl">
33 <primary sortas="a-Tcl">Tcl</primary>
34 </indexterm>
35
36 <sect2 role="package">
37 <title>Introduction to Tcl</title>
38
39 <para>
40 The <application>Tcl</application> package contains the Tool Command
41 Language, a robust general-purpose scripting language.
42 </para>
43
44 &lfs76_checked;
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>
50 Download (HTTP): <ulink url="&tcl-download-http;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download (FTP): <ulink url="&tcl-download-ftp;"/>
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download MD5 sum: &tcl-md5sum;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Download size: &tcl-size;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated disk space required: &tcl-buildsize;
71 </para>
72 </listitem>
73 <listitem>
74 <para>
75 Estimated build time: &tcl-time;
76 </para>
77 </listitem>
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
81 <itemizedlist spacing="compact">
82 <title>Optional Documentation</title>
83 <listitem>
84 <para>
85 Download (HTTP): <ulink url="&tcl-doc-download;"/>
86 </para>
87 </listitem>
88 <listitem>
89 <para>
90 Download MD5 sum: &tcl-doc-md5sum;
91 </para>
92 </listitem>
93 <listitem>
94 <para>
95 Download size: &tcl-doc-size;
96 </para>
97 </listitem>
98 </itemizedlist>
99
100 <para condition="html" role="usernotes">User Notes:
101 <ulink url="&blfs-wiki;/tcl"/>
102 </para>
103 </sect2>
104
105 <sect2 role="installation">
106 <title>Installation of Tcl</title>
107
108 <para>
109 This package is also installed in LFS during the bootstrap phase.
110 As it is not installed during Chapter 6 of LFS, installation instructions
111 are included here in BLFS.
112 </para>
113
114 <para>
115 If you downloaded the optional documentation, unpack the tarball
116 by issuing the following command:
117 </para>
118
119<screen><userinput>tar -xf ../tcl&tcl-version;-html.tar.gz --strip-components=1</userinput></screen>
120
121 <para>
122 Install <application>Tcl</application> by running the following
123 commands:
124 </para>
125
126<screen><userinput>rm -rf pkgs/sqlite3.8.6 &amp;&amp;
127export SRCDIR=`pwd` &amp;&amp;
128
129cd unix &amp;&amp;
130
131./configure --prefix=/usr \
132 --without-tzdata \
133 --mandir=/usr/share/man \
134 $([ $(uname -m) = x86_64 ] &amp;&amp; echo --enable-64bit) &amp;&amp;
135make &amp;&amp;
136<!--
137sed -e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" \
138 -e "/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \
139 -i tclConfig.sh</userinput></screen>-->
140sed -e "s#$SRCDIR/unix#/usr/lib#" \
141 -e "s#$SRCDIR#/usr/include#" \
142 -i tclConfig.sh &amp;&amp;
143
144sed -e "s#$SRCDIR/unix/pkgs/tdbc1.0.1#/usr/lib/tdbc1.0.0#" \
145 -e "s#$SRCDIR/pkgs/tdbc1.0.1/generic#/usr/include#" \
146 -e "s#$SRCDIR/pkgs/tdbc1.0.1/library#/usr/lib/tcl8.6#" \
147 -e "s#$SRCDIR/pkgs/tdbc1.0.1#/usr/include#" \
148 -i pkgs/tdbc1.0.1/tdbcConfig.sh &amp;&amp;
149
150sed -e "s#$SRCDIR/unix/pkgs/itcl4.0.1#/usr/lib/itcl4.0.0#" \
151 -e "s#$SRCDIR/pkgs/itcl4.0.1/generic#/usr/include#" \
152 -e "s#$SRCDIR/pkgs/itcl4.0.1#/usr/include#" \
153 -i pkgs/itcl4.0.1/itclConfig.sh &amp;&amp;
154
155unset SRCDIR</userinput></screen>
156
157
158 <para>
159 To test the results, issue: <command>make test</command>.
160 </para>
161
162 <para>
163 Now, as the <systemitem class="username">root</systemitem> user:
164 </para>
165
166<screen role="root"><userinput>make install &amp;&amp;
167make install-private-headers &amp;&amp;
168ln -v -sf tclsh&tcl-ver; /usr/bin/tclsh &amp;&amp;
169chmod -v 755 /usr/lib/libtcl&tcl-ver;.so</userinput></screen>
170
171 <para>
172 If you downloaded the optional documentation, install it by issuing
173 the following commands as the
174 <systemitem class="username">root</systemitem> user:
175 </para>
176
177<screen role="root"><userinput>mkdir -v -p /usr/share/doc/tcl-&tcl-version; &amp;&amp;
178cp -v -r ../html/* /usr/share/doc/tcl-&tcl-version;</userinput></screen>
179
180 </sect2>
181
182 <sect2 role="commands">
183 <title>Command Explanations</title>
184
185 <para>
186 <option>--without-tzdata</option>: This switch prevents installation
187 of the shipped timezone data which are older than the ones provided
188 in LFS.
189 </para>
190
191 <para>
192 <parameter>$([ $(uname -m) = x86_64 ] &amp;&amp; echo
193 --enable-64bit)</parameter>: This switch is used to enable 64 bit
194 support in <application>Tcl</application> on 64 bit operating
195 systems.
196 </para>
197
198 <para>
199 <command>make install-private-headers</command>: This command is
200 used to install the <application>Tcl</application> library interface
201 headers used by other packages if they link to the
202 <application>Tcl</application> library.
203 </para>
204
205 <para>
206 <command>ln -v -sf tclsh&tcl-ver; /usr/bin/tclsh</command>: This
207 command is used to create a compatibility symbolic link to the
208 <command>tclsh&tcl-ver;</command> file as many packages expect a file
209 named <command>tclsh</command>.
210 </para>
211
212 <para>
213 <command>rm -rf pkgs/sqlite3.8.6 </command>: <application>SQLite Tcl
214 Extension Architecture (TEA)</application> is removed, because it is
215 optionally installed by <xref linkend="sqlite"/>
216 </para>
217
218 <para>
219 <command>sed -e ...</command>: The <application>Tcl</application> package
220 expects that its source tree is preserved so that packages depending on
221 it for their compilation can utilize it. These <command>sed</command>
222 remove the references to the build directory and replace them with saner
223 system-wide locations.
224 </para>
225
226 </sect2>
227
228 <sect2 role="content">
229 <title>Contents</title>
230
231 <segmentedlist>
232 <segtitle>Installed Programs</segtitle>
233 <segtitle>Installed Libraries</segtitle>
234 <segtitle>Installed Directories</segtitle>
235
236 <seglistitem>
237 <seg>
238 tclsh and tclsh&tcl-ver;
239 </seg>
240 <seg>
241 libtcl&tcl-ver;.so and libtclstub&tcl-ver;.a
242 </seg>
243 <seg>
244 /usr/lib/itcl4.0.1,
245 /usr/lib/tcl8,
246 /usr/lib/tcl&tcl-ver;,
247 /usr/lib/tdbc1.0.1,
248 /usr/lib/tdbcmysql1.0.1,
249 /usr/lib/tdbcodbc1.0.1,
250 /usr/lib/tdbcpostgres1.0.1,
251 /usr/lib/thread2.7.1,
252 /usr/share/doc/&tcl-version;, and
253 /usr/share/man/mann
254 </seg>
255 </seglistitem>
256 </segmentedlist>
257
258 <variablelist>
259 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
260 <?dbfo list-presentation="list"?>
261 <?dbhtml list-presentation="table"?>
262
263 <varlistentry id="tclsh">
264 <term><command>tclsh</command></term>
265 <listitem>
266 <para>
267 is a symlink to the <command>tclsh&tcl-ver;</command> program.
268 </para>
269 <indexterm zone="tcl tclsh">
270 <primary sortas="b-tclsh">tclsh</primary>
271 </indexterm>
272 </listitem>
273 </varlistentry>
274
275 <varlistentry id="tclsh-eight">
276 <term><command>tclsh&tcl-ver;</command></term>
277 <listitem>
278 <para>
279 is a simple shell containing the
280 <application>Tcl</application> interpreter.
281 </para>
282 <indexterm zone="tcl tclsh-eight">
283 <primary sortas="b-tclsh&tcl-ver;">tclsh&tcl-ver;</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 <varlistentry id="libtcl">
289 <term><filename class="libraryfile">libtcl&tcl-ver;.so</filename></term>
290 <listitem>
291 <para>
292 contains the API functions required by
293 <application>Tcl</application>.
294 </para>
295 <indexterm zone="tcl libtcl">
296 <primary sortas="c-libtcl">libtcl&tcl-ver;.so</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 </variablelist>
302
303 </sect2>
304
305</sect1>
Note: See TracBrowser for help on using the repository browser.