[GRASS-dev] wingrass: problems with some Makefiles

Hello,

Trying to recompile in windows (mingw), I get the errors in the attached
log, which I never saw before and which seem to be linked to recent
changes in Makefiles. For one, it seems like the mingw make version (GNU
Make version 3.79.1; Built for i686-pc-msys) has some trouble with '|' in
these files, but that is only an uneducated guess. r.terraflow has never
compiled, but it used to be a different error (see
http://moritz.homelinux.org/grass/wingrass/winmakeerror.log).

Any ideas ?

configure is launched as follows:

./configure --prefix=c:/grass --with-includes=/c/grasslibs/include
--with-libs=/c/grasslibs/lib --with-cxx --without-jpeg --without-tiff
-with-postgres --with-postgres-libs=/c/Programme/PostgreSQL/8.2/lib
--with-postgres-includes=/c/Programme/PostgreSQL/8.2/include --with-sqlite
--with-sqlite-includes=/c/MinGW/include --with-sqlite-libs=/c/MinGW/lib
--with-opengl=windows --without-fftw --without-x --enable-x11=no
--enable-shared=yes --with-tcltk-includes=/c/tcl/include
--with-tcltk-libs=/c/tcl/bin --with-freetype
--with-freetype-includes=/c/grasslibs/include/freetype2 --with-fftw
--with-proj-share=/c/grass/share/proj

Moritz

(attachments)

wingrass_errors.log (10.2 KB)

Been working a bit more on this:

On Mon, October 8, 2007 22:11, Moritz Lennert wrote:

Hello,

Trying to recompile in windows (mingw), I get the errors in the attached
log, which I never saw before and which seem to be linked to recent
changes in Makefiles.

These errors go away if I revert to the previous version of the Makefile:

/c/grasssrc/grass6/general/manage/lister
make: *** No rule to make target `|', needed by
`/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/lister/cell'. Stop.

/c/grasssrc/grass6/lib/form
make: *** No rule to make target `|', needed by
`/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/form/html_library.tcl'.
Stop.

After reverting to previous version of Makefile, the error in d.frame
compilation is different:

-lgrass_display -lgrass_gis -lgrass_datetime -lxdr -liberty -lws2_32
-lz -lgrass_raster -lgrass_pngdriver -lgrass_driver -lgrass_gis
-lgrass_datetime -lxdr -liberty -lws2_32 -lz -lfreetype
-lgrass_gis -lgrass_datetime -lxdr -liberty -lws2_32 -lz -lpng -lz
   -lgrass_psdriver -lgrass_driver -lgrass_gis -lgrass_datetime -lxdr
-liberty -lws2_32 -lz -lfreetype -lgrass_gis -lgrass_datetime
-lxdr -liberty -lws2_32 -lz -lgrass_driver -lgrass_gis
-lgrass_datetime -lxdr -liberty -lws2_32 -lz -lfreetype
-lgrass_gis -lgrass_datetime -lxdr -liberty -lws2_32 -lz
-lgrass_raster -lgrass_pngdriver -lgrass_driver -lgrass_gis
-lgrass_datetime -lxdr -liberty -lws2_32 -lz -lfreetype
-lgrass_gis -lgrass_datetime -lxdr -liberty -lws2_32 -lz -lpng -lz
   -lgrass_psdriver -lgrass_driver -lgrass_gis -lgrass_datetime -lxdr
-liberty -lws2_32 -lz -lfreetype -lgrass_gis -lgrass_datetime
-lxdr -liberty -lws2_32 -lz -lgrass_driver -lgrass_gis
-lgrass_datetime -lxdr -liberty -lws2_32 -lz -lfreetype
-lgrass_gis -lgrass_datetime -lxdr -liberty -lws2_32 -lz
-lgrass_gis -lgrass_datetime -lxdr -liberty -lws2_32 -lz -lxdr
-liberty -lws2_32 -lz
make /c/grasssrc/grass6/dist.i686-pc-mingw32/docs/html/d.frame.html
HTMLSRC=/c/grasssrc/grass6/dist.i686-pc-mingw32/bin/d.frame.exe
make[1]: Entering directory `/c/grasssrc/grass6/display/d.frame'
make[1]: *** No rule to make target
`/c/grasssrc/grass6/dist.i686-pc-mingw32/docs/html/d.frame.html'. Stop.
make[1]: Leaving directory `/c/grasssrc/grass6/display/d.frame'
make: *** [htmlcmd] Error 2

The same happens when I go another step back in cvs revisions. When I
comment the htmlcmd line compilation completes as it should, except that
there is no d.frame.html in docs/html.

For v.voronoi I also continue to have an error:

OBJ.i686-pc-mingw32/vo_main.o: In function
`main':c:/grasssrc/grass6/vector/v.voronoi/vo_main.c:89: multiple
definition of `main'
OBJ.i686-pc-mingw32/dt_main.o:c:/grasssrc/grass6/vector/v.voronoi/dt_main.c:32:
first defined here
collect2: ld returned 1 exit status
make[2]: ***
[/c/grasssrc/grass6/dist.i686-pc-mingw32/bin/v.delaunay.exe.exe] Error 1
make[2]: Leaving directory `/c/grasssrc/grass6/vector/v.voronoi'
make[1]: *** [htmlcmd] Error 2
make[1]: Leaving directory `/c/grasssrc/grass6/vector/v.voronoi'
make: *** [htmlmulti] Error 2

It seems to have some difficulty separating v.voronoi and v.delaunoy
builds...

Moritz

Moritz Lennert wrote:

> Trying to recompile in windows (mingw), I get the errors in the attached
> log, which I never saw before and which seem to be linked to recent
> changes in Makefiles.

These errors go away if I revert to the previous version of the Makefile:

/c/grasssrc/grass6/general/manage/lister
make: *** No rule to make target `|', needed by
`/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/lister/cell'. Stop.

What version of make do you have? The project page indicates that 3.81
is available:

  http://sourceforge.net/project/showfiles.php?group_id=2435

After reverting to previous version of Makefile, the error in d.frame
compilation is different:

make /c/grasssrc/grass6/dist.i686-pc-mingw32/docs/html/d.frame.html
HTMLSRC=/c/grasssrc/grass6/dist.i686-pc-mingw32/bin/d.frame.exe
make[1]: Entering directory `/c/grasssrc/grass6/display/d.frame'
make[1]: *** No rule to make target
`/c/grasssrc/grass6/dist.i686-pc-mingw32/docs/html/d.frame.html'. Stop.

Try "make -p -C display/d.frame".

make[1]: Leaving directory `/c/grasssrc/grass6/display/d.frame'
make: *** [htmlcmd] Error 2

The same happens when I go another step back in cvs revisions. When I
comment the htmlcmd line compilation completes as it should, except that
there is no d.frame.html in docs/html.

For v.voronoi I also continue to have an error:

OBJ.i686-pc-mingw32/vo_main.o: In function
`main':c:/grasssrc/grass6/vector/v.voronoi/vo_main.c:89: multiple
definition of `main'
OBJ.i686-pc-mingw32/dt_main.o:c:/grasssrc/grass6/vector/v.voronoi/dt_main.c:32:
first defined here

It seems to have some difficulty separating v.voronoi and v.delaunoy
builds...

Try moving the lines:

  VORONOI = v.voronoi$(EXE)
  DELAUNAY = v.delaunay$(EXE)

  PROGRAMS = $(VORONOI) $(DELAUNAY)

to after Module.make is included. I think that it's not getting the
.exe extension, so it's try to use the default compilation rule (which
uses all .o files) rather than those at the bottom of the Makefile.

