source: general/prog/valgrind.xml@ 0ac0fa4

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 0ac0fa4 was 0ac0fa4, checked in by Douglas R. Reno <renodr@…>, 9 years ago

Fixed a validation error - Thanks goes to Fernando for helping me fix it.

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

  • Property mode set to 100644
File size: 10.7 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#|3.\*#&amp;|4.\*#' configure &amp;&amp;
125sed -i 's/-mt//g' configure &amp;&amp;
126sed -i 's|/doc/valgrind||' docs/Makefile.in &amp;&amp;
127
128./configure --prefix=/usr \
129 --datadir=/usr/share/doc/valgrind-&valgrind-version; &amp;&amp;
130make</userinput></screen>
131
132 <para>
133 To test the results, issue: <command>make regtest</command>. The tests
134 may hang forever if <xref linkend="gdb"/> is not installed.
135 </para>
136<!-- Note to maintainer: Recheck when next texlive (2015) is released.
137 <para>
138 If you wish to regenerate the documentation, run:
139 </para>
140
141<screen><userinput>make -C docs download-docs</userinput></screen>
142-->
143 <para>
144 Now, as the <systemitem class="username">root</systemitem> user:
145 </para>
146
147<screen role="root"><userinput>make install</userinput></screen>
148
149 </sect2>
150
151 <sect2 role="commands">
152 <title>Command Explanations</title>
153
154 <para>
155 <command>sed -i 's#|3.\*#&amp;|4.\*#' configure</command>:This sed fixes an
156 issue that prevents Valgrind from compiling on systems with a linux-4.x
157 based kernel.
158 </para>
159
160 <para>
161 <command>sed -i 's/-mt//g' configure</command>: Fixes configure script to
162 find newer versions of Boost.
163 </para>
164
165 <para>
166 <command>sed -i ... docs/Makefile.in </command>: This sed provides for
167 installing the documentation in a versioned directory.
168 </para>
169
170 </sect2>
171
172 <sect2 role="content">
173 <title>Contents</title>
174
175 <segmentedlist>
176 <segtitle>Installed Programs</segtitle>
177 <segtitle>Installed Library</segtitle>
178 <segtitle>Installed Directories</segtitle>
179
180 <seglistitem>
181 <seg>
182 callgrind_annotate,
183 callgrind_control,
184 cg_annotate,
185 cg_diff,
186 cg_merge,
187 ms_print,
188 valgrind,
189 valgrind-di-server,
190 valgrind-listener, and
191 vgdb
192 </seg>
193 <seg>
194 libcoregrind-&lt;Arch&gt;-linux.a,
195 libreplacemalloc_toolpreload-&lt;Arch&gt;-linux.a,
196 libvex-&lt;Arch&gt;-linux.a,
197 vgpreload_core-&lt;Arch&gt;-linux.so,
198 vgpreload_drd-&lt;Arch&gt;-linux.so,
199 vgpreload_exp-dhat-&lt;Arch&gt;-linux.so,
200 vgpreload_exp-sgcheck-&lt;Arch&gt;-linux.so,
201 vgpreload_helgrind-&lt;Arch&gt;-linux.so,
202 vgpreload_massif-&lt;Arch&gt;-linux.so, and
203 vgpreload_memcheck-&lt;Arch&gt;-linux.so, where
204 &lt;Arch&gt;=x86, amd64
205 </seg>
206 <seg>
207 /usr/lib/valgrind,
208 /usr/include/valgrind, and
209 /usr/share/doc/valgrind-&valgrind-version;
210 </seg>
211 </seglistitem>
212 </segmentedlist>
213
214 <variablelist>
215 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
216 <?dbfo list-presentation="list"?>
217 <?dbhtml list-presentation="table"?>
218
219 <varlistentry id="valgrind-prog">
220 <term><command>valgrind</command></term>
221 <listitem>
222 <para>
223 is a program for debugging and profiling Linux executables.
224 </para>
225 <indexterm zone="valgrind valgrind-prog">
226 <primary sortas="b-valgrind">valgrind</primary>
227 </indexterm>
228 </listitem>
229 </varlistentry>
230
231 <varlistentry id="callgrind_annotate">
232 <term><command>callgrind_annotate</command></term>
233 <listitem>
234 <para>
235 takes an output file produced by the
236 <application>Valgrind</application> tool Callgrind and prints the
237 information in an easy-to-read form.
238 </para>
239 <indexterm zone="callgrind_annotate">
240 <primary sortas="b-callgrind_annotate">callgrind_annotate</primary>
241 </indexterm>
242 </listitem>
243 </varlistentry>
244
245 <varlistentry id="callgrind_control">
246 <term><command>callgrind_control</command></term>
247 <listitem>
248 <para>
249 controls programs being run by the <application>Valgrind</application>
250 tool Callgrind.
251 </para>
252 <indexterm zone="valgrind callgrind_control">
253 <primary sortas="b-callgrind_control">callgrind_control</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 <varlistentry id="cg_annotate">
259 <term><command>cg_annotate</command></term>
260 <listitem>
261 <para>
262 is a post-processing tool for the <application>Valgrind</application>
263 tool Cachegrind.
264 </para>
265 <indexterm zone="valgrind cg_annotate">
266 <primary sortas="b-cg_annotate">cg_annotate</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 <varlistentry id="cg_diff">
272 <term><command>cg_diff</command></term>
273 <listitem>
274 <para>
275 compares two Cachegrind output files.
276 </para>
277 <indexterm zone="valgrind cg_diff">
278 <primary sortas="b-cg_diff">cg_diff</primary>
279 </indexterm>
280 </listitem>
281 </varlistentry>
282
283 <varlistentry id="cg_merge">
284 <term><command>cg_merge</command></term>
285 <listitem>
286 <para>
287 merges multiple Cachegrind output files into one.
288 </para>
289 <indexterm zone="valgrind cg_merge">
290 <primary sortas="b-cg_merge">cg_merge</primary>
291 </indexterm>
292 </listitem>
293 </varlistentry>
294
295 <varlistentry id="ms_print">
296 <term><command>ms_print</command></term>
297 <listitem>
298 <para>
299 takes an output file produced by the <application>Valgrind</application>
300 tool Massif and prints the information in an easy-to-read form.
301 </para>
302 <indexterm zone="valgrind ms_print">
303 <primary sortas="b-ms_print">ms_print</primary>
304 </indexterm>
305 </listitem>
306 </varlistentry>
307
308 <varlistentry id="valgrind-di-server">
309 <term><command>valgrind-di-server</command></term>
310 <listitem>
311 <para>
312 is a server that reads debuginfo from objects stored on a
313 different machine.
314 </para>
315 <indexterm zone="valgrind valgrind-di-server">
316 <primary sortas="b-valgrind-di-server">valgrind-di-server</primary>
317 </indexterm>
318 </listitem>
319 </varlistentry>
320
321 <varlistentry id="valgrind-listener">
322 <term><command>valgrind-listener</command></term>
323 <listitem>
324 <para>
325 listens on a socket for Valgrind commentary.
326 </para>
327 <indexterm zone="valgrind valgrind-listener">
328 <primary sortas="b-valgrind-listener">valgrind-listener</primary>
329 </indexterm>
330 </listitem>
331 </varlistentry>
332
333 <varlistentry id="vgdb">
334 <term><command>vgdb</command></term>
335 <listitem>
336 <para>
337 is an intermediary between Valgrind and GDB or a shell.
338 </para>
339 <indexterm zone="valgrind vgdb">
340 <primary sortas="b-vgdb">vgdb</primary>
341 </indexterm>
342 </listitem>
343 </varlistentry>
344
345 </variablelist>
346
347 </sect2>
348
349</sect1>
Note: See TracBrowser for help on using the repository browser.