[GRASS5] most recent snapshot

Glynn Clements glynn.clements at virgin.net
Mon Apr 8 19:14:47 EDT 2002


rgrmill at rt66.com wrote:

> > Can you provide error messages? Building NVIZ is complicated by
> > depending upon OpenGL and Tcl/Tk, both of which have variations
> > depending upon platform and version.
> 
> This mail client only allows me to send such things as attachments.  I 
> ran gmake5 in the NVIZ2.2 directory and attached the last part of the 
> file.

> make[1]: *** No rule to make target `sed', needed by `nvwish'.  Stop.
> make[1]: Leaving directory `/home/roger/grass5.Mar_22_2002/src.contrib/GMSL/NVIZ2.2/src'

That may also be due to a bad snapshot (or possibly installing over an
existing source tree). It's part of the same changes to the build
system as the lex/yacc issue. NVIZ2.2/src/Gmakefile used to be built
from Gmakefile.in by the NVIZ2.2/doconfigure script.

src/Gmakefile.in used to contain:

	NVWISH_VER=sed
	PQ_OBJS=sed

These lines were re-written (using sed) by the doconfigure script. The
resulting src/Gmakefile would typically contain something like:

	NVWISH_VER=NVWISH2.2
	PQ_OBJS=openvect.o getCat.o buildInfxQry.o runInfxQry.o

It appears that your src/Gmakefile has a bogus setting for PQ_OBJS.

> > Can you tell whether the snapshot is based upon the (now defunct)
> > release branch, or the head? If there are any "CVS/Tag" files, it's
> > the release branch.
> 
> There is a tag file. It contains
> Treleasebranch_11_april_2001_5_0_0

The release branch was terminated shortly after that snapshot was
created. AFAIK, the change delayed the production of snapshots,
resulting in the most recent snapshot being older than usual.

> > I made some changes in that area. Basically, I changed the invocation
> > of lex and yacc so that they use the default filenames (lex.yy.c,
> > y.tab.[ch]). These are the files which the "maintainer-clean" target
> > now removes. If the snapshot was installed over an existing directory,
> > or if "make maintainer-clean" wasn't run prior to creating the
> > snapshot, that might cause problems.
> 
> As it happens, I did install it over my pre2 release.  I didn't expect 
> to, but I had a soft link from "grass" to "grass5.0.0pre2".  The top 
> level directory in the tar ball was named "grass" so when I unpacked the 
> tar ball it installed on top of my pre2 installation.  I lost some work 
> because of that, but it was my own fault.
> 
> It would have been nice if the tar ball had a non-generic name for it's 
> top-level directory like the normal tar ball releases do.

I'd agree with that.

"cvs update" will remove any files which have since been deleted, but
extracting over an existing version won't.

Can whoever maintains the snapshot build system (Markus?) change it to
generate a unique directory name for the snapshot, to prevent this
from happening.

> Anyway, I did a "make distclean" on the pre2 directory before I 
> installed the snapshot over it, not "make maintainer-clean".

"make maintainer-clean" performs "make distclean", but also deletes
the files which are generated by lex/yacc. These files aren't stored
in the repository; I don't know whether they are included in the
snapshots.

Also, the main batch of build changes were committed on 2002/02/20,
but I didn't fix the maintainer-clean target until 2002/02/21, which
could have resulted in a bogus snapshot being built. The dates are
suspiciously close to that of the snapshot.

Unfortunately, part of the problem with snapshots is that they may
contain code which has only just been committed to the repository,
before anyone other than the author is able to test it.

-- 
Glynn Clements <glynn.clements at virgin.net>



More information about the grass-dev mailing list