--
Glynn Clements <glynn@gclements.plus.com>

Hello,

It took me awhile to respond to this, as I had the feeling that I did
something wrong reinstalling mingw/msys since I was getting more
compilation errors than before.
However, after double-checking with Benjamin's notes (thanks!), whether my
installation was the problem. I currently use mingw 5.1.3 and
MSYS-1.0.11-2004.04.30-1, flex-2.5.33-MSYS-1.0.11, bison-2.3-MSYS-1.0.11,
make-3.81-MSYS-1.0.11-1, reinstalled from scratch.

See attached error.log for all the errors. I erased the log of the
"normal" errors (i.* commands, and database drivers which fail because of
the failure of sqlp).

On Sat, October 13, 2007 18:21, Glynn Clements wrote:

Moritz Lennert wrote:

> Trying to recompile in windows (mingw), I get the errors in the
attached
> log, which I never saw before and which seem to be linked to recent

changes in Makefiles.

These errors go away if I revert to the previous version of the Makefile:
/c/grasssrc/grass6/general/manage/lister
make: *** No rule to make target `|', needed by
`/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/lister/cell'. Stop.

What version of make do you have? The project page indicates that 3.81

is available:

  http://sourceforge.net/project/showfiles.php?group_id=2435

I installed 3.81 and still have the same errors.

