Changeset 37e35d2 for chapter08/tcl.xml
- Timestamp:
- 06/29/2020 07:55:01 AM (4 years ago)
- Branches:
- multilib-10.1
- Children:
- c4804e8
- Parents:
- d4fdde6
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
chapter08/tcl.xml
rd4fdde6 r37e35d2 4 4 <!ENTITY % general-entities SYSTEM "../general.ent"> 5 5 %general-entities; 6 <!ENTITY tdbc-ver "1.1.1"> 7 <!ENTITY itcl-ver "4.2.0"> 6 8 ]> 7 9 … … 33 35 34 36 <seglistitem> 35 <seg>&tcl- ch5-sbu;</seg>36 <seg>&tcl- ch5-du;</seg>37 <seg>&tcl-tmp-sbu;</seg> 38 <seg>&tcl-tmp-du;</seg> 37 39 </seglistitem> 38 40 </segmentedlist> … … 44 46 45 47 <para>This package and the next two (Expect and DejaGNU) are 46 installed to support running the test suites for GCC and Binutils and other48 installed to support running the test suites for GCC and binutils and other 47 49 packages. Installing three packages for testing purposes may seem 48 50 excessive, but it is very reassuring, if not essential, to know that the 49 most important tools are working properly. Even if the test suites are not 50 run in this chapter (they are not mandatory), these packages are required 51 to run the test suites in <xref linkend="chapter-building-system"/>.</para> 52 53 <para>Note that the Tcl package used here is a minimal version needed 51 most important tools are working properly. These packages are required 52 to run the test suites in this chapter.</para> 53 54 <!-- <para>Note that the Tcl package used here is a minimal version needed 54 55 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 <ulink url='&blfs-book;general/tcl.html'>BLFS Tcl procedures</ulink>.</para>--> 57 58 <para>First, unpack the documentation by issuing the following command:</para> 59 60 <screen><userinput remap="pre">tar -xf ../tcl8.6.10-html.tar.gz --strip-components=1</userinput></screen> 56 61 57 62 <para>Prepare Tcl for compilation:</para> 58 63 59 <screen><userinput remap="configure">cd unix 60 ./configure --prefix=/tools</userinput></screen> 64 <screen><userinput remap="configure">SRCDIR=$(pwd) 65 cd unix 66 ./configure --prefix=/usr \ 67 --mandir=/usr/share/man \ 68 $([ "$(uname -m)" = x86_64 ] && echo --enable-64bit)</userinput></screen> 69 70 <variablelist> 71 <title>The meaning of the configure options:</title> 72 73 <varlistentry> 74 <term><parameter>$([ "$(uname -m)" = x86_64 ] && echo --enable-64bit)</parameter></term> 75 <listitem> 76 <para>The construct <parameter>$(<shell command>)</parameter> 77 is replaced by the output of the shell command. Here this output is 78 empty if running on a 32 bit machine, and is 79 <parameter>--enable-64bit</parameter> if running on a 64 bit machine. 80 </para> 81 </listitem> 82 </varlistentry> 83 84 </variablelist> 61 85 62 86 <para>Build the package:</para> 63 87 64 <screen><userinput remap="make">make</userinput></screen> 65 66 <para>Compilation is now complete. As discussed earlier, running the test 67 suite is not mandatory for the temporary tools here in this chapter. To run 68 the Tcl test suite anyway, issue the following command:</para> 69 70 <screen><userinput remap="test">TZ=UTC make test</userinput></screen> 71 72 <para>The Tcl test suite may experience failures under certain host 73 conditions that are not fully understood. Therefore, test suite failures 74 here are not surprising, and are not considered critical. The 75 <parameter>TZ=UTC</parameter> parameter sets the time zone to Coordinated 76 Universal Time (UTC), but only 77 for the duration of the test suite run. This ensures that the clock tests 78 are exercised correctly. Details on the <envar>TZ</envar> environment 79 variable are provided in <xref linkend="chapter-config"/>.</para> 88 <screen><userinput remap="make">make 89 90 sed -e "s|$SRCDIR/unix|/usr/lib|" \ 91 -e "s|$SRCDIR|/usr/include|" \ 92 -i tclConfig.sh 93 94 sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \ 95 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \ 96 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \ 97 -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \ 98 -i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh 99 100 sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \ 101 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;/generic|/usr/include|" \ 102 -e "s|$SRCDIR/pkgs/itcl&itcl-ver;|/usr/include|" \ 103 -i pkgs/itcl&itcl-ver;/itclConfig.sh 104 105 unset SRCDIR</userinput></screen> 106 107 <para>The various <quote>sed</quote> instructions after the 108 <quote>make</quote> command removes references to the build directory from 109 the configuration files and replaces them with the install directory. 110 This is not mandatory for the remainder of LFS, but may be needed in case a 111 package built later uses Tcl.</para> 112 113 <para>To test the results, issue:</para> 114 115 <screen><userinput remap="test">make test</userinput></screen> 80 116 81 117 <para>Install the package:</para> … … 86 122 be removed later:</para> 87 123 88 <screen><userinput remap="install">chmod -v u+w /tools/lib/libtcl&tcl-major-version;.so</userinput></screen> 89 90 <para>Install Tcl's headers. The next package, Expect, requires them 91 to build.</para> 124 <screen><userinput remap="install">chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so</userinput></screen> 125 126 <para>Install Tcl's headers. The next package, Expect, requires them.</para> 92 127 93 128 <screen><userinput remap="install">make install-private-headers</userinput></screen> … … 95 130 <para>Now make a necessary symbolic link:</para> 96 131 97 <screen><userinput remap="install">ln -s v tclsh&tcl-major-version; /tools/bin/tclsh</userinput></screen>132 <screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh</userinput></screen> 98 133 99 134 </sect2> … … 107 142 108 143 <seglistitem> 109 <seg>tclsh (link to tclsh&tcl-major-version;) and tclsh&tcl-major-version;</seg> 110 <seg>libtcl&tcl-major-version;.so, libtclstub&tcl-major-version;.a</seg> 144 <seg> 145 tclsh (link to tclsh&tcl-major-version;) and 146 tclsh&tcl-major-version; 147 </seg> 148 <seg> 149 libtcl&tcl-major-version;.so and 150 libtclstub&tcl-major-version;.a 151 </seg> 111 152 </seglistitem> 112 153 </segmentedlist>
Note:
See TracChangeset
for help on using the changeset viewer.