source: general/prog/valgrind.xml@ 141ee0a5

11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt 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 141ee0a5 was 141ee0a5, checked in by Pierre Labastie <pierre.labastie@…>, 2 years ago

Updates

lsof-4.94.0
jansson-2.14
glibmm-2.66.2
pidgin-2.14.8
py3c-1.4 (python module)
valgrind-3.18.1
graphviz-2.49.3
asciidoc-10.0.0 (and move to ptyhon modules)

  • Property mode set to 100644
File size: 11.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 "https://sourceware.org/pub/valgrind/valgrind-&valgrind-version;.tar.bz2">
8 <!ENTITY valgrind-download-ftp "ftp://sourceware.org/pub/valgrind/valgrind-&valgrind-version;.tar.bz2">
9 <!ENTITY valgrind-md5sum "de56a5532b0c81781db677ca712c585a">
10 <!ENTITY valgrind-size "15 MB">
11 <!ENTITY valgrind-buildsize "550 MB (add 62 MB for tests)">
12 <!ENTITY valgrind-time "0.5 SBU (Using parallelism=4; add 7.5 SBU for tests)">
13]>
14
15<sect1 id="valgrind" xreflabel="Valgrind-&valgrind-version;">
16 <?dbhtml filename="valgrind.html"?>
17
18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
21
22 <title>Valgrind-&valgrind-version;</title>
23
24 <indexterm zone="valgrind">
25 <primary sortas="a-Valgrind">Valgrind</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to Valgrind</title>
30
31 <para>
32 <application>Valgrind</application> is an instrumentation framework for
33 building dynamic analysis tools. There are Valgrind tools that can
34 automatically detect many memory management and threading bugs, and
35 profile programs in detail. Valgrind can also be used to build new
36 tools.
37 </para>
38
39 &lfs110a_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&valgrind-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&valgrind-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &valgrind-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &valgrind-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &valgrind-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &valgrind-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74<!--
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Required patch:
80 <ulink url="&patch-root;/valgrind-&valgrind-version;-upstream_fixes-1.patch"/>
81 </para>
82 </listitem>
83 </itemizedlist>
84-->
85 <bridgehead renderas="sect3">Valgrind Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Optional</bridgehead>
88 <para role="optional">
89 <xref linkend="gdb"/> (for tests),
90 <xref linkend="llvm"/> (with Clang), and
91 <xref linkend="which"/> (for tests)
92 </para>
93
94<!-- See "maintainer note", below
95 <bridgehead renderas="sect4">Optional for regenerating the documentation</bridgehead>
96 <para role="optional">
97 <xref linkend="libxslt"/> and
98 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>)
99 </para>
100-->
101 <para condition="html" role="usernotes">User Notes:
102 <ulink url="&blfs-wiki;/valgrind"/>
103 </para>
104 </sect2>
105
106 <sect2 role="installation">
107 <title>Installation of Valgrind</title>
108
109<!-- Not needed anymore with 3.18.1
110 <para>
111 First, make several changes that are required for Valgrind to function on
112 systems with glibc-2.34 installed:
113 </para>
114
115<screen><userinput remap="pre">patch -Np1 -i ../valgrind-&valgrind-version;-upstream_fixes-1.patch</userinput></screen>
116-->
117
118 <para>
119 Install <application>Valgrind</application> by running the following
120 commands:
121 </para>
122
123<screen><userinput>sed -i 's|/doc/valgrind||' docs/Makefile.in &amp;&amp;
124
125./configure --prefix=/usr \
126 --datadir=/usr/share/doc/valgrind-&valgrind-version; &amp;&amp;
127make</userinput></screen>
128
129 <para>
130 To test the results, issue: <command>make regtest</command>. The tests
131 may hang forever if <xref linkend="gdb"/> is not installed. Some tests
132 are known to hang also, depending on the version of glibc. A few test
133 can fail in various suites. Problematic
134 tests can be disabled by changing the <userinput>prereq:</userinput> line
135 in the corresponding <filename>.vgtest</filename> file to
136 <userinput>prereq: false</userinput>. For example:
137 </para>
138
139<screen role="nodump"><userinput>sed -e 's@prereq:.*@prereq: false@' \
140 -i {helgrind,drd}/tests/pth_cond_destroy_busy.vgtest</userinput></screen>
141
142 <note>
143 <para>
144 The <application>OpenMP</application> tests are skipped if libgomp
145 has been compiled with <option>--enable-linux-futex</option> (the
146 default). If needed, just recompile the libgomp library from
147 the gcc build tree, passing <option>--disable-linux-futex</option>
148 to configure, storing the library to some place and changing the link
149 from <filename>/usr/lib/libgomp.so.1</filename> to point to the new
150 library.
151 </para>
152 </note>
153
154<!-- Note to maintainer: there is a long thread in ticket #5882 explaining
155 why we do not provide instructions to rebuild the documentation.
156 (still broken with TeXLive 2016) -->
157
158 <para>
159 Now, as the <systemitem class="username">root</systemitem> user:
160 </para>
161
162<screen role="root"><userinput>make install</userinput></screen>
163
164 </sect2>
165
166 <sect2 role="commands">
167 <title>Command Explanations</title>
168
169 <para>
170 <command>sed -i ... docs/Makefile.in </command>: This sed provides for
171 installing the documentation in a versioned directory.
172 </para>
173
174 <para>
175 <option>--enable-lto=yes</option>: This option allows building Valgrind
176 with LTO (link time optimization). This produces a smaller/faster
177 Valgrind (up to 10%), but build time increases to about 5.5 SBU.
178 </para>
179
180 </sect2>
181
182 <sect2 role="content">
183 <title>Contents</title>
184
185 <segmentedlist>
186 <segtitle>Installed Programs</segtitle>
187 <segtitle>Installed Libraries</segtitle>
188 <segtitle>Installed Directories</segtitle>
189
190 <seglistitem>
191 <seg>
192 callgrind_annotate,
193 callgrind_control,
194 cg_annotate,
195 cg_diff,
196 cg_merge,
197 ms_print,
198 valgrind,
199 valgrind-di-server,
200 valgrind-listener, and
201 vgdb
202 </seg>
203 <seg>
204 None
205 </seg>
206 <seg>
207 /usr/lib/valgrind,
208 /usr/libexec/valgrind,
209 /usr/include/valgrind, and
210 /usr/share/doc/valgrind-&valgrind-version;
211 </seg>
212 </seglistitem>
213 </segmentedlist>
214
215 <variablelist>
216 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
217 <?dbfo list-presentation="list"?>
218 <?dbhtml list-presentation="table"?>
219
220 <varlistentry id="valgrind-prog">
221 <term><command>valgrind</command></term>
222 <listitem>
223 <para>
224 is a program for debugging and profiling Linux executables
225 </para>
226 <indexterm zone="valgrind valgrind-prog">
227 <primary sortas="b-valgrind">valgrind</primary>
228 </indexterm>
229 </listitem>
230 </varlistentry>
231
232 <varlistentry id="callgrind_annotate">
233 <term><command>callgrind_annotate</command></term>
234 <listitem>
235 <para>
236 takes an output file produced by the
237 <application>Valgrind</application> tool Callgrind and prints the
238 information in an easy-to-read form
239 </para>
240 <indexterm zone="valgrind callgrind_annotate">
241 <primary sortas="b-callgrind_annotate">callgrind_annotate</primary>
242 </indexterm>
243 </listitem>
244 </varlistentry>
245
246 <varlistentry id="callgrind_control">
247 <term><command>callgrind_control</command></term>
248 <listitem>
249 <para>
250 controls programs being run by the <application>Valgrind</application>
251 tool Callgrind
252 </para>
253 <indexterm zone="valgrind callgrind_control">
254 <primary sortas="b-callgrind_control">callgrind_control</primary>
255 </indexterm>
256 </listitem>
257 </varlistentry>
258
259 <varlistentry id="cg_annotate">
260 <term><command>cg_annotate</command></term>
261 <listitem>
262 <para>
263 is a post-processing tool for the <application>Valgrind</application>
264 tool Cachegrind
265 </para>
266 <indexterm zone="valgrind cg_annotate">
267 <primary sortas="b-cg_annotate">cg_annotate</primary>
268 </indexterm>
269 </listitem>
270 </varlistentry>
271
272 <varlistentry id="cg_diff">
273 <term><command>cg_diff</command></term>
274 <listitem>
275 <para>
276 compares two Cachegrind output files
277 </para>
278 <indexterm zone="valgrind cg_diff">
279 <primary sortas="b-cg_diff">cg_diff</primary>
280 </indexterm>
281 </listitem>
282 </varlistentry>
283
284 <varlistentry id="cg_merge">
285 <term><command>cg_merge</command></term>
286 <listitem>
287 <para>
288 merges multiple Cachegrind output files into one
289 </para>
290 <indexterm zone="valgrind cg_merge">
291 <primary sortas="b-cg_merge">cg_merge</primary>
292 </indexterm>
293 </listitem>
294 </varlistentry>
295
296 <varlistentry id="ms_print">
297 <term><command>ms_print</command></term>
298 <listitem>
299 <para>
300 takes an output file produced by the <application>Valgrind</application>
301 tool Massif and prints the information in an easy-to-read form
302 </para>
303 <indexterm zone="valgrind ms_print">
304 <primary sortas="b-ms_print">ms_print</primary>
305 </indexterm>
306 </listitem>
307 </varlistentry>
308
309 <varlistentry id="valgrind-di-server">
310 <term><command>valgrind-di-server</command></term>
311 <listitem>
312 <para>
313 is a server that reads debuginfo from objects stored on a
314 different machine
315 </para>
316 <indexterm zone="valgrind valgrind-di-server">
317 <primary sortas="b-valgrind-di-server">valgrind-di-server</primary>
318 </indexterm>
319 </listitem>
320 </varlistentry>
321
322 <varlistentry id="valgrind-listener">
323 <term><command>valgrind-listener</command></term>
324 <listitem>
325 <para>
326 listens on a socket for Valgrind commentary
327 </para>
328 <indexterm zone="valgrind valgrind-listener">
329 <primary sortas="b-valgrind-listener">valgrind-listener</primary>
330 </indexterm>
331 </listitem>
332 </varlistentry>
333
334 <varlistentry id="vgdb">
335 <term><command>vgdb</command></term>
336 <listitem>
337 <para>
338 is an intermediary between Valgrind and GDB or a shell
339 </para>
340 <indexterm zone="valgrind vgdb">
341 <primary sortas="b-vgdb">vgdb</primary>
342 </indexterm>
343 </listitem>
344 </varlistentry>
345
346 </variablelist>
347
348 </sect2>
349
350</sect1>
Note: See TracBrowser for help on using the repository browser.