After reverting to previous version of Makefile, the error in d.frame

compilation is different:

make /c/grasssrc/grass6/dist.i686-pc-mingw32/docs/html/d.frame.html

HTMLSRC=/c/grasssrc/grass6/dist.i686-pc-mingw32/bin/d.frame.exe
make[1]: Entering directory `/c/grasssrc/grass6/display/d.frame'
make[1]: *** No rule to make target

`/c/grasssrc/grass6/dist.i686-pc-mingw32/docs/html/d.frame.html'.

Stop.

Try "make -p -C display/d.frame".

log attached.

It seems to have some difficulty separating v.voronoi and v.delaunoy

builds...

Try moving the lines:

  VORONOI = v.voronoi$(EXE)
  DELAUNAY = v.delaunay$(EXE)

  PROGRAMS = $(VORONOI) $(DELAUNAY)

to after Module.make is included. I think that it's not getting the .exe

extension, so it's try to use the default compilation rule (which uses
all .o files) rather than those at the bottom of the Makefile.

I did that and no difference (see error.log).

A bit frustrated here, having gone from a perfectly functioning
compilation to something that leaves me with an unusable GRASS in windows.

Benjamin, do you see any of these errors ?

Moritz

(attachments)

error.log.gz (2.27 KB)
d.frame.log.gz (23.1 KB)

Moritz Lennert wrote:

Hello,

It took me awhile to respond to this, as I had the feeling that I did
something wrong reinstalling mingw/msys since I was getting more
compilation errors than before.
However, after double-checking with Benjamin's notes (thanks!), whether my
installation was the problem. I currently use mingw 5.1.3 and
MSYS-1.0.11-2004.04.30-1, flex-2.5.33-MSYS-1.0.11, bison-2.3-MSYS-1.0.11,
make-3.81-MSYS-1.0.11-1, reinstalled from scratch.

See attached error.log for all the errors. I erased the log of the
"normal" errors (i.* commands, and database drivers which fail because of
the failure of sqlp).

Regarding r.mapcalc:

: /c/grasssrc/grass6/raster/r.mapcalc
: gcc -I/c/grasssrc/grass6/dist.i686-pc-mingw32/include -I/c/grasslibs/include -g -O2 -I/c/grasslibs/include -DPACKAGE=\""grassmods"\" -I/c/grasssrc/grass6/dist.i686-pc-mingw32/include \
: -o OBJ.i686-pc-mingw32/lex.yy.o -c lex.yy.c

Is this snipped, or is it a re-compilation? Because there should be
calls to bison and flex at the beginning:

