Fedora 7 で bfd ライブラリを使う

binutils-devel がインストールされた状態で bfd ライブラリを使った C 言語のソース・コードをコンパイルするとエラーになる。

$ gcc -lbfd -Wall -o hige hige.c
/tmp/cclX3Ssl.o: In function `dump_symbols':
hige.c:(.text+0x17): undefined reference to `bfd_openr'
hige.c:(.text+0x49): undefined reference to `bfd_check_format'
hige.c:(.text+0x7e): undefined reference to `bfd_get_error'
hige.c:(.text+0xa4): undefined reference to `bfd_close'
hige.c:(.text+0x17b): undefined reference to `bfd_get_section_by_name'
hige.c:(.text+0x242): undefined reference to `bfd_close'
collect2: ld はステータス 1 で終了しました

どうやら /usr/lib64/libbfd.so (x86_64 の場合) がないためらしい。そこで、下記のようにしてリンクを作成。

$ pushd /usr/lib64
$ pwd
/usr/lib64
$ sudo ln -s libbfd-2.17.50.0.12-4.so libbfd.so
$ ls -l libbfd.so
lrwxrwxrwx 1 root root 24 2007-10-29 08:04 libbfd.so -> libbfd-2.17.50.0.12-4.so*

リンクが存在していない理由があるのだろうけど、なぜだろう。。。