source: general/prog/valgrind.xml@ da3947ef

10.0 10.1 11.0 7.10 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind ken/refactor-virt lazarus nosym perl-modules qt5new trunk upgradedb xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since da3947ef was da3947ef, checked in by Douglas R. Reno <renodr@…>, 7 years ago

More GCC5 Tags

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

  • Property mode set to 100644
File size: 10.5 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 valgrind-download-http "http://valgrind.org/downloads/valgrind-&valgrind-version;.tar.bz2">
8 <!ENTITY valgrind-download-ftp " ">
9 <!ENTITY valgrind-md5sum "60ddae962bc79e7c95cfc4667245707f">
10 <!ENTITY valgrind-size "10.5 MB">
11 <!ENTITY valgrind-buildsize "401 MB and an additional 20 MB for tests">
12 <!ENTITY valgrind-time "1.1 SBU and an additional 4.7 SBU for tests">
13]>
14
15<sect1 id="valgrind" xreflabel="Valgrind-&valgrind-version;">
16 <?dbhtml filename="valgrind.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Valgrind-&valgrind-version;</title>
24
25 <indexterm zone="valgrind">
26 <primary sortas="a-Valgrind">Valgrind</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Valgrind</title>
31
32 <para>
33 <application>Valgrind</application> is an instrumentation framework for
34 building dynamic analysis tools. There are Valgrind tools that can
35 automatically detect many memory management and threading bugs, and
36 profile programs in detail. Valgrind can also be used to build new
37 tools.
38 </para>
39
40 &lfs77_checked; &gcc5_checked;
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>
46 Download (HTTP): <ulink url="&valgrind-download-http;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download (FTP): <ulink url="&valgrind-download-ftp;"/>
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download MD5 sum: &valgrind-md5sum;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download size: &valgrind-size;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated disk space required: &valgrind-buildsize;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Estimated build time: &valgrind-time;
72 </para>
73 </listitem>
74 </itemizedlist>
75
76 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
77 <itemizedlist spacing="compact">
78 <listitem>
79 <para>
80 Required patch:
81 <ulink
82 url="&patch-root;/valgrind-&valgrind-version;-glibc_2.21-1.patch"/>
83 </para>
84 </listitem>
85 </itemizedlist>
86
87 <bridgehead renderas="sect3">Valgrind Dependencies</bridgehead>
88
89 <bridgehead renderas="sect4">Optional</bridgehead>
90 <para role="optional">
91 <xref linkend="boost"/>,
92 <xref linkend="llvm"/> (with Clang),
93 <xref linkend="gdb"/> (for tests), and
94 <ulink url="http://www.openmp.org">OpenMP</ulink>
95 </para>
96
97 <bridgehead renderas="sect4">Optional for regenerating the documentation</bridgehead>
98 <para role="optional">
99 <xref linkend="libxslt"/> and
100 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>)
101 </para>
102
103 <para condition="html" role="usernotes">User Notes:
104 <ulink url="&blfs-wiki;/valgrind"/>
105 </para>
106 </sect2>
107
108 <sect2 role="installation">
109 <title>Installation of Valgrind</title>
110
111<!-- check this is needed for versions greater than 3.10.1 -->
112 <para>
113 First apply the following patch for allowing the
114 <command>configure</command> script to use glibc-2.21:
115 </para>
116
117<screen><userinput>patch -Np1 -i ../valgrind-&valgrind-version;-glibc_2.21-1.patch</userinput></screen>
118
119 <para>
120 Install <application>Valgrind</application> by running the following
121 commands:
122 </para>
123
124<screen><userinput>sed -i 's/-mt//g' configure &amp;&amp;
125sed -i 's|/doc/valgrind||' docs/Makefile.in &amp;&amp;
126
127./configure --prefix=/usr \
128 --datadir=/usr/share/doc/valgrind-&valgrind-version; &amp;&amp;
129make</userinput></screen>
130
131 <para>
132 To test the results, issue: <command>make regtest</command>. The tests
133 may hang forever if <xref linkend="gdb"/> is not installed.
134 </para>
135<!-- Note to maintainer: Recheck when next texlive (2015) is released.
136 <para>
137 If you wish to regenerate the documentation, run:
138 </para>
139
140<screen><userinput>make -C docs download-docs</userinput></screen>
141-->
142 <para>
143 Now, as the <systemitem class="username">root</systemitem> user:
144 </para>
145
146<screen role="root"><userinput>make install</userinput></screen>
147
148 </sect2>
149
150 <sect2 role="commands">
151 <title>Command Explanations</title>
152
153 <para>
154 <command>sed -i 's/-mt//g' configure</command>: Fixes configure script to
155 find newer versions of Boost.
156 </para>
157
158 <para>
159 <command>sed -i ... docs/Makefile.in </command>: This sed provides for
160 installing the documentation in a versioned directory.
161 </para>
162
163 </sect2>
164
165 <sect2 role="content">
166 <title>Contents</title>
167
168 <segmentedlist>
169 <segtitle>Installed Programs</segtitle>
170 <segtitle>Installed Library</segtitle>
171 <segtitle>Installed Directories</segtitle>
172
173 <seglistitem>
174 <seg>
175 callgrind_annotate,
176 callgrind_control,
177 cg_annotate,
178 cg_diff,
179 cg_merge,
180 ms_print,
181 valgrind,
182 valgrind-di-server,
183 valgrind-listener, and
184 vgdb
185 </seg>
186 <seg>
187 libcoregrind-&lt;Arch&gt;-linux.a,
188 libreplacemalloc_toolpreload-&lt;Arch&gt;-linux.a,
189 libvex-&lt;Arch&gt;-linux.a,
190 vgpreload_core-&lt;Arch&gt;-linux.so,
191 vgpreload_drd-&lt;Arch&gt;-linux.so,
192 vgpreload_exp-dhat-&lt;Arch&gt;-linux.so,
193 vgpreload_exp-sgcheck-&lt;Arch&gt;-linux.so,
194 vgpreload_helgrind-&lt;Arch&gt;-linux.so,
195 vgpreload_massif-&lt;Arch&gt;-linux.so, and
196 vgpreload_memcheck-&lt;Arch&gt;-linux.so, where
197 &lt;Arch&gt;=x86, amd64
198 </seg>
199 <seg>
200 /usr/lib/valgrind,
201 /usr/include/valgrind, and
202 /usr/share/doc/valgrind-&valgrind-version;
203 </seg>
204 </seglistitem>
205 </segmentedlist>
206
207 <variablelist>
208 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
209 <?dbfo list-presentation="list"?>
210 <?dbhtml list-presentation="table"?>
211
212 <varlistentry id="valgrind-prog">
213 <term><command>valgrind</command></term>
214 <listitem>
215 <para>
216 is a program for debugging and profiling Linux executables.
217 </para>
218 <indexterm zone="valgrind valgrind-prog">
219 <primary sortas="b-valgrind">valgrind</primary>
220 </indexterm>
221 </listitem>
222 </varlistentry>
223
224 <varlistentry id="callgrind_annotate">
225 <term><command>callgrind_annotate</command></term>
226 <listitem>
227 <para>
228 takes an output file produced by the
229 <application>Valgrind</application> tool Callgrind and prints the
230 information in an easy-to-read form.
231 </para>
232 <indexterm zone="callgrind_annotate">
233 <primary sortas="b-callgrind_annotate">callgrind_annotate</primary>
234 </indexterm>
235 </listitem>
236 </varlistentry>
237
238 <varlistentry id="callgrind_control">
239 <term><command>callgrind_control</command></term>
240 <listitem>
241 <para>
242 controls programs being run by the <application>Valgrind</application>
243 tool Callgrind.
244 </para>
245 <indexterm zone="valgrind callgrind_control">
246 <primary sortas="b-callgrind_control">callgrind_control</primary>
247 </indexterm>
248 </listitem>
249 </varlistentry>
250
251 <varlistentry id="cg_annotate">
252 <term><command>cg_annotate</command></term>
253 <listitem>
254 <para>
255 is a post-processing tool for the <application>Valgrind</application>
256 tool Cachegrind.
257 </para>
258 <indexterm zone="valgrind cg_annotate">
259 <primary sortas="b-cg_annotate">cg_annotate</primary>
260 </indexterm>
261 </listitem>
262 </varlistentry>
263
264 <varlistentry id="cg_diff">
265 <term><command>cg_diff</command></term>
266 <listitem>
267 <para>
268 compares two Cachegrind output files.
269 </para>
270 <indexterm zone="valgrind cg_diff">
271 <primary sortas="b-cg_diff">cg_diff</primary>
272 </indexterm>
273 </listitem>
274 </varlistentry>
275
276 <varlistentry id="cg_merge">
277 <term><command>cg_merge</command></term>
278 <listitem>
279 <para>
280 merges multiple Cachegrind output files into one.
281 </para>
282 <indexterm zone="valgrind cg_merge">
283 <primary sortas="b-cg_merge">cg_merge</primary>
284 </indexterm>
285 </listitem>
286 </varlistentry>
287
288 <varlistentry id="ms_print">
289 <term><command>ms_print</command></term>
290 <listitem>
291 <para>
292 takes an output file produced by the <application>Valgrind</application>
293 tool Massif and prints the information in an easy-to-read form.
294 </para>
295 <indexterm zone="valgrind ms_print">
296 <primary sortas="b-ms_print">ms_print</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 <varlistentry id="valgrind-di-server">
302 <term><command>valgrind-di-server</command></term>
303 <listitem>
304 <para>
305 is a server that reads debuginfo from objects stored on a
306 different machine.
307 </para>
308 <indexterm zone="valgrind valgrind-di-server">
309 <primary sortas="b-valgrind-di-server">valgrind-di-server</primary>
310 </indexterm>
311 </listitem>
312 </varlistentry>
313
314 <varlistentry id="valgrind-listener">
315 <term><command>valgrind-listener</command></term>
316 <listitem>
317 <para>
318 listens on a socket for Valgrind commentary.
319 </para>
320 <indexterm zone="valgrind valgrind-listener">
321 <primary sortas="b-valgrind-listener">valgrind-listener</primary>
322 </indexterm>
323 </listitem>
324 </varlistentry>
325
326 <varlistentry id="vgdb">
327 <term><command>vgdb</command></term>
328 <listitem>
329 <para>
330 is an intermediary between Valgrind and GDB or a shell.
331 </para>
332 <indexterm zone="valgrind vgdb">
333 <primary sortas="b-vgdb">vgdb</primary>
334 </indexterm>
335 </listitem>
336 </varlistentry>
337
338 </variablelist>
339
340 </sect2>
341
342</sect1>
Note: See TracBrowser for help on using the repository browser.