To build dwarfdump, first build libdwarf in the neighboring directory then type ./configure make To use dwarf or libdwarf, you may want to install dwarf.h and libdwarf.h somewhere convenient, and you may need the libdwarf in the accompanying libdwarf directory If your headers or libelf/libdwarf are not in the expected places, use the configure script to access them (and to add other ld or C flags). For example, using csh syntax: setenv PRIVATE_LIBDIR /home/davea/lib ./configure LDFLAGS="-L$PRIVATE_LIBDIR" \ CPPFLAGS="-I/home/davea/inc" CFLAGS="-I/home/davea/inc" Set both CFLAGS and CPPFLAGS so that configure works properly. If your primary target cpu architecture ( of objects that you are using dwarfdump on) is not MIPS, you will probably want to add -DDWARFDUMP_TURN_OFF_MIPS_REG_NAMES=1 to CPPFLAGS and CFLAGS to avoid using misleading register names. See print_sections.c. If $PRIVATE_LIBDIR has both libelf.so and libelf.a, the libelf.so will be picked up and "./tag_tree_build: error while loading shared libraries: libelf.so.0: cannot open shared object file: No such file or directory" will probably result. Either: remove libelf.so.* from your $PRIVATE_LIBDIR or set LD_LIBRARY_PATH to $PRIVATE_LIBDIR, or use LDFLAGS to set rpath. Much simpler all around to ensure that $PRIVATE_LIBDIR only has archive libelf, not shared-library libelf. David Anderson. davea@sgi.com $Source: /plroot/cmplrs.src/v7.4.5m/.RCS/PL/dwarfdump/RCS/README,v $ $Revision: 1.3 $ $Date: 2006/03/29 23:26:01 $