[GRASS-user] installing addon problem for regular users (ubuntu
newbies)
Glynn Clements
glynn at gclements.plus.com
Thu Nov 12 10:32:45 EST 2009
M S wrote:
> I'm on Kubuntu 9.10, using both 32 and 64 bit systems. This output is
> from 32bit. It is GRASS 6.4 RC5. Seems to be the same logged issue
> of defaulting to /build rather than /var/lib/grass64
>
> -------------------------
> I ran "sudo make MODULE_TOPDIR=/usr/lib/grass64"
>
> This is the first line of output" gcc
> -I/build/buildd/grass-6.4.0~rc5/dist.i486-pc-linux-gnu/include -Wall
> -g -O -I/usr/include/gdal -DPACKAGE=\""grassmods"\"
> -I/build/buildd/grass-6.4.0~rc5/dist.i486-pc-linux-gnu/include -o
> OBJ.i486-pc-linux-gnu/close.o -c close.c "
> ---------------------------
>
> If I apply the GRASS_HOME=/usr/lib/grass64:
>
> --------------------------
> $ sudo make MODULE_TOPDIR=/usr/lib/grass64 GRASS_HOME=/usr/lib/grass64
>
> gcc -I/usr/lib/grass64/dist.i486-pc-linux-gnu/include -Wall -g -O
> -I/usr/include/gdal -DPACKAGE=\""grassmods"\"
> -I/usr/lib/grass64/dist.i486-pc-linux-gnu/include -o
> OBJ.i486-pc-linux-gnu/close.o -c close.c
> close.c:1:23: error: grass/gis.h: No such file or directory
> close.c:2:27: error: grass/glocale.h: No such file or directory
> close.c:3:24: error: grass/dbmi.h: No such file or directory
> close.c:4:24: error: grass/Vect.h: No such file or directory
> -------------------------
>
> Should it be looking in /usr/lib/grass64/include, instead of
> /usr/lib/grass64/dist.i486-pc-linux-gnu/include ? The latter
> directory is empty.
>
> If so, how do I remove the "dist.i486-pc-linux--gnu" portion from the
> gcc statement?
You could try ARCH_DISTDIR=/usr/lib/grass64, but this may not be
sufficient for complex cases. If you need to search both the installed
version and the build directory for headers and/or libraries, you will
need to set ARCH_INC and/or ARCH_LIBPATH explicitly.
If you still have problems, look at the first two sections of
Grass.make; this defines the most important variables.
6.x is still a bit of a mess in this regard.
In 7.0, ARCH_DISTDIR controls where output files go, while GISBASE
controls where existing libraries and headers are found. Both
$(ARCH_DISTDIR)/include and $(GISBASE)/include are searched for
headers, and both $(ARCH_DISTDIR)/lib and $(GISBASE)/lib are searched
for libraries. This allows a package to use both existing headers and
libraries and those which are part of the package.
RUN_GISBASE is the value of GISBASE used when running GRASS modules as
part of the build process (on Windows, this will be in Windows format
rather than MSys format).
MODULE_TOPDIR is only used to locate the *.make files; everything else
uses the variables from those files.
--
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-user
mailing list