For openSUSE 11.0 please check this bug report: https://bugzilla.novell.com/show_bug.cgi?id=417573 Also check the status of the bug report about debuginfo being available (or not) for your kernel package: https://bugzilla.novell.com/show_bug.cgi?id=233122 If these aren't fixed yet you might be best of compiling systemtap from source (latest git) and recompiling your kernel packages to get the right debuginfo as explained below.

On 10.3 it's included, for 10.2 if you don't want to build systemtap yourself, here is the easiest set of steps I found:

Really Easy Instructions

# If you do not have the default 10.2 kernel, you will need to get it:
wget ftp://mirrors.kernel.org/opensuse/distribution/10.2/repo/oss/suse/i586/kernel-default-2.6.18.2-34.i586.rpm

# and install it:
rpm -i kernel-default-2.6.18.2-34.i586.rpm

Why the default kernel? It's because currently they are only publishing the debuginfo files for the default kernel. See https://bugzilla.novell.com/show_bug.cgi?id=233122

wget ftp://mirrors.kernel.org/opensuse/distribution/10.2/repo/debug/suse/i586/kernel-default-debuginfo-2.6.18.2-34.i586.rpm
wget ftp://mirrors.kernel.org/opensuse/distribution/SL-OSS-factory/inst-source/suse/i586/systemtap-0.5.14-3.i586.rpm

rpm -i kernel-default-debuginfo-2.6.18.2-34.i586.rpm
rpm -i systemtap-0.5.14-3.i586.rpm

edit the file /usr/share/systemtap/runtime/transport/utt.c , change line # 94 to the following:

        filp->private_data = inode->u.generic_ip;

Don't worry, it's for the runtime, you don't need to compile anything by hand. The line has to change because 10.2 runs an older kernel before the inode cleanup, it was a balance between compiling from cvs or changing the line :)

Slightly Harder Instructions

If running the older kernel bugs you, your best bet is to grab the kernel rpm sources and build your own kernel rpm. The build process will create the debuginfo file

wget ftp://ftp.suse.com/pub/suse/update/10.2/rpm/src/kernel-default-2.6.18.8-0.1.nosrc.rpm
wget ftp://ftp.suse.com/pub/suse/update/10.2/rpm/src/kernel-source-2.6.18.8-0.1.src.rpm
rpm -i kernel-source-2.6.18.8-0.1.src.rpm
rpm -i kernel-default-2.6.18.8-0.1.nosrc.rpm 
cd /usr/src/packages/SOURCES/SPECS/
rpmbuild -ba --target=i586 # this might not be perfect, going from memory

You will definately want to take a moment and add to the version information in the spec file to differentiate from the distributed version. Remember, use the most current files, the file pointers here will be stale momentarily :-) If you install systemtap from the rpm, you will still need to update the runtime file as indicated above. But you went through all the trouble to build a new kernel, you might as well try out a CVS snapshot version that has that fixed...

None: SystemTapOnopenSUSE (last edited 2009-06-08 14:42:58 by FChE)