[GRASS5] most recent snapshot

Folks,

I dowloaded and compiled the most recent snapshot (March 22) and thought I'd
report. First, the changes to the monitor setup are a great improvement over
pre2. I can now once more run GRASS monitors over a slow link.

It was also pretty easy to set up my resource manager in the new
installation. There were changes in the monitor setup that required that I
discard my modified version of stop.c (in the d.mon package) and modify the
new code. Glynn gave that code a much-needed cleanup since pre2 and my
modifications (a two-line addition) went very easily.

Somewhat to my suprise, moving the socket files to /tmp/grass-$USER caused no
problem. I just didn't use the defines that I previously needed to place the
socket files in $HOME/grass.

I had three packages that did not compile. NVIZ2.2 didn't compile. The
reasons were rather complicated but all seemed related to the make system
rather than to the code itself. s.surf.rst did not compile because it
couldn't find "glocale.h.". That file doesn'.t exist anywhere in the
snapshot (or in the pre2 release) so it appears to be a problem with the
code. r.mapcalc also didn't compile. The problem appears to be that some
files that should have been previously deleted (lex.yy.c and y.tab.c, maybe
others) were not. This could be a make problem, but it also may have been
caused by my procedure.

The whole procedure probably took 4 hours. Some of that time was spent
making sure my resource manager worked. Tracking down the problems with the
three modules that didn't compile took some time as well. It took a
disappointingly large amount of time to figure out which options I had to
specify to get everything to compile. In particular, I found that I had to
specify the location of the postgres includes even though (as I recall) they
are installed to the default location for postgres
("/usr/local/pgsql/include").

Roger Miller

s.surf.rst did not compile because it
couldn't find "glocale.h.". That file doesn'.t exist anywhere in the
snapshot (or in the pre2 release) so it appears to be a problem with the
code.

isn't this caused by the recent addition added by Alex to support localization?
I
We did not have that problem here. Does anybody have any advice how this should
be handled
so that it compiles for everybody?

thanks,

Helena

Roger Miller wrote:

I had three packages that did not compile. NVIZ2.2 didn't compile. The
reasons were rather complicated but all seemed related to the make system
rather than to the code itself.

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.

s.surf.rst did not compile because it
couldn't find "glocale.h.". That file doesn'.t exist anywhere in the
snapshot (or in the pre2 release) so it appears to be a problem with the
code.

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.

glocale.h was committed to the head at the end of February. IIRC, this
is used by the grass.postgresql programs (which were committed to the
head), and s.surf.rst (which was inadvertently committed to the
release branch).

FWIW, glocale.h is just:

  #include <config.h>
  
  #ifdef HAVE_LIBINTL_H
  #include <libintl.h>
  #define _(str) gettext(str)
  #else
  #define _(str) str
  #endif

r.mapcalc also didn't compile. The problem appears to be that some
files that should have been previously deleted (lex.yy.c and y.tab.c, maybe
others) were not. This could be a make problem, but it also may have been
caused by my procedure.

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.

The whole procedure probably took 4 hours. Some of that time was spent
making sure my resource manager worked. Tracking down the problems with the
three modules that didn't compile took some time as well.

Once configure has succeeded, anything which fails to compile should
be reported to this list. Even if you can determine a solution or
workaround yourself, it would be useful for us to know of any
potential problems.

s.surf.rst is almost certainly due to a "bad" snapshot. r.mapcalc
might be. NVIZ could be, or it could just be a particular permutation
of platform/version issues which hasn't been allowed for.

It took a
disappointingly large amount of time to figure out which options I had to
specify to get everything to compile. In particular, I found that I had to
specify the location of the postgres includes even though (as I recall) they
are installed to the default location for postgres
("/usr/local/pgsql/include").

Configure doesn't attempt to guess include/library directories, so the
only includes/libraries which will be found are those which are in the
compiler's/linker's default paths. IOW, -I or -L switches (apart from
those which refer to directories within the GRASS source tree) will
only be added if a corresponding --with-*-includes or --with-*-libs
switch is given to configure.

Because of the large number of external dependencies, there had been
problems with configure adding directories which contained conflicting
files. Not only did this result in build failures but, in such cases,
there wasn't any way to fix the problem without manually editing the
"head" file.

Also, most of the dependencies are required by default; either you
have the corresponding package, or you use the --without-* switch, or
you get a fatal error. This behaviour was chosen as a result of users
not noticing warnings from configure, then reporting the resulting
build failures to the list.

Of the "standard" dependencies (DBM, JPEG, TIFF, PNG, GD, Tcl/Tk,
PostgreSQL, OpenGL, UnixODBC, FFTW), the only switches which are
normally required are --with-postgres-includes (usually required), and
--with-dbm-includes (less often required). All of the other packages
tend to either:

a) have their headers in a standard include directory (/usr/include or
/usr/local/include), or

b) have their headers in a subdirectory of a standard include
directory, and include the subdirectory in any references to their
headers (e.g. OpenGL uses "#include <GL/gl.h>").

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

Helena wrote:

> s.surf.rst did not compile because it
> couldn't find "glocale.h.". That file doesn'.t exist anywhere in the
> snapshot (or in the pre2 release) so it appears to be a problem with the
> code.

isn't this caused by the recent addition added by Alex to support localization?
I
We did not have that problem here. Does anybody have any advice how this should
be handled
so that it compiles for everybody?

