Progress report from the "energetic (ha!) curmudgeon"....

I have
- upgraded my computer from Etch to Lenny;
- installed the requisite support packages, except for libtool (libltdl)
  and libunistring, which are installed under prefix /home/ttn/local;
- done a "git pull" earlier today;
- successfully bootstrapped w/ "sh -x autogen.sh";
- successfully configured w/:
  ../GG/configure -C \
    --with-threads \
    --prefix /tmp/a/b/z \
    BDW_GC_CFLAGS='-I/usr/include' BDW_GC_LIBS='-lgc' \
    LIBFFI_CFLAGS='-I/usr/include' LIBFFI_LIBS='-lffi' \
    LDFLAGS='-L/home/ttn/local/lib';
- and successfully built w/ "make all".

This is much further than previous attempts; i tip my hat to the next
generation!  Now comes the hairy part -- "make check" failed with many
messages of the type:

  WARNING: (test-suite test-rnrs-records-procedural): imported module (rnrs 
records procedural) overrides core binding `record-constructor'

I saw several PASS and UNRESOLVED tests, and finally it failed with:

  FAIL: version.test: version reporting works

Digging further, it looks like configure.ac uses build-aux/git-version-gen
to compute the effective version.  In that script, there is the fragment:

    81  # First see if there is a tarball-only version file.
    82  # then try "git describe", then default.
    83  if test -f $tarball_version_file
    84  then
    85      v=`cat $tarball_version_file` || exit 1
    86
    ... [snip] 
    94  
    95  if test -n "$v"
    96  then
    97      : # use $v

In the case where $tarball_version_file does not exist, var ‘v’ will never
have been set, the (inverse) condition checked on line 95.  That's fine,
unless ‘v’ had already inherited a value from the environment, in which case
the test on line 95 evaluates to true and the env value is used (incorrectly).

In short, ‘v’ is "possibly used uninitialized".  Locally, i have provisionally
applied the following patch and now "make check" succeeds.  Woo hoo!

BTW, gnulib folks: Here is a suitable ChangeLog entry:

2010-06-14  Thien-Thi Nguyen  <t...@gnuvola.org>  (tiny change)

        git-version-gen: Init shell var to avoid env var influence.
        * build-aux/git-version-gen (v): Init shell var to empty.

thi

_______________________________________________________________________
 build-aux/git-version-gen |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen
index 9b821e0..5617eb8 100755
--- a/build-aux/git-version-gen
+++ b/build-aux/git-version-gen
@@ -1,6 +1,6 @@
 #!/bin/sh
 # Print a version string.
-scriptversion=2010-05-28.15; # UTC
+scriptversion=2010-06-14.19; # UTC
 
 # Copyright (C) 2007-2010 Free Software Foundation, Inc.
 #
@@ -78,6 +78,9 @@ tag_sed_script="${2:-s/x/x/}"
 nl='
 '
 
+# Avoid meddling by environment variable of the same name.
+v=
+
 # First see if there is a tarball-only version file.
 # then try "git describe", then default.
 if test -f $tarball_version_file

Reply via email to