guile-user
[Top][All Lists]
Advanced

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

guile 1.5.6 make check failures on netbsd 1.5.3ish


From: Greg Troxel
Subject: guile 1.5.6 make check failures on netbsd 1.5.3ish
Date: 25 Apr 2002 08:21:05 -0400

  > With this patch, guile 1.5.6 builds and make check gives (on an
  > i386):
  > 
  > Testing /home/gdt/QUIST-current/guile/pre-inst-guile ...
  > with GUILE_LOAD_PATH=/home/gdt/QUIST-current/guile/test-suite
  > ERROR: regexp.test: regexp-substitute/global: ("" "" ""): port is string 
port - arguments: ((regular-expression-syntax "make-regexp" "empty 
(sub)expression" #f #f))
  > ERROR: regexp.test: regexp-substitute/global: ("" "" ""): port is #f - 
arguments: ((regular-expression-syntax "make-regexp" "empty (sub)expression" #f 
#f))
  > ERROR: srfi-19.test: SRFI date/time library: #<procedure time-utc->date 
(time . tz-offset)> respects local DST if no TZ-OFFSET given - arguments: 
((system-error "putenv" "~A" ("No such file or directory") (2)))
  > FAIL: syncase.test: (ice-9 syncase) loads

  Could you try to investigate this?

I get the same failures on FreeBSD 4.5ish (same guile sources).

Trying to do the srfi-19 test in parts by hand, it fails because
  (putenv "TZ")
fails.  putenv with a name=value arg works.
Reading the sources, it appears that in posix.c, plain "putenv" is called.
The man pages on FreeBSD and NetBSD indicate that putenv requires an =
in the argument.  The NetBSD sources are quite clear about this
requirement:
        if ((equal = strchr(p, '=')) == NULL) {
                (void)free(p);
                return (-1);
        }
I don't know if POSIX etc. specifies putenv, but it would seem that
one should call unsetenv for the case of no "=".  (I found it very
counterintuitive that putenv with a string and no = would be
equivalent to unsetenv, but that could just be me.)


For the regexp tests, the problem seems to be this:

  guile> (make-regexp "") 
  <unnamed port>:6:1: In procedure make-regexp in expression (make-regexp ""):
  <unnamed port>:6:1: empty (sub)expression
  ABORT: (regular-expression-syntax)

NetBSD man pages claim that regcomp (in libc) complies with IEEE Std
1003.2-1992 (``POSIX.2'') and lists the following error code:

     REG_EMPTY        empty (sub)expression

So, we need a POSIX lawyer to tell us whether NetBSD's (and FreeBSD's)
regcomp is wrong, or whether it is a bug in the guile test to expect
regcomp on the empty string to succeed without error.




        Greg Troxel <address@hidden>




reply via email to

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