Dtrace (the user command) relies on the libelf library to allow
introspection of target applications and for the USDT code for creating
The naked Ubuntu (and many other distros) provide a core set of packages
to work, but not the development packages. The dtrace release tells you
what you need.
What I have found is that there are so many libelfs out there and they
do not all agree. Eg. some include ELF_C_MMAP_READ and some dont. Worse,
the enums for the various values are different, leading to potential
of an app build with one set of headers causing strange and difficult to
debug error codes from elf_begin() and friends.
I need to add some better autodetection to the dtrace code, or, one
possibilty is to move totally away from libelf and use the elf library
I put together for the CRiSP/elfrewrite code. (Am loathe to do that, but
it would sever any dependencies and provide better support on old/very
I put out a new release today to fix some more build regressions, but
I have someone reporting the failing to build the "simple"/USDT example
code. If anyone is trying this out, try:
$ make -i all
as a temporary work around, assuming its just the "simple" example which fails
and nothing else.