[GRASS5] Problem compiling Grass51

Bob Covill bcovill at tekmap.ns.ca
Tue Apr 29 11:19:14 EDT 2003


Paul,

I am still getting the same error. If I swap the GPROJLIB and GPROJDEP 
definitions around I get the following

/home/covill/GRASS_DIST/grass51/dist.i686-pc-linux-gnu/lib/libgrass_gproj.a(get_proj.o): 
In function `pj_print_proj_params':
/home/covill/GRASS_DIST/grass51/lib/proj/get_proj.c:374: undefined 
reference to `pj_get_def'
/home/covill/GRASS_DIST/grass51/lib/proj/get_proj.c:383: undefined 
reference to `pj_get_def'
collect2: ld returned 1 exit status
make[2]: *** 
[/home/covill/GRASS_DIST/grass51/dist.i686-pc-linux-gnu/etc/bin/cmd/d.where] 
Error 1
make[2]: Leaving directory `/home/covill/GRASS_DIST/grass51/display/d.where'
make[1]: *** [subdirs] Error 1

Anything else I could try?

Paul Kelly wrote:
> 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




More information about the grass-dev mailing list