b9eb285
THIS IS HERE ONLY TO SUPPORT SYSTEMTAP DEVELOPMENT.  IT IS NOT FOR GENERAL USE.
b9eb285
b9eb285
Building systemtap requires a recent development version of elfutils,
b9eb285
which provides libraries for making use of debugging information.
b9eb285
b9eb285
This is unfinished work in active development.  This code is not intended
b9eb285
for general consumption in its present form.  Development of these
b9eb285
libraries is simultaneous with Systemtap development.  The Systemtap code
b9eb285
will require new versions as things evolve; the systemtap.spec.in file in
b9eb285
the systemtap source tree should always indicate the minimum version of
b9eb285
elfutils libraries that will suffice.  We will make an effort to make a
b9eb285
compatible version available here, that you can use for compiling Systemtap.
b9eb285
b9eb285
Current elfutils can always be found in Fedora Core Development, AKA Rawhide.
b9eb285
If you are interested in the elfutils code in general or for any purpose
b9eb285
other than developing Systemtap, please see http://fedora.redhat.com/ about
b9eb285
getting involved with Fedora Core Development directly.
b9eb285
18fe67c
To use the elfutils libraries to build Systemtap, you can either use
18fe67c
installed libraries, or you can build elfutils from source as part of the
18fe67c
systemtap build.  To use installed libraries, you'll need to have the
18fe67c
current elfutils version installed on your system where the compiler will
18fe67c
find it with whatever build flags you pass systemtap's configure script.
18fe67c
Unless your system already has the current elfutils installed
18fe67c
(i.e. Rawhide), you'll have to install a nonstandard build either via RPM
18fe67c
or by hand with "make" as detailed below.  To build the elfutils source
18fe67c
locally as part of the systemtap build, see systemtap's README about the
18fe67c
--with-elfutils=... option to systemtap's configure.
18fe67c
b9eb285
You can find the rawhide rpms updated daily on a variety of sites
b9eb285
(see http://fedora.redhat.com/download/mirrors.html) under core/development.
b9eb285
What's distributed in this directory is made trivially from those same sources.
b9eb285
b9eb285
The vanilla elfutils code, in elfutils-VERSION.tar.gz and what the rawhide
b9eb285
RPMs ordinarily build, can only be built using GCC 4 and a recent glibc.
b9eb285
Fedora Core 4 is the only released system meeting the requirements.
b9eb285
b9eb285
To rebuild the rawhide src.rpm on an older system, you can use:
b9eb285
b9eb285
	rpmbuild --with compat --rebuild elfutils-VERSION-N.src.rpm
b9eb285
b9eb285
The SRPMS/elfutils-VERSION-0.N.src.rpm provided here is exactly the same as
b9eb285
the elfutils-VERSION-N.src.rpm from Rawhide except that it doesn't require
b9eb285
that you specify --with compat to build on an older system.
b9eb285
b9eb285
We have done this for you for a few architectures, and those RPMs are
b9eb285
available here.  These were built on RHEL3, and so their requirements
b9eb285
should not be too demanding.  We must remind you that this is unsupported,
b9eb285
pre-beta development code.  Furthermore, these builds are completely
b9eb285
unofficial, unsupported, unsigned, unlikely to have been tested,
b9eb285
unequivocally not guaranteed not to ruin your whole day, and we really
b9eb285
cannot recommend that anyone install them on their system.  Do so at your
b9eb285
own risk.  All that said, here they is, and if you copy this file:
b9eb285
b9eb285
	ftp://sources.redhat.com/pub/systemtap/elfutils/systemtap-elfutils.repo
b9eb285
f3e8192
into your /etc/yum.repos.d/ directory, then you can get them all with just:
b9eb285
f3e8192
	yum install elfutils-devel
b9eb285
b9eb285
b9eb285
To compile elfutils from source by hand, simply use elfutils-VERSION.tar.gz
b9eb285
and follow the usual procedure for GNU configure conventions.  The patch
b9eb285
available here has to be applied before you can compile on an older system:
b9eb285
b9eb285
	tar xzf elfutils-VERSION.tar.gz
b9eb285
	patch -p1 -d elfutils-VERSION < elfutils-portability.patch
b9eb285
	cd elfutils-VERSION
f6bdc69
	./configure --program-prefix=eu-devel-
f6bdc69
	make && make check && make install
b9eb285
b9eb285
(That of course installs things under /usr/local, unlike the RPMs.)
b9eb285
b9eb285
18fe67c
Caveat emptor.  Carpe noctem.
b3fc8b2
Reply to <systemtap@sources.redhat.com>.