bug-dejagnu
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-dejagnu] 1.4.3 Installation, several Bugs


From: Sven Utcke
Subject: [Bug-dejagnu] 1.4.3 Installation, several Bugs
Date: Thu, 3 Jul 2003 14:12:17 +0200
User-agent: Mutt/1.4i

Hi,

I believe that both the documentation as well as the codebase of
dejagnu 1.4.3 contain several errors which make it at least quite hard
to install.  This is referring to the following file:

kogs2>/software/dejagnu-1.4.3% md5sum /software/inst/dejagnu-1.4.3.tar.gz 
f0cc24ebe8d1ba94f731d9cd04aa05f3  /software/inst/dejagnu-1.4.3.tar.gz
kogs2>/software/dejagnu-1.4.3% ls -l /software/inst/dejagnu-1.4.3.tar.gz
-rw-------   1 utcke    tvp       1817399 Jun 26 16:56 
/software/inst/dejagnu-1.4.3.tar.gz

I'll now go on and whine about all of these perceived bugs in some
detail.  Most have to do with the fact that you can not run "make
check".  this might sound like a trivial matter, but lets face it: the
_only_ people ever to install dejagnu are _exactly_ the people who
_want_ to run make check...

1) The README says:
      To build DejaGnu, run the ``configure'' script here, e.g.:
     
             ./configure MYHOSTTYPE
     
     followed by running ``make''.  (MYHOSTTYPE is a name for your host 
computer,
     for instance "sun4".  You can use the script ``config.sub'' to test whether
     a name is recognized; if it is, config.sub translates it to a triplet 
     specifying CPU, vendor, and OS.)
   
   Let's face it, this is _not_ very helpful --- better would be a
   list of known targets.  But let's see if I can guess my target.
   This is

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% uname -a
   SunOS kogs2 5.8 Generic_108528-12 sun4u
   
   So lets try sun4u first:

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./config.sub sun4u
   Invalid configuration `sun4u': machine `sun4u' not recognized
   
   Ups, not good.  Maybe just sun4?

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./config.sub sun4
   sparc-sun-sunos4.1.1

   Well, that's better, but honestly, anybody still alive remembers
   SunOS 4.1.1?  This is ancient!  It probably predates dejagnu by a
   decade or so...  Well, maybe try solaris or sparc or somesuch?

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./config.sub solaris
   Invalid configuration `solaris': machine `solaris' not recognized
   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./config.sub sunos
   Invalid configuration `sunos': machine `sunos' not recognized
   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./config.sub sparc
   sparc-sun-sunos4.1.1
   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./config.sub sparcv9
   sparcv9-unknown-none

   Hmm, all not very promising...

   Of course, what the README does _not_ tell me is about the script
   config.guess.  So what does that tell me?

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./config.guess 
   sparc-sun-solaris2.8
   
   Yep, that looks a lot more like my system.  And what about
   config.sub?

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./config.sub 
sparc-sun-solaris2.8
   sparc-sun-solaris2.8

   Ok, obviously I can run configure using this target...

2) So, let's run configure:

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./configure 
sparc-sun-solaris2.8 |& tee /tmp/dejagnu-$$
   configure: WARNING: you should use --build, --host, --target
   checking for a BSD compatible install... /opt/gnu/bin/install -c
   checking whether build environment is sane... yes
   [...]

   What is this?  Obviously I should _not_ pass the hosttype to
   configure, and certainly not in the form advised by the README.
   Let's try it:

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./configure | & tee 
/tmp/dejagnu2-$$
   checking for a BSD compatible install... /opt/gnu/bin/install -c
   checking whether build environment is sane... yes

   Now lookahere, the WARNING is gone.  So I really shouldn't pass the
   HOSTTYPE at all, it seems --- which of course is just how any other
   configure script is used...

   Any other important differences?

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% diff /tmp/dejagnu*
   1d0
   < configure: WARNING: you should use --build, --host, --target
   9d7
   < checking for sparc-sun-solaris2.8-gcc... no
   20,32d17
   < checking for sparc-sun-solaris2.8-g++... no
   < checking for sparc-sun-solaris2.8-c++... no
   < checking for sparc-sun-solaris2.8-gpp... no
   < checking for sparc-sun-solaris2.8-aCC... no
   < checking for sparc-sun-solaris2.8-CC... no
   < checking for sparc-sun-solaris2.8-cxx... no
   < checking for sparc-sun-solaris2.8-cc++... no
   < checking for sparc-sun-solaris2.8-cl... no
   < checking for sparc-sun-solaris2.8-FCC... no
   < checking for sparc-sun-solaris2.8-KCC... no
   < checking for sparc-sun-solaris2.8-RCC... no
   < checking for sparc-sun-solaris2.8-xlC_r... no
   < checking for sparc-sun-solaris2.8-xlC... no
   49,50c34
   < configure: running /bin/sh './configure'  sparc-sun-solaris2.8 
