source: general/prog/valgrind.xml@ 1b0d0188

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 1b0d0188 was 1b0d0188, checked in by Bruce Dubbs <bdubbs@…>, 9 years ago

Update qt4 and qt5 instructions
Prep for KF5
Temove some tab characters

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