Thanks for your quick reply, I have already installed the binutils-devel rpm in RHEL:
But it didn't work.

I think maybe it is the reason of gcc4.4, which is the newest release version. The oprofile installation is OK with an old version of gcc.
Have you test the oprofile installation with gcc4.4? 

[root@localhost ~]# gcc -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --enable-stage1-languages=c,c++
Thread model: posix
gcc version 4.4.0 (GCC)

Thanks again!

2009/7/21 Andi Kleen <>
Jiang Wei <> writes:
>     Making all in libopagent
>     make[2]: Entering directory `/root/oprofile-0.9.4/libopagent'
>     /bin/sh ../libtool --tag=CC --mode=link gcc  -g -O2   -o
>     -rpath /usr/local/lib/oprofile -version-info  1:0:0 -Wl,--version-script=..
>     /libopagent/opagent_symbols.ver libopagent_la-opagent.lo -lbfd -liberty
>     -ldl
>     gcc -shared  .libs/libopagent_la-opagent.o  -lbfd -liberty -ldl 
>     -Wl,--version-script=../libopagent/opagent_symbols.ver -Wl,-soname
>     -Wl, -o .libs/
>     /usr/bin/ld: /usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/../../../../
>     lib64/libiberty.a(hashtab.o): relocation R_X86_64_32S against `a local
>     symbol' can not be used when making a shared object; recompile with -fPIC
>     /usr/local/lib/gcc/x86_64-unknown-linux-gnu/4.4.0/../../../../lib64/
>     libiberty.a: could not read symbols: Bad value

You need to install a shared version of libiberty, including
its developer files (*.la). I don't know the rpm name
for that on RHEL5, it might be something like binutils-devel


-- -- Speaking for myself only.

Best Regards,
Jiang, Wei