build_alias=sparc-sun-solaris2.8 host_alias=sparc-sun-solaris2.8 
target_alias=sparc-sun-solaris2.8 --cache-file=/dev/null --srcdir=.
   < configure: WARNING: you should use --build, --host, --target
   ---
   > configure: running /bin/sh './configure'  --cache-file=/dev/null --srcdir=.
   55d38
   < checking for sparc-sun-solaris2.8-gcc... no
   83a67
   > config.status: calc.h is unchanged
   86,87c70
   < configure: running /bin/sh './configure'  sparc-sun-solaris2.8 
build_alias=sparc-sun-solaris2.8 host_alias=sparc-sun-solaris2.8 
target_alias=sparc-sun-solaris2.8 --cache-file=/dev/null --srcdir=.
   < configure: WARNING: you should use --build, --host, --target
   ---
   > configure: running /bin/sh './configure'  --cache-file=/dev/null --srcdir=.
   93d75
   < checking for sparc-sun-solaris2.8-gcc... no

   Seems like not passing any hosttype only did us good...

3) After running make, the README tells me to run make overview.html,
   make overview.ps, and make overview.pdf.  Ok, let's do that...

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% make overview.html
   cd doc && gmake -j2  overview.html
   gmake[1]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   src=.; \
   dir=`(cd ${src}; pwd)`; \
   mkdir html; \
   /db2html -o html ${dir}/overview.sgml
   mkdir: Failed to make directory "html"; File exists
   /bin/sh: /db2html: not found
   gmake[1]: *** [overview.html] Error 1
   gmake[1]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   make: *** [overview.html] Error 2

   db2html?  Excuse me?  Docbook, I presume?  Well, I don't think this
   was stated anywhere as a dependency, nor did configure check for
   it's existence, so what's the point here?  Ok, let's try the other
   two...

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% make overview.ps
   cd doc && gmake -j2  overview.ps
   gmake[1]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   src=.; \
   dir=`(cd ${src}; pwd)`; \
   /db2dvi ${dir}/overview.sgml
   /bin/sh: /db2dvi: not found
   gmake[1]: *** [overview.dvi] Error 1
   gmake[1]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   make: *** [overview.ps] Error 2

   Doesn't look too good either...

4) What the README doesn't tell me is whether I could also run "make
   check".  But this _is_ dejagnu, after all, so if "make check" isn't
   even implemented for this package, for what else would it be
   implemented?

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% make check
   Making check in doc
   gmake[1]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   gmake[1]: Nothing to be done for `check'.
   gmake[1]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   gmake[1]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3'
   gmake -j2  check-DEJAGNU
   gmake[2]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3'
   cd testsuite ; gmake -j2 check
   gmake[3]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite'
   Making check in libdejagnu
   gmake[4]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/libdejagnu'
   source='unit.cc' object='unit.o' libtool=no \
   depfile='.deps/unit.Po' tmpdepfile='.deps/unit.TPo' \
   depmode=none /bin/sh ../../depcomp \
   g++ -DPACKAGE=\"dejagnu\" -DVERSION=\"1.4.3\"  -I. -I.     -I../.. -g -c -o 
unit.o `test -f unit.cc || echo './'`unit.cc
   ../../depcomp: ../../depcomp: cannot open
   gmake[4]: *** [unit.o] Error 1

   Well, it is implemented, but looks _very_ strongly as if the
   maintainers couldn't be bothered to run it for a _long_ time.  Not
   good.  Of course I know from the mailing list that this isn't
   really a problem, since this "can be fixed either by grabbing
   DejaGnu from CVS, or rerunning automake.", but honestly, if "make
   check" doesn't even run for dejagnu, what else should we expect it
   to run on?  But let's call automake:

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% automake
   aclocal.m4:253: version mismatch.  This is Automake 1.6.3, but aclocal.m4
   aclocal.m4:253: was generated for Automake 1.6.  You should recreate
   aclocal.m4:253: aclocal.m4 with aclocal and run automake again.
   testsuite/libdejagnu/Makefile.am: required file `./depcomp' not found

   Hmm.  Ok, let's run aclocal first:

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% aclocal
   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% automake
   testsuite/libdejagnu/Makefile.am: required file `./depcomp' not found

   This does not bode well --- but let's try:

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./configure                     
   
   [...]
   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% make
   [...]
   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% make check
   Making check in doc
   gmake[1]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   gmake[1]: Nothing to be done for `check'.
   gmake[1]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   gmake[1]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3'
   gmake -j2  check-DEJAGNU
   gmake[2]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3'
   cd testsuite ; gmake -j2 check
   gmake[3]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite'
   Making check in libdejagnu
   gmake[4]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/libdejagnu'
   source='unit.cc' object='unit.o' libtool=no \
   depfile='.deps/unit.Po' tmpdepfile='.deps/unit.TPo' \
   depmode=none /bin/sh ../../depcomp \
   g++ -DPACKAGE=\"dejagnu\" -DVERSION=\"1.4.3\"  -I. -I.     -I../.. -g -c -o 
