[GRASS-dev] fix for build, ERROR: MAPSET PERMANENT - permission denied

Glynn Clements glynn at gclements.plus.com
Wed Nov 11 08:22:50 EST 2009

Raymond Burns wrote:

> > > I was looking for something else when I noticed this.
> > > 
> <snip>
> > 
> > What problem is this supposed to fix?
> > 
> ERROR: MAPSET PERMANENT - permission denied
> 346 times on the current build.
> In previous cvs pulls, each make iteration rebuilt the html pages and
> presented this message which leaves the lasting impression the target
> did not get made correctly and therefore may have left targets beyond
> it in the makefile un made.

That suggests that the dist.<arch>/demolocation has the wrong
ownership. This could happen if you have an existing dist.<arch>
directory owned by another user (or possibly if you build as "root").

> The most recent cvs pull appears to recognise the completed target so
> the message occurs only on the first make iteration.

The error arises because the process for generating the HTML files
runs each command with the --html-description option. If the command
fails, you get an error, but I suspect that you may still end up with
an incomplete HTML file, which will then be used by subsequent builds.

> > Also, I can't see how the patched version can work, as nothing tries
> > to make the "htmldesc" target.
> It did not, this as a revision I believe does, though it does not
> paste well either. At this point, if there is possible useful output
> from the execution of the code with --html-description there may be
> reason to ignore the patch and retain the message, if there is no
> other useful output of the --html-description I would just as soon not
> see an implied permission violation. On a new platform. I get enough
> of those that are real.

This is attempting to fix the symptoms rather than the problem. The
problem is that dist.<arch>/demolocation has the wrong owner. This can
affect more than just the HTML files.

The dist.<arch>/demolocation demolocation is made by copying the
demolocation directory using "tar cBf - ... | tar xBfo - ...". The
copy should be owned by the current user (even if run as root, due to
the -o flag; OTOH, this may not be recognised by non-GNU versions of

Can you check the permissions on the dist.<arch>/demolocation

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-dev mailing list