| Valgrind 3.3 - Advanced Debugging and Profiling for GNU/Linux applications by J. Seward, N. Nethercote, J. Weidendorfer and the Valgrind Development Team Paperback (6"x9"), 164 pages ISBN 0954612051 RRP £12.95 ($19.95) |
3.9 Building and Installing Valgrind
We use the standard Unix ‘./configure’, ‘make’, ‘make install’ mechanism, and we have attempted to ensure that it works on machines with kernel 2.4 or 2.6 and glibc 2.2.X to 2.5.X. Once you have completed ‘make install’ you may then want to run the regression tests with ‘make regtest’.
There are five options (in addition to the usual
--prefix= which affect how Valgrind is built:
-
--enable-innerThis builds Valgrind with some special magic hacks which make it possible to run it on a standard build of Valgrind (what the developers call “self-hosting”). Ordinarily you should not use this flag as various kinds of safety checks are disabled. -
--enable-tlsTLS (Thread Local Storage) is a relatively new mechanism which requires compiler, linker and kernel support. Valgrind tries to automatically test if TLS is supported and if so enables this option. Sometimes it cannot test for TLS, so this option allows you to override the automatic test. -
--with-vex=Specifies the path to the underlying VEX dynamic-translation library. By default this is taken to be in the VEX directory off the root of the source tree. -
--enable-only64bit--enable-only32bitOn 64-bit platforms (amd64-linux, ppc64-linux), Valgrind is by default built in such a way that both 32-bit and 64-bit executables can be run. Sometimes this cleverness is a problem for a variety of reasons. These two flags allow for single-target builds in this situation. If you issue both, the configure script will complain. Note they are ignored on 32-bit-only platforms (x86-linux, ppc32-linux).
The ‘configure’ script tests the version of the X server currently indicated by the current ‘$DISPLAY’. This is a known bug. The intention was to detect the version of the current X client libraries, so that correct suppressions could be selected for them, but instead the test checks the server version. This is just plain wrong.
If you are building a binary package of Valgrind for distribution, please read ‘README_PACKAGERS’. It contains some important information.
Apart from that, there's not much excitement here. Let us know if you have build problems.
| ISBN 0954612051 | Valgrind 3.3 - Advanced Debugging and Profiling for GNU/Linux applications | See the print edition |