This is not fixed.
$ COLUMNS=120 dpkg --list oprofile
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err:
uppercase=bad)
||/ Name Version Description
+++-========================-========================-================================================================
ii oprofile 0.9.4+cvs20090629-2 system-wide
profiler for Linux systems
$ pwd
/usr/lib/oprofile
$ ls -l
total 20
-rw-r--r-- 1 root root 7152 2009-07-22 04:46 libopagent.a
-rw-r--r-- 1 root root 973 2009-07-22 04:46 libopagent.la
lrwxrwxrwx 1 root root 19 2009-07-26 10:24 libopagent.so ->
libopagent.so.1.0.0
lrwxrwxrwx 1 root root 19 2009-07-26 10:24 libopagent.so.1 ->
libopagent.so.1.0.0
-rw-r--r-- 1 root root 8104 2009-07-22 04:46 libopagent.so.1.0.0
$ objdump -T libopagent.so
libopagent.so: file format elf32-i386
DYNAMIC SYMBOL TABLE:
00000000 DF *UND* 00000000 GLIBC_2.0 __errno_location
00000000 D *UND* 00000000 bfd_check_format
00000000 DF *UND* 00000000 GLIBC_2.0 creat
00000000 DF *UND* 00000000 GLIBC_2.0 getpid
00000000 DF *UND* 00000000 GLIBC_2.0 __xstat
00000000 w D *UND* 00000000 __gmon_start__
00000000 w D *UND* 00000000 _Jv_RegisterClasses
00000000 D *UND* 00000000 bfd_init
00000000 D *UND* 00000000 bfd_openr
00000000 DF *UND* 00000000 GLIBC_2.0 gettimeofday
00000000 DF *UND* 00000000 GLIBC_2.1 fdopen
00000000 DF *UND* 00000000 GLIBC_2.0 __overflow
00000000 DF *UND* 00000000 GLIBC_2.0 fflush
00000000 DF *UND* 00000000 GLIBC_2.0 fseek
00000000 DF *UND* 00000000 GLIBC_2.1 fclose
00000000 DF *UND* 00000000 GLIBC_2.0 flockfile
00000000 DO *UND* 00000000 GLIBC_2.0 stderr
00000000 DF *UND* 00000000 GLIBC_2.0 strlen
00000000 D *UND* 00000000 bfd_perror
00000000 D *UND* 00000000 bfd_get_mach
00000000 DF *UND* 00000000 GLIBC_2.0 ftell
00000000 DF *UND* 00000000 GLIBC_2.1 fwrite_unlocked
00000000 DF *UND* 00000000 GLIBC_2.0 fwrite
00000000 DF *UND* 00000000 GLIBC_2.0 fprintf
00000000 DF *UND* 00000000 GLIBC_2.0 readlink
00000000 DF *UND* 00000000 GLIBC_2.0 funlockfile
00000000 D *UND* 00000000 bfd_get_arch
00000000 DF *UND* 00000000 GLIBC_2.0 fflush_unlocked
00000000 DF *UND* 00000000 GLIBC_2.0 snprintf
00000000 w DF *UND* 00000000 GLIBC_2.1.3 __cxa_finalize
00000ba0 g DF .text 00000007 OPAGENT_1.0 op_minor_version
00000000 g DO *ABS* 00000000 OPAGENT_1.0 OPAGENT_1.0
00001010 g DF .text 00000208 OPAGENT_1.0 op_write_native_code
00001220 g DF .text 000000db OPAGENT_1.0 op_close_agent
00001300 g DF .text 00000401 OPAGENT_1.0 op_open_agent
00000bb0 g DF .text 00000110 OPAGENT_1.0 op_unload_native_code
00000b90 g DF .text 0000000a OPAGENT_1.0 op_major_version
00000cc0 g DF .text 00000348 OPAGENT_1.0 op_write_debug_line_info
See those *UND* bfd_foo symbols? bfd_init and friends? Those are defined
by libbfd. Here's an example program:
$ cat opagenttest.c
char op_open_agent ();
int
main ()
{
return op_open_agent ();
;
return 0;
}
$ gcc opagenttest.c -L/usr/lib/oprofile -lopagent -o opagenttest
/usr/lib/oprofile/libopagent.so: undefined reference to `bfd_check_format'
/usr/lib/oprofile/libopagent.so: undefined reference to `bfd_init'
/usr/lib/oprofile/libopagent.so: undefined reference to `bfd_openr'
/usr/lib/oprofile/libopagent.so: undefined reference to `bfd_perror'
/usr/lib/oprofile/libopagent.so: undefined reference to `bfd_get_mach'
/usr/lib/oprofile/libopagent.so: undefined reference to `bfd_get_arch'
collect2: ld returned 1 exit status
$
Please statically link libbfd into libopagent.so.
Thanks,
Nick Lewycky
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org