source: chapter06/gmp.xml@ 0376c98

Last change on this file since 0376c98 was 0376c98, checked in by Douglas R. Reno <renodr@…>, 8 years ago

Add a caution in the gmp section about possible Illegal Instruction errors if the host is misidentified or the libraries are copied to different systems. Merged from trunk r11044.

Remove obsolete note about iconv() in Chapter 6 Glibc. Merged from trunk r11043.

Add a note about UEFI and Secure Boot systems to the GRUB page. Merged from trunk r11043.

Add notes about paths for 64-bit systems in the Adjusting the Toolchain page. Merged from trunk r11043.

Update to linux-4.5. Merged from trunk r11042.

Update to grep-2.24. Merged from trunk r11042.

Update to expat-2.1.1. Merged from trunk r11042.

Update to tzdata2016c. Merged from trunk r11042.

Update to iproute2-4.5.0. Merged from trunk r11042.

Update to man-pages-4.05. Merged from trunk r11042.

Update to gzip-1.7. Merged from trunk r11042.

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/systemd@11045 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 4.8 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
8<sect1 id="ch-system-gmp" role="wrap">
9 <?dbhtml filename="gmp.html"?>
10
11 <sect1info condition="script">
12 <productname>gmp</productname>
13 <productnumber>&gmp-version;</productnumber>
14 <address>&gmp-url;</address>
15 </sect1info>
16
17 <title>GMP-&gmp-version;</title>
18
19 <indexterm zone="ch-system-gmp">
20 <primary sortas="a-GMP">GMP</primary>
21 </indexterm>
22
23 <sect2 role="package">
24 <title/>
25
26 <para>The GMP package contains math libraries. These have useful functions
27 for arbitrary precision arithmetic.</para>
28
29 <segmentedlist>
30 <segtitle>&buildtime;</segtitle>
31 <segtitle>&diskspace;</segtitle>
32
33 <seglistitem>
34 <seg>&gmp-ch6-sbu;</seg>
35 <seg>&gmp-ch6-du;</seg>
36 </seglistitem>
37 </segmentedlist>
38
39 </sect2>
40
41 <sect2 role="installation">
42 <title>Installation of GMP</title>
43
44 <note>
45 <para>If you are building for 32-bit x86, but you have a CPU which is
46 capable of running 64-bit code <emphasis>and</emphasis> you have specified
47 <envar>CFLAGS</envar> in the environment, the configure script will
48 attempt to configure for 64-bits and fail.
49 Avoid this by invoking the configure command below with
50<screen role="nodump"><userinput><parameter>ABI=32</parameter> ./configure ...</userinput></screen></para>
51 </note>
52
53 <para>Prepare GMP for compilation:</para>
54
55<screen><userinput remap="configure">./configure --prefix=/usr \
56 --enable-cxx \
57 --disable-static \
58 --docdir=/usr/share/doc/gmp-&gmp-version;</userinput></screen>
59
60 <variablelist>
61 <title>The meaning of the new configure options:</title>
62
63 <varlistentry>
64 <term><parameter>--enable-cxx</parameter></term>
65 <listitem>
66 <para>This parameter enables C++ support</para>
67 </listitem>
68 </varlistentry>
69
70 <varlistentry>
71 <term><parameter>--docdir=/usr/share/doc/gmp-&gmp-version;</parameter></term>
72 <listitem>
73 <para>This variable specifies the correct place for the
74 documentation.</para>
75 </listitem>
76 </varlistentry>
77
78 </variablelist>
79
80 <para>Compile the package and generate the HTML documentation:</para>
81
82<screen><userinput remap="make">make
83make html</userinput></screen>
84
85 <important>
86 <para>The test suite for GMP in this section is considered critical.
87 Do not skip it under any circumstances.</para>
88 </important>
89
90 <para>Test the results:</para>
91
92<screen><userinput remap="test">make check 2>&amp;1 | tee gmp-check-log</userinput></screen>
93
94 <caution><para>The code in gmp is highly optimized for the processor where
95 it is built. Occasionally, the code that detects the processor
96 misidentifies the system capabilities and there will be errors in the
97 tests or other applications using the gmp libraries with the message
98 "Illegal instruction". In this case, gmp should be reconfigured with the
99 option --build=x86_64-unknown-linux-gnu and rebuilt.</para></caution>
100
101 <para>Ensure that all 190 tests in the test suite passed.
102 Check the results by issuing the following command:</para>
103
104<screen><userinput remap="test">awk '/# PASS:/{total+=$3} ; END{print total}' gmp-check-log</userinput></screen>
105
106 <para>Install the package and its documentation:</para>
107
108<screen><userinput remap="install">make install
109make install-html</userinput></screen>
110
111 </sect2>
112
113 <sect2 id="contents-gmp" role="content">
114 <title>Contents of GMP</title>
115
116 <segmentedlist>
117 <segtitle>Installed Libraries</segtitle>
118 <segtitle>Installed directory</segtitle>
119
120 <seglistitem>
121 <seg>libgmp.so and libgmpxx.so</seg>
122 <seg>/usr/share/doc/gmp-&gmp-version;</seg>
123 </seglistitem>
124 </segmentedlist>
125
126 <variablelist>
127 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
128 <?dbfo list-presentation="list"?>
129 <?dbhtml list-presentation="table"?>
130
131 <varlistentry id="libgmp">
132 <term><filename class="libraryfile">libgmp</filename></term>
133 <listitem>
134 <para>Contains precision math functions</para>
135 <indexterm zone="ch-system-gmp libgmp">
136 <primary sortas="c-libgmp">libgmp</primary>
137 </indexterm>
138 </listitem>
139 </varlistentry>
140
141 <varlistentry id="libgmpxx">
142 <term><filename class="libraryfile">libgmpxx</filename></term>
143 <listitem>
144 <para>Contains C++ precision math functions</para>
145 <indexterm zone="ch-system-gmp libgmpxx">
146 <primary sortas="c-libgmpxx">libgmpxx</primary>
147 </indexterm>
148 </listitem>
149 </varlistentry>
150 </variablelist>
151
152 </sect2>
153
154</sect1>
Note: See TracBrowser for help on using the repository browser.