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: guidance needed building systemtap


peterzbach@comcast.net writes:
 > I have been struggling getting systemtap to work on SuSE 10.0
 > 
 > I followed the previous suggestion in the README file, downloaded the elfutils, patched it, and configured and built the latest snapshot of systemtap.
 > 
 > Everything compiles fine, but make check shows some errors.

Hi, 

Here are my notes on what I needed to do to get systemtap to work on a
scratch installation of SLES10 and pass the testsuite.  This is based
on installing the SLES10 kernel of the day, but since it looks like
you've already done everything except install the debug info, you
could probably ignore everything else and go to step 3 - you could
probably just use Yast to install the debug info for the default or
SMP kernel (look under Development|Debug in Package Groups) and be all
set.  You'll probably need to check in /usr/lib/debug/boot for the
debug vmlinux and if it's compressed, uncompress it so systemtap can
use it, at least that's what I needed to do when I manually installed
the debug info rpm.

Hope that helps,

Tom


1) Install sles10, default configuration

2) Get and install the latest kernel of the day and the corresponding
   debuginfo and source from suse ftp site (or mirrors ):

   ftp://ftp.suse.com/pub/projects/kernel/kotd/i386/HEAD

   For example:

   # rpm -i kernel-smp-2.6.16_rc1_git3-20060201174415.i586.rpm
   # rpm -i kernel-smp-debuginfo-2.6.16_rc1_git3-20060201174415.i586.rpm
   # rpm -i kernel-source-2.6.16_rc1_git3-20060201174415.i586.rpm

3) In order for systemtap to be able to find the kernel debug info, it
   needs to be uncompressed:

   # gunzip /usr/lib/debug/boot/vmlinux-2.6.16-rc1-git3-20060201174415-smp.gz

4) In order to run the systemtap test suite, you need dejagnu.  I
   didn't find it on the sles10 DVD, so used the rpm I found at
   ftp.suse.com:

   ftp://ftp.suse.com/pub/suse/i386/9.3/suse/i586/dejagnu-1.4.4-4.i586.rpm

   # rpm -i dejagnu-1.4.4-4.i586.rpm

5) Get and build systemtap:

   - Download systemtap sources snapshot or from CVS:

    ftp://sources.redhat.com/pub/systemtap/snapshots/ 
    (or)
    cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/systemtap login
    # enter "anoncvs" as the password
    cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/systemtap co -c

   - Download the latest elfutils snapshot:

    ftp://sources.redhat.com/pub/systemtap/elfutils/elfutils-NNNN.tar.gz
    ftp://sources.redhat.com/pub/systemtap/elfutils/elfutils-portability.patch
    - Untar the snapshot in some new directory; apply portability patch

   - apply the elfbuild.patch (attached, from Suse) to the elfutils code:

    # cd systemtap/src/elfutils-0.119
    # patch -p1 < elfbuild.patch

   - apply the systap-elf-install.patch (attached, from Suse):

    # cd systemtap/src
    # patch -p1 < systap-elf-install.patch

   - apply the sles10-sysemtap-relayfs.patch (attached):

    # cd systemtap/src/runtime:
    # patch -p1 < systap-elf-install.patch

   - Build it
    # cd src
    # ./configure --with-elfutils=PATCHED-ELFUTILS-DIR [other autoconf options]
    # make all check
    # make install


6) Run the testsuite:
   
   # cd systemtap/tests/testsuite
   # runtest --tool=systemtap

   You should see test output similar to the following:

     .
     .
     .
     Running ./systemtap.samples/sysopen.exp ...
     Running ./systemtap.samples/transport.exp ...
     Running ./systemtap.stress/current.exp ...

                === systemtap Summary ===

     # of expected passes            128

     kernel version: 2.6.16-rc1-git3-20060201174415-smp
     systemtap translator version: version 0.5.3 built 2006-02-01

Attachment: elfbuild.patch
Description: elfbuild patch

Attachment: systap-elf-install.patch
Description: elfinstall patch

Attachment: sles10-sysemtap-relayfs.patch
Description: sles10 new relayfs patch


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