source: general/prog/valgrind.xml@ ac38e9dc

systemd-13485
Last change on this file since ac38e9dc was ac38e9dc, checked in by Douglas R. Reno <renodr@…>, 9 years ago

Import back into SVN from Github

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@16309 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 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;
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">Valgrind Dependencies</bridgehead>
77
78 <bridgehead renderas="sect4">Optional</bridgehead>
79 <para role="optional">
80 <xref linkend="boost"/>,
81 <xref linkend="llvm"/> (with Clang),
82 <xref linkend="gdb"/> (for tests), and
83 <ulink url="http://www.open-mpi.org/">OpenMPI</ulink>
84 </para>
85
86 <bridgehead renderas="sect4">Optional for regenerating the documentation</bridgehead>
87 <para role="optional">
88 <xref linkend="libxslt"/> and
89 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>)
90 </para>
91
92 <para condition="html" role="usernotes">User Notes:
93 <ulink url="&blfs-wiki;/valgrind"/>
94 </para>
95 </sect2>
96
97 <sect2 role="installation">
98 <title>Installation of Valgrind</title>
99
100 <para>Install <application>Valgrind</application> by running the following
101 commands:</para>
102
103<screen><userinput>sed -e 's#|3.\*#&amp;|4.\*#' \
104 -e 's/-mt//g' \
105 -e 's:2.20:2.21:g' \
106 -i configure &amp;&amp;
107
108sed -i "s:/doc/valgrind::g" docs/Makefile.in &amp;&amp;
109
110./configure --prefix=/usr --datadir=/usr/share/doc/valgrind-&valgrind-version; &amp;&amp;
111make</userinput></screen>
112
113 <para>
114 To test the results, issue: <command>make regtest</command>.
115 </para>
116<!-- Note to maintainer: Recheck when next texlive (2015) is released.
117 <para>
118 If you wish to regenerate the documentation, run:
119 </para>
120
121<screen><userinput>make -C docs download-docs</userinput></screen>
122-->
123 <para>
124 Now, as the <systemitem class="username">root</systemitem> user:
125 </para>
126
127<screen role="root"><userinput>make install</userinput></screen>
128
129 </sect2>
130
131 <sect2 role="commands">
132 <title>Command Explanations</title>
133
134 <para>
135 <command>sed -e ... configure</command>: The first expression fixes an
136 issue that prevents Valgrind from compiling on systems running Linux-4.x,
137 the second expression fixes building with Glibc 2.21, and the third
138 expression fixes the configure script to find recent versions of Boost.
139 </para>
140
141 <para>
142 <command>sed -i ... docs/Makefile.in </command>: This sed provides for
143 installing the documentation in a versioned directory.
144 </para>
145
146 </sect2>
147
148 <sect2 role="content">
149 <title>Contents</title>
150
151 <segmentedlist>
152 <segtitle>Installed Programs</segtitle>
153 <segtitle>Installed Library</segtitle>
154 <segtitle>Installed Directories</segtitle>
155
156 <seglistitem>
157 <seg>
158 callgrind_annotate,
159 callgrind_control,
160 cg_annotate,
161 cg_diff,
162 cg_merge,
163 ms_print,
164 valgrind,
165 valgrind-di-server,
166 valgrind-listener, and
167 vgdb
168 </seg>
169 <seg>
170 libcoregrind-&lt;Arch&gt;-linux.a,
171 libreplacemalloc_toolpreload-&lt;Arch&gt;-linux.a,
172 libvex-&lt;Arch&gt;-linux.a,
173 vgpreload_core-&lt;Arch&gt;-linux.so,
174 vgpreload_drd-&lt;Arch&gt;-linux.so,
175 vgpreload_exp-dhat-&lt;Arch&gt;-linux.so,
176 vgpreload_exp-sgcheck-&lt;Arch&gt;-linux.so,
177 vgpreload_helgrind-&lt;Arch&gt;-linux.so,
178 vgpreload_massif-&lt;Arch&gt;-linux.so, and
179 vgpreload_memcheck-&lt;Arch&gt;-linux.so, where
180 &lt;Arch&gt;=x86, amd64
181 </seg>
182 <seg>
183 /usr/lib/valgrind,
184 /usr/include/valgrind, and
185 /usr/share/doc/valgrind-&valgrind-version;
186 </seg>
187 </seglistitem>
188 </segmentedlist>
189
190 <variablelist>
191 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
192 <?dbfo list-presentation="list"?>
193 <?dbhtml list-presentation="table"?>
194
195 <varlistentry id="valgrind-prog">
196 <term><command>valgrind</command></term>
197 <listitem>
198 <para>
199 is a program for debugging and profiling Linux executables.
200 </para>
201 <indexterm zone="valgrind valgrind-prog">
202 <primary sortas="b-valgrind">valgrind</primary>
203 </indexterm>
204 </listitem>
205 </varlistentry>
206
207 <varlistentry id="callgrind_annotate">
208 <term><command>callgrind_annotate</command></term>
209 <listitem>
210 <para>
211 takes an output file produced by the
212 <application>Valgrind</application> tool Callgrind and prints the
213 information in an easy-to-read form.
214 </para>
215 <indexterm zone="callgrind_annotate">
216 <primary sortas="b-callgrind_annotate">callgrind_annotate</primary>
217 </indexterm>
218 </listitem>
219 </varlistentry>
220
221 <varlistentry id="callgrind_control">
222 <term><command>callgrind_control</command></term>
223 <listitem>
224 <para>
225 controls programs being run by the <application>Valgrind</application>
226 tool Callgrind.
227 </para>
228 <indexterm zone="valgrind callgrind_control">
229 <primary sortas="b-callgrind_control">callgrind_control</primary>
230 </indexterm>
231 </listitem>
232 </varlistentry>
233
234 <varlistentry id="cg_annotate">
235 <term><command>cg_annotate</command></term>
236 <listitem>
237 <para>
238 is a post-processing tool for the <application>Valgrind</application>
239 tool Cachegrind.
240 </para>
241 <indexterm zone="valgrind cg_annotate">
242 <primary sortas="b-cg_annotate">cg_annotate</primary>
243 </indexterm>
244 </listitem>
245 </varlistentry>
246
247 <varlistentry id="cg_diff">
248 <term><command>cg_diff</command></term>
249 <listitem>
250 <para>
251 compares two Cachegrind output files.
252 </para>
253 <indexterm zone="valgrind cg_diff">
254 <primary sortas="b-cg_diff">cg_diff</primary>
255 </indexterm>
256 </listitem>
257 </varlistentry>
258
259 <varlistentry id="cg_merge">
260 <term><command>cg_merge</command></term>
261 <listitem>
262 <para>
263 merges multiple Cachegrind output files into one.
264 </para>
265 <indexterm zone="valgrind cg_merge">
266 <primary sortas="b-cg_merge">cg_merge</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 <varlistentry id="ms_print">
272 <term><command>ms_print</command></term>
273 <listitem>
274 <para>
275 takes an output file produced by the <application>Valgrind</application>
276 tool Massif and prints the information in an easy-to-read form.
277 </para>
278 <indexterm zone="valgrind ms_print">
279 <primary sortas="b-ms_print">ms_print</primary>
280 </indexterm>
281 </listitem>
282 </varlistentry>
283
284 <varlistentry id="valgrind-di-server">
285 <term><command>valgrind-di-server</command></term>
286 <listitem>
287 <para>
288 is a server that reads debuginfo from objects stored on a
289 different machine.
290 </para>
291 <indexterm zone="valgrind valgrind-di-server">
292 <primary sortas="b-valgrind-di-server">valgrind-di-server</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="valgrind-listener">
298 <term><command>valgrind-listener</command></term>
299 <listitem>
300 <para>
301 listens on a socket for Valgrind commentary.
302 </para>
303 <indexterm zone="valgrind valgrind-listener">
304 <primary sortas="b-valgrind-listener">valgrind-listener</primary>
305 </indexterm>
306 </listitem>
307 </varlistentry>
308
309 <varlistentry id="vgdb">
310 <term><command>vgdb</command></term>
311 <listitem>
312 <para>
313 is an intermediary between Valgrind and GDB or a shell.
314 </para>
315 <indexterm zone="valgrind vgdb">
316 <primary sortas="b-vgdb">vgdb</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.