[GRASS5] Problem compiling Grass51

Paul Kelly paul-grass at stjohnspoint.co.uk
Tue Apr 29 10:34:57 EDT 2003


Hello Bob
I found a mistake in the Makefile where $(PROJ_INC) should have been
$(PROJINC) but that isn't your problem. If $(GPROJDEP) is removed from the
dependency list it is all right. Seems the problem is related to an
earlier e-mail this morning
http://grass.itc.it/pipermail/grass5/2003-April/005350.html
I don't think $(GPROJDEP) should be defined as GPROJDEP    =  $(GPROJLIB)
in grass51/include/Make/Grass.make.in since
GPROJLIB    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(GPROJ_LIBNAME).$(LIB_SUFFIX) $(PROJLIB)
So when there is anything in $(PROJLIB) this won't work as a dependency rule
in the Makefile.
But this is also done for $(GISDEP) where
GISLIB      = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(GIS_LIBNAME).$(LIB_SUFFIX) \
$(SOCKLIB) $(INTLLIB)
so if $(SOCKLIB) or $(INTLLIB) where defined as anything, presumably this
wouldn't work either.

I fixed it by sort of swapping round the definitions of $(GPROJLIB) and
$(GPROJDEP); probably this file needs to be re-arranged:
GPROJDEP    = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(GPROJ_LIBNAME).$(LIB_SUFFIX)
first and then
GPROJLIB    = $(GPROJDEP) $(PROJLIB)
further down in the file. grass/src/CMD/generic/make.mid gives a clue as
to how this should be done properly.

BTW I still can't compile d.where as there is a vsnprintf() somewhere in
libgrass_gis.a according to the error message. I don't use GRASS 5.1 as it
is full of Linux-isms etc. and I can never get it to compile properly on the
Irix system I use most of them (GRASS 5.0 was like this also a year or two
ago but it is much tidier now).

Paul

On Tue, 29 Apr 2003, Bob Covill wrote:

> Hello,
>
> I grabbed the latest CVS versios of grass and grass51 this morning and
> am having problems building grass51.
>
> I have updated and rebuilt grass50, but grass51 does not want to build.
> I get the following error about the PROJ library.
>
> make[2]: *** No rule to make target `-lproj', needed by
> `OBJ.i686-pc-linux-gnu/b_w_line.o'.  Stop.
> make[2]: Leaving directory `/home/covill/GRASS_DIST/grass51/display/d.where'
> make[1]: *** [subdirs] Error 1
> make[1]: Leaving directory `/home/covill/GRASS_DIST/grass51/display'
> make: *** [default] Error 1
>
> If I jump ahead and try and build another PROJ dependant program such as
> g.region I get the same error.
>
> The PROJ test passes in configure.
>
> Any idea what the problem is?
>
> --
> Bob Covill
>
> Tekmap Consulting
> P.O. Box 2016
> Fall River, N.S.
> B2T 1K6
> Canada
>
> E-Mail: bcovill at tekmap.ns.ca
> Phone: 902-860-1496
> Fax: 902-860-1498
>
> _______________________________________________
> grass5 mailing list
> grass5 at grass.itc.it
> http://grass.itc.it/mailman/listinfo/grass5
>




More information about the grass-dev mailing list