Patch: Handle relative paths in .debug_line
Michael Chastain
mec.gnu@mindspring.com
Sun Aug 1 00:24:00 GMT 2004
Andrew Cagney <cagney@gnu.org> wrote:
> Your dejagnu is too old :-(
That is the problem all right. I need to write some more doco.
In the interim, here is a brain dump for Bryce.
You need three packages to test Gdb: TCL, Expect, and DejaGnu. TCL
provides the TCL library. Expect provides the 'expect' executable,
which is linked with the TCL library. And DejaGnu provides the
'runtest' shell script, which needs the 'expect' executable.
You can find the version of these packages by running:
% runtest --version
WARNING: Couldn't find the global config file.
Expect version is 5.41.0
Tcl version is 8.4
Framework version is 1.4.4
The 'framework version' is the DejaGnu version.
The TCL version is misreported, I've got TCL 8.4.6,
but 'runtest --version' is reporting only two digits of it.
To test Gdb, you need these versions: TCL 8.4.1 or later,
Expect 5.27 or later, and DejaGnu 1.4.3 or later.
In particular, if you get an error on proc setup_kfail,
that means your Dejagnu is too old.
You can download these packages from:
TCL ftp://ftp2.sourceforge.net/pub/sourceforge/t/tc/tcl/tcl8.4.6-src.tar.gz
Expect http://expect.nist.gov/src/expect-5.41.0.tar.gz
DejaGnu ftp://ftp.gnu.org/pub/gnu/dejagnu/dejagnu-1.4.4.tar.gz
To build TCL:
Unpack the source.
Make build and install directories.
cd $dir_build
$dir_source/unix/configure --prefix="$dir_install" --enable-gcc --disable-shared
make all
make install
cd $dir_install/bin
ln -s tclsh8.4 tclsh
The '--prefix' lets you keep your own private install trees without
interfering with /usr/bin or /usr/local/bin.
Use '--enable-gcc' if you are compiling with gcc.
The '--disable-shared' is optional but I always use it.
The 'ln -s' at the end is needed by DejaGnu.
To build Expect:
Unpack the source.
Make build and install directories.
PATH="$dir_install_tcl/bin":"$PATH"
export PATH
cd $dir_build
$dir_source/configure --prefix="$dir_install" --disable-shared --with-tcl="$dir_install_tcl/lib" --with-tclconfig="$dir_install_tcl/lib" --with-tclinclude="$dir_source_tcl/generic"
make all
make install
Expect needs to be configured with the TCL library that you just built.
--disable-shared is optional, as before.
"$dir_install_tcl" is the "$dir_install" where you installed TCL.
"$dir_source_tcl" is the "$dir_source" where you unpacked the TCL source.
[Hmmm, that could probably be "$dir_install_tcl/include" instead of
"$dir_source_tcl/generic", I need to work on my own script].
To build DejaGnu:
Unpack the source.
Make build and install directories.
PATH="$dir_install_expect/bin":"$dir_install_tcl/bin":"$PATH"
export PATH
cd $dir_build
$dir_source/configure --prefix="$dir_install" --with-tclinclude="$dir_install_tcl/bin"
make all
make install
DejaGnu needs to find the directory where you installed Expect,
so $dir_install_expect/bin has to be in your path. I also throw
in the directory where TCL is installed, although TCL is mostly
a library.
To test GDB:
PATH="$dir_install_dejagnu/bin":"$dir_install_expect/bin":$PATH
runtest --version
make check
Hope this helps,
Michael C
More information about the Gdb-patches
mailing list