I just want to record a word of thanks to the maintainer of Callgrind (Josef.Weidendorfer@gmx.de) too, for the the most affirmative answer:
On Thursday 30 July 2009, peter teoh wrote:
> > I came to know u are the maintainer of callgrind, correct?
> > I have a question - the valgrind i would like to run on, is the latest
> > copy of valgrind. but the OS is an older version of Mandrake.
> > During ./configure time, it indicated that gcc must be > 3.0, so I
> > downloaded 3.1.1 gcc and install it into /usr/local/bin. But later it
> > indicated it require glibc > 2.2......mine is glibc 2.1.3....so is it
> > possible that I install glibc 2.2 or later into /usr/local/xxx
> > directory, but my application will continue to use the /usr/lib/glibc,
> > and valgrind will use the /usr/local/lib's version of glibc?
Valgrinds tools (memcheck, callgrind, ...) are staticly linked. So no
need for any glibc installation at runtime. However, for Valgrind tools
to work (esp. for correctness checking tools like memcheck), they have
to know the version of glibc your client program runs with, to be able
to give relevant error messages. Thus, your proposed solution does not
work: configure actually checks whether your programs are/will be linked
against glibc > 2.2.
For callgrind it may work to just comment out the check in configure(.in),
and Valgrind perhaps even compiles and Callgrind works; but do not expect
that e.g. memcheck works.
> > ie, two different copies of glibc in different directories, but valgrind
> > should be using the latest one, but my application (to be traced when
> > passed as argument to valgrind's command line) should be using the
> > /usr/lib's older glibc.
> > is this scenario possible?
> > appreciate very much for your advice!!!! :-) .
> > thanks.
Last edited by tthtlc; 08-01-2009 at 08:52 PM.