7

I have installed libgoogle-perftools-dev via software center in Ubuntu 12.04. As suggested by http://pj.freefaculty.org/blog/?p=140, I want to add to my cpp file:

#include <gperftools/profiler.h>

But the compiler says

 gperftools/profiler.h: No such file or directory

I tried to find where it is:

$ locate -i gperftools

no return, and

$ locate -i "profiler.h"

returns

/usr/include/c++/4.6/profile/impl/profiler.h
/usr/src/linux-headers-3.2.0-23-generic-pae/include/config/function/profiler.h

which I am not sure if are for gperftools.

So I wonder how to find

  • where libgoogle-perftools-dev is installed?
  • where gperftools/profiler.h is located?
Braiam
  • 35,991
Tim
  • 101,790

2 Answers2

9

Probably the issue with the locate command is that the database has not yet been updated to reflect the newly-installed package files. You could force an update (sudo updatedb) or use the find command instead, but probably the easiest solution on systems like Ubuntu that use the dpkg package management tools is to list the package contents

dpkg -L libgoogle-perftools-dev

or to check for the profiler.h file location specifically

dpkg -L libgoogle-perftools-dev | grep 'profiler.h'
steeldriver
  • 81,074
2

Usually, pkg-config helps in most of these cases pkg-config --list-all lists packages that are "known" to your system. And then pkg-config --libs --cflags <package> is good enough to provide linker and include information.

tpb261
  • 135