This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: build errors


Hello Eugeniy,
Hello everyone,

I'm a new user of systemtap on Debian Etch 4.0r1 and have terrible problems building it from source available from CVS (binary package available by default on Etch can't even compile "hello world" example from tutorial without throwing compilation errors).
Hmm, isn't systemtap package available in Etch?
Yep. Tried it first. As much as I love Debian package system + repos, this package is badly outdated and broken. At least on 64-bit Etch/Xeon combo which I use. Not a single example from tutorial could be compiled by packaged stap (0.0.20061028-2), not even "hello world"!

% stap -v -v hw.stp

[...]

In file included from /usr/share/systemtap/runtime/runtime.h:79,
from /tmp/stapU8QEaD/stap_f93cc669292198d875dcfc29aeefdff0_261.c:31:
/usr/share/systemtap/runtime/alloc.c: At top level:
/usr/share/systemtap/runtime/alloc.c:66: error: expected declaration specifiers or '...' before '(' token
/usr/share/systemtap/runtime/alloc.c: In function 'percpu_free':
/usr/share/systemtap/runtime/alloc.c:67: error: number of arguments doesn't match prototype
include/linux/percpu.h:58: error: prototype declaration
/usr/share/systemtap/runtime/alloc.c:69: error: 'objp' undeclared (first use in this function)
In file included from /tmp/stapU8QEaD/stap_f93cc669292198d875dcfc29aeefdff0_261.c:33:
/usr/share/systemtap/runtime/stack.c: In function '_stp_ustack_sprint':
/usr/share/systemtap/runtime/stack.c:124: error: 'struct task_struct' has no member named 'thread_info'
make[1]: *** [/tmp/stapU8QEaD/stap_f93cc669292198d875dcfc29aeefdff0_261.o] Error 1
make: *** [_module_/tmp/stapU8QEaD] Error 2



I got better results on my home Athlon/Kubuntu with hand-compiled kernel.


I get this after ./compile:

configure: error: missing elfutils development headers/libraries (dw 0.123+)
You should install libelf-dev, libdw-dev and libebl-dev.
I have them all.

In config.log I get:

configure:6324: gcc -o conftest -march=nocona -02 -pipe -fomit-frame-pointer conftest.c -ldw >&5
gcc: unrecognized option '-02'
Hmm, minus-zero-two? Should be minus-O-two.

Exactly. :-) Looks like somebody made a typo in autoconf/other build stuff files.


/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libdw.a(dwfl_module_getsym.o): In function `dwfl_module_getsym':
(.text+0x55): undefined reference to `gelf_getsymshndx'
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libdw.a(dwfl_module_getsym.o): In function `dwfl_module_getsym':
(.text+0xf9): undefined reference to `elf_getshstrndx'
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libdw.a(dwfl_error.o): In function `__libdwfl_seterrno':
(.text+0x1a1): undefined reference to `elf_errno'
/usr/lib/gcc/x86_64-linux-gnu/4.1.2/../../../../lib64/libdw.a(dwfl_error.o): In function `__libdwfl_canon_error':
(.text+0x228): undefined reference to `elf_errno'
This is because there are only static elfutils libraries available in
Debian. You can look at patch 06-static-libdw-fix in systemtap source
package for the fix (it adds -Wl,--start-group and -Wl,--end-group flags
to the linker command line).


Thanks for suggestion!


There is also some information on
http://sourceware.org/systemtap/wiki/SystemtapOnDebian that may be
useful.

That's exactly what I followed first... to the letter.



-- Marcin Krol



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]