AFAICT, this was just a bad snapshot, resulting from the update to
s.surf.rst having been committed to the release branch (which didn't
have glocale.h) instead of the head (which did have it).

Anyone using the current cvs head version (or any subsequent snapshot
of it) will have glocale.h.

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

Roger Miller wrote:

I dowloaded and compiled the most recent snapshot (March 22) and thought I'd
report. First, the changes to the monitor setup are a great improvement over
pre2. I can now once more run GRASS monitors over a slow link.

Having just checked the GRASS website, the issue has become more
clear.

The download page (http://grass.itc.it/download.html) lists four
options:

Source Code for GRASS 5.0.0pre3: latest
official (pre-)release of the GRASS source
code based on the release branch below.

CVS release branch snapshot: a subset of
the experimental code frozen to only allow
bug fixes. Considered fairly stable code

CVS experimental tree (HEAD) snapshot:
The overall GRASS code base. Modules
which get stable are added to the release
branch, but this tree also contains less stable
modules such as the G3D voxel tools.

Direct access to GRASS-CVS server

The second option ("CVS release branch snapshot") is effectively
defunct, as the release branch was terminated on March 22. The third
option ("CVS experimental tree (HEAD) snapshot") has a snapshot dated
April 5.

Someone should update this page to reflect the fact that the "release
branch" snapshots are no longer being generated. Actually, that option
should probably just be removed for now, as the snapshot to which it
refers has the problems which Roger reported.

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

On Monday 08 April 2002 18:26, Glynn Clements wrote:

The second option ("CVS release branch snapshot") is effectively
defunct, as the release branch was terminated on March 22. The third
option ("CVS experimental tree (HEAD) snapshot") has a snapshot dated
April 5.

It seemed to me that the "release branch" should be more stable then the
"experimental branch". Guess not.

Someone should update this page to reflect the fact that the "release
branch" snapshots are no longer being generated. Actually, that option
should probably just be removed for now, as the snapshot to which it
refers has the problems which Roger reported.

At this point it isn't that much trouble just to start over with a different
tar ball. Thank Glynn.

Roger Miller

On Tue, Apr 09, 2002 at 01:26:55AM +0100, Glynn Clements wrote:

Roger Miller wrote:

> I dowloaded and compiled the most recent snapshot (March 22) and thought I'd
> report. First, the changes to the monitor setup are a great improvement over
> pre2. I can now once more run GRASS monitors over a slow link.

Having just checked the GRASS website, the issue has become more
clear.

The download page (http://grass.itc.it/download.html) lists four
options:

Source Code for GRASS 5.0.0pre3: latest
official (pre-)release of the GRASS source
code based on the release branch below.

CVS release branch snapshot: a subset of
the experimental code frozen to only allow
bug fixes. Considered fairly stable code

CVS experimental tree (HEAD) snapshot:
The overall GRASS code base. Modules
which get stable are added to the release
branch, but this tree also contains less stable
modules such as the G3D voxel tools.

Direct access to GRASS-CVS server

The second option ("CVS release branch snapshot") is effectively
defunct, as the release branch was terminated on March 22. The third
option ("CVS experimental tree (HEAD) snapshot") has a snapshot dated
April 5.

Someone should update this page to reflect the fact that the "release
branch" snapshots are no longer being generated. Actually, that option
should probably just be removed for now, as the snapshot to which it
refers has the problems which Roger reported.

Yes. Every developer with write access can do that:

http://grass.itc.it/grasscvs.html
                    GRASS site web pages management (developers only)
                    Developers have access to maintain the GRASS web pages:

                          Set the CVSROOT variable (with your CVS ID)
                          cvs -z3 co web

                          The web site is updated by a cronjob in the early
                          Italian morning.

especially in case I am traveling around... I'll be offline till next week.

Best

Markus

On Wed, Apr 10, 2002 at 10:20:53AM +0200, Markus Neteler wrote:

On Tue, Apr 09, 2002 at 01:26:55AM +0100, Glynn Clements wrote:

> > I dowloaded and compiled the most recent snapshot (March 22)
> > and thought I'd report.

The download page was highly prone to create missunderstandings.
I've eased the most blunt ones.

The webpages still need more work to make clear how
we (the developers) plan to work.

> The download page (http://grass.itc.it/download.html) lists four
> options:
>
> Source Code for GRASS 5.0.0pre3: latest
> official (pre-)release of the GRASS source
> code based on the release branch below.
>
> CVS release branch snapshot: a subset of
> the experimental code frozen to only allow
> bug fixes. Considered fairly stable code
>
> CVS experimental tree (HEAD) snapshot:
> The overall GRASS code base. Modules
> which get stable are added to the release
> branch, but this tree also contains less stable
> modules such as the G3D voxel tools.
>
> Direct access to GRASS-CVS server
>
> The second option ("CVS release branch snapshot") is effectively
> defunct, as the release branch was terminated on March 22. The third
> option ("CVS experimental tree (HEAD) snapshot") has a snapshot dated
> April 5.
>
> Someone should update this page to reflect the fact that the "release
> branch" snapshots are no longer being generated. Actually, that option
> should probably just be removed for now, as the snapshot to which it
> refers has the problems which Roger reported.

Done in cvs.

Yes. Every developer with write access can do that:

                          The web site is updated by a cronjob in the early
                          Italian morning.

You just need to wait till it shows up...
  Bernhard