[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug-dejagnu] 1.4.3 Installation, several Bugs,
Sven Utcke <=