unit.o `test -f 'unit.cc' || echo './'`unit.cc
   ../../depcomp: ../../depcomp: cannot open

   Nope, of course this didn't work.  Ok, let's get the CVS-version...

   kogs2>/software/dejagnu-1.4.3/cvs% find . -name "depcomp*" -ls
   -rwxr-xr-x   1 utcke    tvp         12117 Jul 17  2002 ./dejagnu/depcomp
   -rwxr-xr-x   1 utcke    tvp         12117 Jul 15  2002 
./dejagnu/example/hello/depcomp

   Interesting, the original source had

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% find . -name "depcomp*" -ls
   -rwxr-xr-x   1 utcke    tvp         12117 Apr 27  2002 
./example/hello/depcomp


5) Ok, let's try that

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% cp ../cvs/dejagnu/depcomp .
   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% aclocal
   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% automake
   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% ./configure
   [...]
   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% make
   [...]
   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% make check
   Making check in doc
   gmake[1]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   gmake[1]: Nothing to be done for `check'.
   gmake[1]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   gmake[1]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3'
   gmake -j2  check-DEJAGNU
   gmake[2]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3'
   cd testsuite ; gmake -j2 check
   gmake[3]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite'
   Making check in libdejagnu
   gmake[4]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/libdejagnu'
   source='unit.cc' object='unit.o' libtool=no \
   depfile='.deps/unit.Po' tmpdepfile='.deps/unit.TPo' \
   depmode=gcc /bin/sh ../../depcomp \
   g++ -DPACKAGE=\"dejagnu\" -DVERSION=\"1.4.3\"  -I. -I.     -I../.. -g -c -o 
unit.o `test -f 'unit.cc' || echo './'`unit.cc
   g++  -I../.. -g   -o unit  unit.o  
   gmake[4]: Leaving directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/libdejagnu'
   gmake[4]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite'
   Nothing to be done for all
   gmake -j2  check-DEJAGNU
   gmake[5]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite'
   Making a new site.exp file...
   srcdir=`CDPATH="${ZSH_VERSION+.}:" && cd . && pwd`; export srcdir; \
   EXPECT=expect; export EXPECT; \
   runtest=` if [ -f ../runtest ] ; then echo ../runtest; else echo "ERROR: 