: make -C r.mapcalc || echo /usr/local/src/grass/cvs/raster/r.mapcalc >> /usr/local/src/grass/cvs/error.log
: make[2]: Entering directory `/usr/local/src/grass/cvs/raster/r.mapcalc'
: bison -y -b y -d mapcalc.y
: test -d OBJ.i686-pc-linux-gnu || mkdir -p OBJ.i686-pc-linux-gnu
: gcc -I/usr/local/src/grass/cvs/dist.i686-pc-linux-gnu/include -g -Wall -Wno-parentheses -Wno-format-zero-length -DPACKAGE=\""grassmods"\" -I/usr/local/src/grass/cvs/dist.i686-pc-linux-gnu/include \
: -o OBJ.i686-pc-linux-gnu/y.tab.o -c y.tab.c
: flex -t mapcalc.l > lex.yy.c
: gcc -I/usr/local/src/grass/cvs/dist.i686-pc-linux-gnu/include -g -Wall -Wno-parentheses -Wno-format-zero-length -DPACKAGE=\""grassmods"\" -I/usr/local/src/grass/cvs/dist.i686-pc-linux-gnu/include \
: -o OBJ.i686-pc-linux-gnu/lex.yy.o -c lex.yy.c

The errors:

: gcc -L/c/grasssrc/grass6/dist.i686-pc-mingw32/lib -Wl,--export-dynamic,--enable-runtime-pseudo-reloc -L/c/grasslibs/lib -L/c/Programme/PostgreSQL/8.2/lib -o /c/grasssrc/grass6/dist.i686-pc-mingw32/bin/r.mapcalc.exe OBJ.i686-pc-mingw32/y.tab.o OBJ.i686-pc-mingw32/lex.yy.o OBJ.i686-pc-mingw32/column_shift.o OBJ.i686-pc-mingw32/evaluate.o OBJ.i686-pc-mingw32/expression.o OBJ.i686-pc-mingw32/function.o OBJ.i686-pc-mingw32/check.o OBJ.i686-pc-mingw32/main.o OBJ.i686-pc-mingw32/xabs.o OBJ.i686-pc-mingw32/xadd.o OBJ.i686-pc-mingw32/xand.o OBJ.i686-pc-mingw32/xand2.o OBJ.i686-pc-mingw32/xacos.o OBJ.i686-pc-mingw32/xasin.o OBJ.i686-pc-mingw32/xatan.o OBJ.i686-pc-mingw32/xbitand.o OBJ.i686-pc-mingw32/xbitnot.o OBJ.i686-pc-mingw32/xbitor.o OBJ.i686-pc-mingw32/xbitxor.o OBJ.i686-pc-mingw32/xcos.o OBJ.i686-pc-mingw32/xdiv.o OBJ.i686-pc-mingw32/xdouble.o OBJ.i686-pc-mingw32/xeq.o OBJ.i686-pc-mingw32/xeval.o OBJ.i686-pc-mingw32/xexp.o OBJ.i686-pc-mingw32/xfloat.o OBJ.i686-pc-mingw32/xge.o OBJ.i686-pc-mingw32/xgraph.o OBJ.i686-pc-mingw32/xgt.o OBJ.i686-pc-mingw32/xif.o OBJ.i686-pc-mingw32/xint.o OBJ.i686-pc-mingw32/xisnull.o OBJ.i686-pc-mingw32/xle.o OBJ.i686-pc-mingw32/xlog.o OBJ.i686-pc-mingw32/xlt.o OBJ.i686-pc-mingw32/xmax.o OBJ.i686-pc-mingw32/xmedian.o OBJ.i686-pc-mingw32/xmin.o OBJ.i686-pc-mingw32/xmod.o OBJ.i686-pc-mingw32/xmode.o OBJ.i686-pc-mingw32/xmul.o OBJ.i686-pc-mingw32/xne.o OBJ.i686-pc-mingw32/xneg.o OBJ.i686-pc-mingw32/xnot.o OBJ.i686-pc-mingw32/xnull.o OBJ.i686-pc-mingw32/xor.o OBJ.i686-pc-mingw32/xor2.o OBJ.i686-pc-mingw32/xpow.o OBJ.i686-pc-mingw32/xrand.o OBJ.i686-pc-mingw32/xround.o OBJ.i686-pc-mingw32/xrowcol.o OBJ.i686-pc-mingw32/xshiftl.o OBJ.i686-pc-mingw32/xshiftr.o OBJ.i686-pc-mingw32/xshiftru.o OBJ.i686-pc-mingw32/xsin.o OBJ.i686-pc-mingw32/xsqrt.o OBJ.i686-pc-mingw32/xsub.o OBJ.i686-pc-mingw32/xtan.o OBJ.i686-pc-mingw32/map.o OBJ.i686-pc-mingw32/xcoor.o OBJ.i686-pc-mingw32/xres.o ../../lib/gis/OBJ.i686-pc-mingw32/fmode.o -lgrass_gis -lgrass_datetime -lxdr -liberty -lws2_32 -lz -lgrass_b
tree -lgrass_rowio -lxdr -liberty -lws2_32 -lz
: OBJ.i686-pc-mingw32/y.tab.o: In function `yyparse':c:/grasssrc/grass6/raster/r.mapcalc/y.tab.c:1440: undefined reference to `yylex'
: OBJ.i686-pc-mingw32/y.tab.o: In function `parse_string':c:/grasssrc/grass6/raster/r.mapcalc/mapcalc.y:269: undefined reference to `initialize_scanner_string'
: OBJ.i686-pc-mingw32/y.tab.o: In function `parse_stream':c:/grasssrc/grass6/raster/r.mapcalc/mapcalc.y:277: undefined reference to `initialize_scanner_stream'

