bug-guile
[Top][All Lists]
Advanced

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

guile-1.8.5 test failures


From: Peter O'Gorman
Subject: guile-1.8.5 test failures
Date: Thu, 29 May 2008 16:45:35 -0500
User-agent: Mutt/1.5.17 (2007-11-01)

Hi,

We built guile-1.8.5 on multiple machines with the native compilers and
these patches:

http://lists.gnu.org/archive/html/guile-devel/2008-05/msg00020.html 
http://lists.gnu.org/archive/html/guile-devel/2008-05/msg00017.html
(attached patch)

The attached patch does these things:
1. Fix a build failure on hppa-hpux11.23 due to core dump during configure
   with -luca
2. Don't detect the non-posix gmtime_r and readdir_r on hpux10.20
3. Fix build error on Tru64 Unix with the DEC compiler, which does not like
   the non-constant expression in case: statements, and on irix which does
   not like the non-constant expression in the initializers in read.c and
   print.c. (yes, I know - yuck).
4. #define LONG_LONG_MIN and LONG_LONG_MAX id the are not available
   (unfortunately I can not remember which system this was on).
5. Some older systems have inttypes.h that does not define PRIiMAX.
6. xlc on AIX 4.3 does not like 'static const char s_scm_hash_fold[];', we
   moved the code around to make it unnecessary.
7. Tru64 Unix has headers that #define except, change it to something else
   in deprecated.c.
8. Small patch to guile-config.in to put -lguile after -L/path/to/lib (we
   did not have a problem with this yet, but the linker on at least HP-UX
   requires the order be correct).
   
With all of these patches we did not have too much trouble except for
ia64-hp-hpux11.23 and Tru64 Unix 5.1.

On Tru64 Unix, it looks like we have a choice of building with gcc and
the tests failing with:
/opt/fsw/bash30/bin/bash: line 1: 186300 Floating point exception(core dumped) 
"../../pre-inst-guile-env" ${dir}$tst
FAIL: test-conversion
[snip]
/opt/fsw/bash30/bin/bash: line 1: 186527 Floating point exception(core dumped) 
${dir}$tst
FAIL: check-guile

Or building with the native compiler and the tests failing with:
PASS: test-list
Assertion failed: WINDER_P (entry), file dynwind.c, line 181
/opt/fsw/bash30/bin/bash: line 1: 362514 IOT/Abort trap          (core dumped) 
"../../pre-inst-guile-env" ${dir}$tst
FAIL: test-unwind
PASS: test-conversion
[snip]
Running continuations.test
Running elisp.test
zsh: segmentation fault (core dumped)  ./check-guile


For ia64-hpux the situation is not quite that good. With all three
patches applied guile builds, but the tests go like this:
PASS: test-system-cmds
PASS: test-require-extension
PASS: test-bad-identifiers
ERROR: Stack overflow
FAIL: test-num2integral
PASS: test-round
PASS: test-gh
ERROR: Stack overflow
FAIL: test-asmobs
PASS: test-list
PASS: test-unwind
ERROR: Stack overflow
FAIL: test-conversion
ERROR: Stack overflow
ABORT: (stack-overflow)
PASS: test-use-srfi
PASS: test-with-guile-module
==================================
3 of 12 tests failed
[snip]
Testing /opt/build/guile-1.8.5/pre-inst-guile ...
with GUILE_LOAD_PATH=/opt/build/guile-1.8.5/test-suite
Running alist.test
ERROR: Stack overflow
FAIL: check-guile
==================================
1 of 1 tests failed


With the compiler optimization at -xO2, the build fails with a segfault
building the docs, with gcc and any optimization level, the build hangs
forever building the docs. The above results are with -xO1.
Without the stack size or ia64 patches applied, the results are similar
to Tru64:

PASS: test-system-cmds
PASS: test-require-extension
PASS: test-bad-identifiers
PASS: test-num2integral
PASS: test-round
PASS: test-gh
PASS: test-asmobs
PASS: test-list
/opt/fsw/bash30/bin/bash: line 1: 13028 Segmentation fault      (core dumped) 
"../../pre-inst-guile-env" ${dir}$tst
FAIL: test-unwind
PASS: test-conversion
PASS: test-use-srfi
PASS: test-with-guile-module
==================================
1 of 12 tests failed
[snip]
Testing /opt/build/guile-1.8.5/pre-inst-guile ...
with GUILE_LOAD_PATH=/opt/build/guile-1.8.5/test-suite
Running alist.test
Running and-let-star.test
Running arbiters.test
Running bit-operations.test
Running c-api.test
Running chars.test
Running common-list.test
Running continuations.test
zsh: segmentation fault (core dumped)  ./check-guile

Other systems also failed tests:

On all systems that lack unsetenv, we see:
Running posix.test
FAIL: posix.test: putenv: removing
FAIL: posix.test: setenv: removing
FAIL: posix.test: unsetenv: something
FAIL: posix.test: unsetenv: empty

It looks like the code expects putenv("FOO") to remove FOO from the
environment, but that is only the case on linux. On, for example,
solaris2.7, putenv("FOO") puts the string FOO into the environment.
Perhaps you should look into using the gnulib putenv for this?
http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=m4/putenv.m4;h=17105754c97385ac8ceb42c307d89f693935707e;hb=HEAD
Or, since it is only needed if unsetenv is not available, just go
through **environ in that case and "manually" remove the env var.
We will patch like that, but have not got to it yet.

hppa-hpux tests originally failed, running out of stack. After the stack
patch, we get:
Running srfi-14.test
FAIL: srfi-14.test: Latin-1 (8-bit charset): char-set:letter (size)
FAIL: srfi-14.test: Latin-1 (8-bit charset): char-set:lower-case (size)
FAIL: srfi-14.test: Latin-1 (8-bit charset): char-set:upper-case (size)

Running time.test
FAIL: time.test: strftime: C99 %z format: GMT
FAIL: time.test: strftime: C99 %z format: EST+5

And, on hppa-hpux10.20 only:
Running numbers.test
FAIL: numbers.test: log: (negative-infinity? (log 0))
FAIL: numbers.test: log: (negative-infinity? (log 0.0))
FAIL: numbers.test: log10: (negative-infinity? (log10 0))
FAIL: numbers.test: log10: (negative-infinity? (log10 0.0))

Strangely, sparc-solaris2.10, and i386-solaris2.10 failed time.test
FAIL: time.test: strftime: C99 %z format: EST+5
But sparc-solaris2.6, 2.7, 2.8, 2.9 all passed that one.

aix4.3, 5.1, 5.2 and 5.3 all failed time.test also:
Running time.test
FAIL: time.test: strftime: C99 %z format: GMT
FAIL: time.test: strftime: C99 %z format: EST+5
aix4.3 and 5.1 also lack unsetenv, so failed those tests too.

mips-irix6.5 fails only the tests due to lack of unsetenv.

We'd appreciate some help in fixing ia64-hpux and Tru64. I believe that
the HP testdrive has itanium hpux machines, and the used to have Tru64
also, not sure if they still do.

Peter
-- 
Peter O'Gorman
address@hidden

Attachment: guile-1.8.5.patch
Description: Text document


reply via email to

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