Difference between revisions of "Valgrind"

From CBLFS
Jump to navigationJump to search
m
Line 3: Line 3:
 
!Download Source:
 
!Download Source:
 
| http://www.valgrind.org/downloads/valgrind-{{Valgrind-version}}.tar.bz2
 
| http://www.valgrind.org/downloads/valgrind-{{Valgrind-version}}.tar.bz2
 +
|-
 +
|Required Patch:
 +
| http://svn.cross-lfs.org/svn/repos/patches/valgrind-{{Valgrind-version}}/valgrind-{{Valgrind-version}}-local-labels-1.patch
 
|}
 
|}
  
Line 21: Line 24:
 
Compile the package:
 
Compile the package:
  
  sed -i -e '/^platform/!s/@VG_PLATFORM@/${platform}/g' \
+
  patch -Np1 -i valgrind-{{Valgrind-version}}-local-labels-1.patch &&
        -e 's/@VG_PLATFORM@/${arch}-${os}/' valgrind.pc.in &&
+
sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.in &&
 +
autoconf &&
 
  ./configure --prefix=/usr &&
 
  ./configure --prefix=/usr &&
 
  make
 
  make
Line 36: Line 40:
 
Compile the package:
 
Compile the package:
  
  sed -i -e '/^platform/!s/@VG_PLATFORM@/${platform}/g' \
+
  patch -Np1 -i valgrind-{{Valgrind-version}}-local-labels-1.patch &&
        -e 's/@VG_PLATFORM@/${arch}-${os}/' valgrind.pc.in &&
+
sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.in &&
 +
autoconf &&
 
  ./configure --prefix=/usr --libdir=/usr/lib64 &&
 
  ./configure --prefix=/usr --libdir=/usr/lib64 &&
 
  make
 
  make

Revision as of 08:38, 23 March 2009

Download Source: http://www.valgrind.org/downloads/valgrind-3.5.0.tar.bz2
Required Patch: http://svn.cross-lfs.org/svn/repos/patches/valgrind-3.5.0/valgrind-3.5.0-local-labels-1.patch

Introduction to Valgrind

Valgrind is a GPL'd system for debugging and profiling Linux programs. With Valgrind's tool suite you can automatically detect many memory management and threading bugs, avoiding hours of frustrating bug-hunting, making your programs more stable. You can also perform detailed profiling to help speed up your programs.

Project Homepage: http://www.valgrind.org/

Dependencies

It appears that only x86, x86_64, ppc, and ppc64 are supported.

Required

Non-Multilib

On a pure64 system you need to pass --enable-only64bit to configure to prevent it from trying to build multiarch.

Compile the package:

patch -Np1 -i valgrind-3.5.0-local-labels-1.patch && 
sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.in &&
autoconf &&
./configure --prefix=/usr &&
make

Install the package:

make install

Multilib

64bit

Compile the package:

patch -Np1 -i valgrind-3.5.0-local-labels-1.patch && 
sed -i -e 's:^CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure.in &&
autoconf &&
./configure --prefix=/usr --libdir=/usr/lib64 &&
make

Install the package:

make install &&
sed "/arch=/s:=.*:="$(sed -e '/VG_PLATFORM_PRI/!d' -e 's/.*= //' -e 's/_.*//' Makefile | \
   tr [[:upper:]] [[:lower:]])":" valgrind.pc > /usr/lib64/pkgconfig/valgrind.pc
sed "/arch=/s:=.*:="$(sed -e '/VG_PLATFORM_SEC/!d' -e 's/.*= //' -e 's/_.*//' Makefile | \
   tr [[:upper:]] [[:lower:]])":" valgrind.pc > /usr/lib/pkgconfig/valgrind.pc