all point to lex.yy.o (and presumably lex.yy.c) being bogus. As
lex.yy.c is generated by redirection, it will still be created (but
will be empty or contain garbage) if flex fails.

> Try "make -p -C display/d.frame".

log attached.

I think that this should fix the d.frame case:

--- display/d.frame/Makefile 29 Sep 2007 15:11:27 -0000 1.12
+++ display/d.frame/Makefile 18 Oct 2007 05:31:02 -0000
@@ -12,7 +12,7 @@
   $(ETC)/frame.select \
   $(ETC)/frame.dumper \
   $(ETC)/frame.list \
- $(BIN)/$(PGM) \
+ $(BIN)/$(PGM)$(EXE) \
   htmlcmd

$(ETC)/frame.create: $(OBJDIR)/create.o $(DEPLIBS)
@@ -27,5 +27,5 @@
$(ETC)/frame.list: $(OBJDIR)/list.o $(DEPLIBS)
   $(CC) $(LDFLAGS) -o $@ $(OBJDIR)/list.o $(LIBES) $(MATHLIB) $(XDRLIB)

-$(BIN)/$(PGM): $(OBJDIR)/frame.o $(DEPLIBS)
+$(BIN)/$(PGM)$(EXE): $(OBJDIR)/frame.o $(DEPLIBS)
   $(CC) $(LDFLAGS) -o $@ $(OBJDIR)/frame.o $(LIBES) $(MATHLIB) $(XDRLIB)

>> It seems to have some difficulty separating v.voronoi and v.delaunoy
>> builds...
>
> Try moving the lines:
>
> VORONOI = v.voronoi$(EXE)
> DELAUNAY = v.delaunay$(EXE)
>
> PROGRAMS = $(VORONOI) $(DELAUNAY)
>
> to after Module.make is included. I think that it's not getting the .exe
> extension, so it's try to use the default compilation rule (which uses
> all .o files) rather than those at the bottom of the Makefile.