runtest not found" ; exit 1; fi`; \
   if /bin/sh -c "$runtest --version" > /dev/null 2>&1; then \
     l='dejagnu'; for tool in $l; do \
       $runtest  --srcdir $srcdir ; \
     done; \
   else echo "WARNING: could not find \`runtest'" 1>&2; :;\
   fi
   WARNING: Couldn't find the global config file.
   WARNING: No tool specified
   Test Run By utcke on Thu Jul  3 12:54:54 2003
   Native configuration is sparc-sun-solaris2.8
   
                   ===  tests ===
   
   Schedule of variations:
       unix
   
   Running target unix
   Using 
/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/../config/base-config.exp as 
tool-and-target-specific interface file.
   Using /software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/config/default.exp as 
tool-and-target-specific interface file.
   Running /software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/libdejagnu/tunit.exp 
...
   Running /software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/runtest.all/libs.exp 
...
   Running 
/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/runtest.all/options.exp ...
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   Running 
/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/runtest.all/stats-sub.exp ...
   Running 
/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/runtest.all/stats.exp ...
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   ERROR: Can't find runtest
   
                   ===  Summary ===
   
   # of expected passes            40
   # of unresolved testcases       23
   gmake[5]: *** [check-DEJAGNU] Error 1

   Ups.  Looks like we got a small problem here concerning runtest.
   Maybe I can only run checks _after_ I installed this (duh, that
   would be stupid)...?

6) Ok, I did:

   192  13:59   make distclean
   193  13:59   ./configure --prefix=/software/dejagnu-1.4.3
   194  14:01   make install
   195  14:01   dir ..
   196  14:01   setenv PATH /software/dejagnu-1.4.3/bin:$PATH

   and then:

   kogs2>/software/dejagnu-1.4.3/dejagnu-1.4.3% make check 
   Making check in doc
   gmake[1]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   gmake[1]: Nothing to be done for `check'.
   gmake[1]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/doc'
   gmake[1]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3'
   gmake -j2  check-DEJAGNU
   gmake[2]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3'
   cd testsuite ; gmake -j2 check
   gmake[3]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite'
   Making check in libdejagnu
   gmake[4]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/libdejagnu'
   gmake[4]: Nothing to be done for `check'.
   gmake[4]: Leaving directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/libdejagnu'
   gmake[4]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite'
   Nothing to be done for all
   gmake -j2  check-DEJAGNU
   gmake[5]: Entering directory 
`/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite'
   srcdir=`CDPATH="${ZSH_VERSION+.}:" && cd . && pwd`; export srcdir; \
   EXPECT=expect; export EXPECT; \
   runtest=` if [ -f ../runtest ] ; then echo ../runtest; else echo "ERROR: 
runtest not found" ; exit 1; fi`; \
   if /bin/sh -c "$runtest --version" > /dev/null 2>&1; then \
     l='dejagnu'; for tool in $l; do \
       $runtest  --srcdir $srcdir ; \
     done; \
   else echo "WARNING: could not find \`runtest'" 1>&2; :;\
   fi
   WARNING: Couldn't find the global config file.
   WARNING: No tool specified
   Test Run By utcke on Thu Jul  3 14:03:12 2003
   Native configuration is sparc-sun-solaris2.8
   
                ===  tests ===
   
   Schedule of variations:
       unix
   
   Running target unix
   Using 
/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/../config/base-config.exp as 
tool-and-target-specific interface file.
   Using /software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/config/default.exp as 
tool-and-target-specific interface file.
   Running /software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/libdejagnu/tunit.exp 
...
   Running /software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/runtest.all/libs.exp 
...
   Running 
/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/runtest.all/options.exp ...
   Running 
/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/runtest.all/stats-sub.exp ...
   Running 
/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite/runtest.all/stats.exp ...
   
                ===  Summary ===
   
   # of expected passes         63
   gmake[5]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite'
   gmake[4]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite'
   gmake[3]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/testsuite'
   cd example ; gmake -j2 check
   gmake[3]: Entering directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/example'
   Makefile:364: warning: overriding commands for target `check-recursive'
   Makefile:117: warning: ignoring old commands for target `check-recursive'
   No check target in examples
   gmake[3]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3/example'
   gmake[2]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3'
   gmake[1]: Leaving directory `/software/dejagnu-1.4.3/dejagnu-1.4.3'

   Ok, finally I succeeded!  But, quite frankly, having to install the
   tool _before_ testing it is rather unorthodox and doesn't really
   make much sense at all, given that the entire idea about testing is
   to make sure something works before installing it (and possibly
   overwriting an older, working version with a newer, broken one).

Ok, I hope I didn't sound to miffed, but I would really appreciate if
the maintainer could see their way into fixing the tar.gz as well as
the documentation.  Thanks.

Sven
-- 
 _  __                     The Cognitive Systems Group
| |/ /___  __ _ ___                                       University of Hamburg
| ' </ _ \/ _` (_-<  phone:    +49 (0)40 42883-2576      Vogt-Koelln-Strasse 30
|_|\_\___/\__, /__/  fax  :    +49 (0)40 42883-2572             D-22527 Hamburg
          |___/ http://kogs-www.informatik.uni-hamburg.de/~utcke/home.html




reply via email to

[Prev in Thread] Current Thread [Next in Thread]