source: general/genlib/fftw.xml@ 34dec13

10.0 10.1 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 34dec13 was 34dec13, checked in by Xi Ruoyao <xry111@…>, 2 years ago

fftw: don't install static lib

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

  • Property mode set to 100644
File size: 10.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 fftw-download-http "http://www.fftw.org/fftw-&fftw-version;.tar.gz">
8 <!ENTITY fftw-download-ftp "ftp://ftp.fftw.org/pub/fftw/fftw-&fftw-version;.tar.gz ">
9 <!ENTITY fftw-md5sum "8aac833c943d8e90d51b697b27d4384d">
10 <!ENTITY fftw-size "3.9 MB">
11 <!ENTITY fftw-buildsize "57 MB (add 1 MB for tests)">
12 <!ENTITY fftw-time "1.6 SBU (using parallelism=4; add 1.9 SBU for tests)">
13]>
14
15<sect1 id="fftw" xreflabel="fftw-&fftw-version;">
16 <?dbhtml filename="fftw.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>fftw-&fftw-version;</title>
24
25 <indexterm zone="fftw">
26 <primary sortas="a-fftw">fftw</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to fftw</title>
31
32 <para>
33 FFTW is a C subroutine library for computing the discrete Fourier
34 transform (DFT) in one or more dimensions, of arbitrary input size, and
35 of both real and complex data (as well as of even/odd data, i.e. the
36 discrete cosine/sine transforms or DCT/DST).
37 </para>
38
39 &lfs91_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&fftw-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&fftw-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &fftw-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &fftw-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &fftw-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &fftw-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <para condition="html" role="usernotes">
76 User Notes: <ulink url="&blfs-wiki;/fftw"/>
77 </para>
78
79 </sect2>
80
81 <sect2 role="installation">
82 <title>Installation of fftw</title>
83
84 <note>
85 <para>
86 We build fftw three times for different libraries in different
87 numerical precisions: the default double precision floating point, the
88 older 32-bit (single precision) version named float which sacrifices
89 precision for speed, and the long double which offers increased
90 precision at the cost of slower execution.
91 </para>
92 </note>
93
94 <para>
95 The first build is for double precision arithmetic. Install
96 <application>fftw</application> by running the following commands:
97 </para>
98
99<screen><userinput>./configure --prefix=/usr \
100 --enable-shared \
101 --disable-static \
102 --enable-threads \
103 --enable-sse2 \
104 --enable-avx &amp;&amp;
105make</userinput></screen>
106
107 <para>
108 To test the results, issue: <command>make check</command>.
109 On 32-bit systems, the tests can take substantially longer than
110 they would on 64-bit machines.
111 </para>
112
113 <para>
114 Now, as the <systemitem class="username">root</systemitem> user:
115 </para>
116
117<screen role="root"><userinput>make install</userinput></screen>
118
119 <para>
120 Now build single precision:
121 </para>
122
123<screen><userinput>make clean &amp;&amp;
124
125./configure --prefix=/usr \
126 --enable-shared \
127 --disable-static \
128 --enable-threads \
129 --enable-sse2 \
130 --enable-avx \
131 --enable-float &amp;&amp;
132make</userinput></screen>
133
134 <para>
135 As the <systemitem class="username">root</systemitem> user:
136 </para>
137
138<screen role="root"><userinput>make install</userinput></screen>
139
140 <para>
141 Finally, build long double precision:
142 </para>
143
144<screen><userinput>make clean &amp;&amp;
145
146./configure --prefix=/usr \
147 --enable-shared \
148 --disable-static \
149 --enable-threads \
150 --enable-long-double &amp;&amp;
151make</userinput></screen>
152
153 <para>
154 As the <systemitem class="username">root</systemitem> user:
155 </para>
156
157<screen role="root"><userinput>make install</userinput></screen>
158
159 </sect2>
160
161 <sect2 role="commands">
162 <title>Command Explanations</title>
163
164 <para>
165 <parameter>--enable-shared --disable-static</parameter>: Use shared
166 libs instead of static libs.
167 </para>
168
169 <para>
170 <parameter>--enable-threads</parameter>: This enables <filename
171 class="libraryfile"> libfftw3_threads.so</filename> to be compiled.
172 It is used by e.g. the <application>gimp</application> plugin from
173 <ulink url="http://gmic.eu/">G'MIC</ulink>.
174 </para>
175
176 <para>
177 <parameter>--enable-float</parameter>: This enables building the library that
178 uses single precision floating point arithmetic. It is faster but less
179 precise than the default double precision library. The library will be
180 called <filename class="libraryfile">libfftw3f.so</filename> needed by
181 <xref linkend="pulseaudio"/>.
182 </para>
183
184 <para>
185 <parameter>--enable-long-double</parameter>: This enables building the
186 library that uses higher precision long-double floating point arithmetic.
187 The library will be called <filename
188 class="libraryfile">libfftw3l.so</filename>.
189 </para>
190
191 </sect2>
192
193 <sect2 role="content">
194 <title>Contents</title>
195
196 <segmentedlist>
197 <segtitle>Installed Programs</segtitle>
198 <segtitle>Installed Libraries</segtitle>
199 <segtitle>Installed Directories</segtitle>
200
201 <seglistitem>
202 <seg>
203 fftw-wisdom and fftw-wisdom-to-conf
204 </seg>
205 <seg>
206 libfftw3.so, libfftw3_threads.so, libfftw3f.so,
207 libfftw3f_threads.so, libfftw3l.so and libfftw3l_threads.so
208 </seg>
209 <seg>
210 None
211 </seg>
212 </seglistitem>
213 </segmentedlist>
214
215 <variablelist>
216 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
217 <?dbfo list-presentation="list"?>
218 <?dbhtml list-presentation="table"?>
219
220 <varlistentry id="fftw-wisdom">
221 <term><command>fftw-wisdom</command></term>
222 <listitem>
223 <para>
224 is a utility to generate FFTW wisdom files, which contain saved
225 information about how to optimally compute (Fourier) transforms of
226 various sizes.
227 </para>
228 <indexterm zone="fftw fftw-wisdom">
229 <primary sortas="b-fftw-wisdom">fftw-wisdom</primary>
230 </indexterm>
231 </listitem>
232 </varlistentry>
233
234 <varlistentry id="fftw-wisdom-to-conf">
235 <term><command>fftw-wisdom-to-conf</command></term>
236 <listitem>
237 <para>
238 is a utility to generate C configuration routines from FFTW wisdom
239 files, where the latter contain saved information about how to
240 optimally compute (Fourier) transforms of various sizes.
241 </para>
242 <indexterm zone="fftw fftw-wisdom-to-conf">
243 <primary sortas="b-fftw-wisdom-to-conf">fftw-wisdom-to-conf</primary>
244 </indexterm>
245 </listitem>
246 </varlistentry>
247
248 <varlistentry id="libfftw3">
249 <term><filename class="libraryfile">libfftw3.so</filename></term>
250 <listitem>
251 <para>
252 is the Fast Fourier Transform library.
253 </para>
254 <indexterm zone="fftw libfftw3">
255 <primary sortas="c-libfftw3">libfftw3.so</primary>
256 </indexterm>
257 </listitem>
258 </varlistentry>
259
260 <varlistentry id="libfftw3_threads">
261 <term><filename class="libraryfile">libfftw3_threads.so</filename></term>
262 <listitem>
263 <para>
264 is the threaded Fast Fourier Transform library.
265 </para>
266 <indexterm zone="fftw libfftw3_threads">
267 <primary sortas="c-libfftw3_threads">libfftw3_threads.so</primary>
268 </indexterm>
269 </listitem>
270 </varlistentry>
271
272 <varlistentry id="libfftw3f">
273 <term><filename class="libraryfile">libfftw3f.so</filename></term>
274 <listitem>
275 <para>
276 is the single-precision Fast Fourier Transform library, described
277 as <quote>float</quote> for historic reasons.
278 </para>
279 <indexterm zone="fftw libfftw3f">
280 <primary sortas="c-libfftw3f">libfftw3f.so</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284
285 <varlistentry id="libfftw3f_threads">
286 <term><filename class="libraryfile">libfftw3f_threads.so</filename></term>
287 <listitem>
288 <para>
289 is the threaded single-precision Fast Fourier Transform library.
290 </para>
291 <indexterm zone="fftw libfftw3f_threads">
292 <primary sortas="c-libfftw3f_threads">libfftw3f_threads.so</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="libfftw3l">
298 <term><filename class="libraryfile">libfftw3l.so</filename></term>
299 <listitem>
300 <para>
301 is the long double Fast Fourier Transform library.
302 </para>
303 <indexterm zone="fftw libfftw3l">
304 <primary sortas="c-libfftw3l">libfftw3l.so</primary>
305 </indexterm>
306 </listitem>
307 </varlistentry>
308
309 <varlistentry id="libfftw3l_threads">
310 <term><filename class="libraryfile">libfftw3l_threads.so</filename></term>
311 <listitem>
312 <para>
313 is the threaded long double Fast Fourier Transform library.
314 </para>
315 <indexterm zone="fftw libfftw3l_threads">
316 <primary sortas="c-libfftw3l_threads">libfftw3l_threads.so</primary>
317 </indexterm>
318 </listitem>
319 </varlistentry>
320
321 </variablelist>
322
323 </sect2>
324
325</sect1>
Note: See TracBrowser for help on using the repository browser.