I did that and no difference (see error.log).

  /c/grasssrc/grass6/vector/v.voronoi
  for prog in v.voronoi.exe v.delaunay.exe ; do make htmlcmd PGM=$prog ; done
  make[1]: Entering directory `/c/grasssrc/grass6/vector/v.voronoi'
  make /c/grasssrc/grass6/dist.i686-pc-mingw32/docs/html/v.voronoi.exe.html HTMLSRC=/c/grasssrc/grass6/dist.i686-pc-mingw32/bin/v.voronoi.exe.exe

v.voronoi.exe.exe?

The PROGRAMS variable is supposed to contain the "base" names without
the .exe suffix (the HTML file should be e.g. v.voronoi.html, not
v.voronoi.exe.html). Try this:

--- vector/v.voronoi/Makefile 22 Sep 2006 16:30:51 -0000 1.7
+++ vector/v.voronoi/Makefile 18 Oct 2007 05:36:08 -0000
@@ -1,8 +1,8 @@

MODULE_TOPDIR = ../..

-VORONOI = v.voronoi$(EXE)
-DELAUNAY = v.delaunay$(EXE)
+VORONOI = v.voronoi
+DELAUNAY = v.delaunay

PROGRAMS = $(VORONOI) $(DELAUNAY)

@@ -25,11 +25,11 @@

DELAUNAY_ARCH_OBJS := $(foreach obj,$(DELAUNAY_OBJS),$(OBJDIR)/$(obj))

-default: $(BIN)/$(DELAUNAY) $(BIN)/$(VORONOI) htmlmulti
+default: $(BIN)/$(DELAUNAY)$(EXE) $(BIN)/$(VORONOI)$(EXE) htmlmulti

-$(BIN)/$(VORONOI): $(VORONOI_ARCH_OBJS) $(DEPENDENCIES)
+$(BIN)/$(VORONOI)$(EXE): $(VORONOI_ARCH_OBJS) $(DEPENDENCIES)
   $(CC) $(LDFLAGS) $(XTRA_LDFLAGS) $(EXTRA_CFLAGS) $(NLS_CFLAGS) -o $@ $(VORONOI_ARCH_OBJS) $(FMODE_OBJ) $(LIBES) $(MATHLIB) $(XDRLIB)

-$(BIN)/$(DELAUNAY): $(DELAUNAY_ARCH_OBJS) $(DEPENDENCIES)
+$(BIN)/$(DELAUNAY)$(EXE): $(DELAUNAY_ARCH_OBJS) $(DEPENDENCIES)
   $(CC) $(LDFLAGS) $(XTRA_LDFLAGS) $(EXTRA_CFLAGS) $(NLS_CFLAGS) -o $@ $(DELAUNAY_ARCH_OBJS) $(FMODE_OBJ) $(LIBES) $(MATHLIB) $(XDRLIB)

A bit frustrated here, having gone from a perfectly functioning
compilation to something that leaves me with an unusable GRASS in windows.

Previously, a target was really just a label to identify a particular
rule. It often didn't actually matter if the name of the target didn't
match the name of the file being built (in the worst case, you would
just get unnecessary re-compilation, as the target would never exist).

One of the consequences of the recent changes is that the name of the
target normally has to match the name of the file which is built.

--
Glynn Clements <glynn@gclements.plus.com>

On Thu, October 18, 2007 07:55, Glynn Clements wrote:

Moritz Lennert wrote:

Hello,

It took me awhile to respond to this, as I had the feeling that I did
something wrong reinstalling mingw/msys since I was getting more
compilation errors than before.
However, after double-checking with Benjamin's notes (thanks!), whether
my
installation was the problem. I currently use mingw 5.1.3 and
MSYS-1.0.11-2004.04.30-1, flex-2.5.33-MSYS-1.0.11,
bison-2.3-MSYS-1.0.11,
make-3.81-MSYS-1.0.11-1, reinstalled from scratch.

See attached error.log for all the errors. I erased the log of the
"normal" errors (i.* commands, and database drivers which fail because
of
the failure of sqlp).

all point to lex.yy.o (and presumably lex.yy.c) being bogus. As
lex.yy.c is generated by redirection, it will still be created (but
will be empty or contain garbage) if flex fails.

Yep, was a problem with my flex install. I installed the gnuwin32 version
and now it works. Sorry for the noise.

> Try "make -p -C display/d.frame".

log attached.

I think that this should fix the d.frame case:

Yes, this works now.

v.voronoi.exe.exe?

This problem goes away with your fix. But there is a new one that shows up.

Now I have the following three problems (see also log attached):

1) lib/gis
/bin/install -c -m 644 colors/CVS
/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/c
olors/CVS
/bin/install: `colors/CVS' is a directory
make: *** [/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/colors/CVS] Error 1

