This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB 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: Patch: Handle relative paths in .debug_line


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


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