[GRASS5] Problem compiling Grass51

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


Hello Bob

On Tue, 29 Apr 2003, Bob Covill wrote:

> 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

That looks like a different error to me :-) Do you think the correct
libproj (the external one) is being linked in? You don't have an old
libproj.a lying around from before it was renamed to libgproj.a or anything
like that? The old GRASS libproj.a didn't contain the pj_get_def()
function; it is only available in the latest versions of PROJ.4. And
libgproj should only be about 50kB in size if you are using the external
PROJ.

Also BTW it wasn't an exact swap of GPROJLIB and GPROJDEP as I'm sure you
noticed. A tidier solution might be something like
GPROJLIBFILE = $(ARCH_LIBDIR)/$(LIB_PREFIX)$(GPROJ_LIBNAME).$(LIB_SUFFIX)
GPROJLIB     = $(GPROJLIBFILE) $(PROJLIB)
GPROJDEP     = $(GPROJLIBFILE)
which doesn't alter the order of things in the Grass.make file too much
but I don't want to change it before I know why it is set up to use the
full path to the static library like this.

Hope you get it working

Paul




More information about the grass-dev mailing list