2) raster3d/base (linked to the previous ?)
gcc.exe:
OBJ.i686-pc-mingw32/r3.info.main.o../../lib/gis/OBJ.i686-pc-mingw32/fmo
de.o: No such file or directory^M
make: *** [/c/grasssrc/grass6/dist.i686-pc-mingw32/bin/r3.info.exe] Error 1

3) vector/v.voronoi (looks like another problem with my MinGW
installation, but did not see this before)
/mingw/lib/libmingw32.a(main.o):main.c:(.text+0x104): undefined reference
to `WinMain@16'^M
collect2: ld returned 1 exit status^M

Moritz

(attachments)

error.log.gz (4.32 KB)

On Tue, October 23, 2007 06:57, Moritz Lennert wrote:

v.voronoi.exe.exe?

This problem goes away with your fix. But there is a new one that shows
up.

Now I have the following three problems (see also log attached):

1) lib/gis
/bin/install -c -m 644 colors/CVS
/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/c
olors/CVS
/bin/install: `colors/CVS' is a directory
make: *** [/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/colors/CVS] Error 1

moving the CVS directory out of the way solves this.

2) raster3d/base (linked to the previous ?)
gcc.exe:
OBJ.i686-pc-mingw32/r3.info.main.o../../lib/gis/OBJ.i686-pc-mingw32/fmo
de.o: No such file or directory^M
make: *** [/c/grasssrc/grass6/dist.i686-pc-mingw32/bin/r3.info.exe] Error
1

That's due to a small typo in the Makefile:

--- Makefile Tue Oct 23 08:31:54 2007
+++ Makefile.new Tue Oct 23 08:31:47 2007
@@ -27,5 +27,5 @@
        $(CC) $(LDFLAGS) -o $@ $^ $(FMODE_OBJ) $(LIBES) $(XDRLIB) $(MATHLIB)

$(R3INFO): $(OBJDIR)/r3.info.main.o
- $(CC) $(LDFLAGS) -o $@ $^$(FMODE_OBJ) $(LIBES) $(XDRLIB) $(MATHLIB)
+ $(CC) $(LDFLAGS) -o $@ $^ $(FMODE_OBJ) $(LIBES) $(XDRLIB) $(MATHLIB)

3) vector/v.voronoi (looks like another problem with my MinGW
installation, but did not see this before)
/mingw/lib/libmingw32.a(main.o):main.c:(.text+0x104): undefined reference
to `WinMain@16'^M
collect2: ld returned 1 exit status^M

Still working on that.

Moritz

Moritz Lennert wrote:

Now I have the following three problems (see also log attached):

1) lib/gis
/bin/install -c -m 644 colors/CVS
/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/c
olors/CVS
/bin/install: `colors/CVS' is a directory
make: *** [/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/colors/CVS] Error 1

Ack. I just fixed one manifestation of this, and overlooked that
Windows isn't case sensitive. Try this:

--- lib/gis/Makefile 19 Oct 2007 13:45:53 -0000 1.50
+++ lib/gis/Makefile 23 Oct 2007 10:33:03 -0000
@@ -8,7 +8,7 @@
include $(MODULE_TOPDIR)/include/Make/Doxygen.make

DATAFILES := $(patsubst %,$(ETC)/%,$(DATASRC))
-COLORSRC := $(wildcard colors/[abcdefghijklmnopqrstuvwxyz]*)
+COLORSRC := $(filter-out colors/CVS,$(wildcard colors/[abcdefghijklmnopqrstuvwxyz]*))
COLORFILES := $(patsubst colors/%,$(ETC)/colors/%,$(COLORSRC))

#compile if LFS Large File Support present:

