source: general/genlib/pth.xml@ 023cc87

11.0 11.1 11.2 lazarus plabs/python-mods qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since 023cc87 was 023cc87, checked in by Douglas R. Reno <renodr@…>, 15 months ago

Tag exim and add gcc as an optional dep of pth for gfortran

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