source: archive/pth.xml

trunk
Last change on this file was b60a77fb, checked in by Bruce Dubbs <bdubbs@…>, 3 months ago

Save pth.xml as archived

  • Property mode set to 100644
File size: 5.9 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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 pth-download-http "&gnu-http;/pth/pth-&pth-version;.tar.gz">
8 <!ENTITY pth-download-ftp " ">
9 <!ENTITY pth-md5sum "9cb4a25331a4c4db866a31cbe507c793">
10 <!ENTITY pth-size "652 KB">
11 <!ENTITY pth-buildsize "5 MB">
12 <!ENTITY pth-time "0.2 SBU">
13]>
14
15<sect1 id="pth" xreflabel="Pth-&pth-version;">
16 <?dbhtml filename="pth.html"?>
17
18
19 <title>Pth-&pth-version;</title>
20
21 <indexterm zone="pth">
22 <primary sortas="a-Pth">Pth</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Pth</title>
27
28 <para>
29 The <application>Pth</application> package contains a very portable
30 POSIX/ANSI-C based library for Unix platforms which provides
31 non-preemptive priority-based scheduling for multiple threads of
32 execution (multithreading) inside event-driven applications. All
33 threads run in the same address space of the server application, but
34 each thread has its own individual program-counter, run-time stack,
35 signal mask and errno variable.
36 </para>
37
38 &lfs120_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&pth-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&pth-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &pth-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &pth-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &pth-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &pth-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">Pth Dependencies</bridgehead>
75
76 <bridgehead renderas="sect4">Optional</bridgehead>
77 <para role="optional">
78 <xref linkend="gcc"/> (for gfortran) and
79 <xref linkend="libnsl"/>
80 </para>
81
82 </sect2>
83
84 <sect2 role="installation">
85 <title>Installation of Pth</title>
86
87 <caution>
88 <para>
89 Don't add the <option>--enable-pthread</option> parameter to the
90 <command>configure</command> command below else you will overwrite the
91 pthread library and interface header installed by the
92 <application>Glibc</application> package in LFS.
93 </para>
94 </caution>
95
96 <para>
97 Install <application>Pth</application> by running the
98 following commands:
99 </para>
100
101<screen><userinput>sed -i 's#$(LOBJS): Makefile#$(LOBJS): pth_p.h Makefile#' Makefile.in &amp;&amp;
102./configure --prefix=/usr \
103 --disable-static \
104 --mandir=/usr/share/man &amp;&amp;
105make</userinput></screen>
106
107 <para>
108 To test the results, issue: <command>make test</command>.
109 </para>
110
111 <para>
112 Now, as the <systemitem class="username">root</systemitem>
113 user:
114 </para>
115
116<screen role="root"><userinput>make install &amp;&amp;
117install -v -m755 -d /usr/share/doc/pth-&pth-version; &amp;&amp;
118install -v -m644 README PORTING SUPPORT TESTS \
119 /usr/share/doc/pth-&pth-version;</userinput></screen>
120 </sect2>
121
122 <sect2 role="commands">
123 <title>Command Explanations</title>
124
125 <para>
126 <command>sed -i 's#$(LOBJS) ...</command>: This <command>sed</command>
127 fixes a race condition in the <filename>Makefile</filename>. It allows
128 running <command>make</command> with multiple jobs (e.g., <command>make
129 -j4</command>).
130 <!-- how ironic that a package for using multiple threads has this bug in
131 its Makefile -->
132 </para>
133
134 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
135 href="../../xincludes/static-libraries.xml"/>
136
137 <para>
138 <parameter>--mandir=/usr/share/man</parameter>: This switch puts the
139 man pages in <filename class="directory">/usr/share/man</filename> instead
140 of <filename class="directory">/usr/man</filename>.
141 </para>
142 </sect2>
143
144 <sect2 role="content">
145 <title>Contents</title>
146
147 <segmentedlist>
148 <segtitle>Installed Program</segtitle>
149 <segtitle>Installed Library</segtitle>
150 <segtitle>Installed Directory</segtitle>
151
152 <seglistitem>
153 <seg>pth-config</seg>
154 <seg>libpth.so</seg>
155 <seg>/usr/share/doc/pth-&pth-version;</seg>
156 </seglistitem>
157 </segmentedlist>
158
159 <variablelist>
160 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
161 <?dbfo list-presentation="list"?>
162 <?dbhtml list-presentation="table"?>
163
164 <varlistentry id="pth-config">
165 <term><command>pth-config</command></term>
166 <listitem>
167 <para>
168 is a utility used to configure and build applications based on
169 the pth(3) library. It can be used to query the C compiler and
170 linker flags which are required to correctly compile and link the
171 application against the pth(3) library
172 </para>
173 <indexterm zone="pth pth-config">
174 <primary sortas="b-pth-config">pth-config</primary>
175 </indexterm>
176 </listitem>
177 </varlistentry>
178
179 <varlistentry id="libpth">
180 <term><filename class="libraryfile">libpth.so</filename></term>
181 <listitem>
182 <para>
183 contains the API functions used by the GNU Portable Threads
184 Library
185 </para>
186 <indexterm zone="pth libpth">
187 <primary sortas="c-libpth">libpth.so</primary>
188 </indexterm>
189 </listitem>
190 </varlistentry>
191 </variablelist>
192 </sect2>
193
194</sect1>
Note: See TracBrowser for help on using the repository browser.