3) vector/v.voronoi (looks like another problem with my MinGW
installation, but did not see this before)
/mingw/lib/libmingw32.a(main.o):main.c:(.text+0x104): undefined reference
to `WinMain@16'^M
collect2: ld returned 1 exit status^M

--- vector/v.voronoi/Makefile 20 Oct 2007 00:39:46 -0000 1.9
+++ vector/v.voronoi/Makefile 23 Oct 2007 10:37:47 -0000
@@ -28,9 +28,9 @@
default: $(BIN)/$(DELAUNAY)$(EXE) $(BIN)/$(VORONOI)$(EXE)
   $(MAKE) htmlmulti

-$(BIN)/$(VORONOI)$(EXE): $(DEPENDENCIES)
+$(BIN)/$(VORONOI)$(EXE): $(VORONOI_ARCH_OBJS)
   $(CC) $(LDFLAGS) -o $@ $^ $(FMODE_OBJ) $(LIBES) $(MATHLIB) $(XDRLIB)

-$(BIN)/$(DELAUNAY)$(EXE):$(DEPENDENCIES)
+$(BIN)/$(DELAUNAY)$(EXE):$(DELAUNAY_ARCH_OBJS)
   $(CC) $(LDFLAGS) -o $@ $^ $(FMODE_OBJ) $(LIBES) $(MATHLIB) $(XDRLIB)

The strange thing about this one is that it doesn't generate an error
on Linux.

--
Glynn Clements <glynn@gclements.plus.com>

On Tue, October 23, 2007 12:39, Glynn Clements wrote:

Moritz Lennert wrote:

Now I have the following three problems (see also log attached):

1) lib/gis
/bin/install -c -m 644 colors/CVS
/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/c
olors/CVS
/bin/install: `colors/CVS' is a directory
make: *** [/c/grasssrc/grass6/dist.i686-pc-mingw32/etc/colors/CVS] Error
1

Ack. I just fixed one manifestation of this, and overlooked that
Windows isn't case sensitive. Try this:

--- lib/gis/Makefile 19 Oct 2007 13:45:53 -0000 1.50
+++ lib/gis/Makefile 23 Oct 2007 10:33:03 -0000
@@ -8,7 +8,7 @@
include $(MODULE_TOPDIR)/include/Make/Doxygen.make

DATAFILES := $(patsubst %,$(ETC)/%,$(DATASRC))
-COLORSRC := $(wildcard colors/[abcdefghijklmnopqrstuvwxyz]*)
+COLORSRC := $(filter-out colors/CVS,$(wildcard
colors/[abcdefghijklmnopqrstuvwxyz]*))
COLORFILES := $(patsubst colors/%,$(ETC)/colors/%,$(COLORSRC))

Works.

3) vector/v.voronoi (looks like another problem with my MinGW
installation, but did not see this before)
/mingw/lib/libmingw32.a(main.o):main.c:(.text+0x104): undefined
reference
to `WinMain@16'^M
collect2: ld returned 1 exit status^M

--- vector/v.voronoi/Makefile 20 Oct 2007 00:39:46 -0000 1.9
+++ vector/v.voronoi/Makefile 23 Oct 2007 10:37:47 -0000
@@ -28,9 +28,9 @@
default: $(BIN)/$(DELAUNAY)$(EXE) $(BIN)/$(VORONOI)$(EXE)
   $(MAKE) htmlmulti

-$(BIN)/$(VORONOI)$(EXE): $(DEPENDENCIES)
+$(BIN)/$(VORONOI)$(EXE): $(VORONOI_ARCH_OBJS)
   $(CC) $(LDFLAGS) -o $@ $^ $(FMODE_OBJ) $(LIBES) $(MATHLIB) $(XDRLIB)

-$(BIN)/$(DELAUNAY)$(EXE):$(DEPENDENCIES)
+$(BIN)/$(DELAUNAY)$(EXE):$(DELAUNAY_ARCH_OBJS)
   $(CC) $(LDFLAGS) -o $@ $^ $(FMODE_OBJ) $(LIBES) $(MATHLIB) $(XDRLIB)

Works.

Thanks !

Moritz

Next problem:

I don't get a bin.i686-pc-mingw32/grass63.bat file anymore...

Moritz

Moritz Lennert wrote:

Next problem:

I don't get a bin.i686-pc-mingw32/grass63.bat file anymore...

Oops; used MINGW32 instead of MINGW. Fixed in CVS.

--
Glynn Clements <glynn@gclements.plus.com>