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