[GRASS-dev] "Incompatible library version" errors

Markus Neteler neteler at osgeo.org
Tue Sep 9 11:33:34 EDT 2008


On Tue, Sep 9, 2008 at 12:10 AM, Glynn Clements
<glynn at gclements.plus.com> wrote:
>
> This:
>        http://trac.osgeo.org/grass/changeset/33327
>
> -       G_fatal_error(_("Incompatible library version for module"));
> +       G_fatal_error(_("Incompatible library version for module: recompilation needed."));
>
> isn't necessarily accurate.
>
> The error could also be caused by a mismatch between PATH and
> LD_LIBRARY_PATH (or ld.so.cache, etc) if you have more than one
> version of GRASS installed.
>
> Or it could be caused by a module linking against GDAL, where GDAL was
> built against an old version of GRASS. In that case, it's true that
> recompilation is needed, but it would be GDAL that needs
> recompilation.
>
> In general, error messages should only report what is known; they
> shouldn't attempt to guess as the underlying cause.

Ah, I wasn't aware of all those other possibilities.
I only found the original message too minimalistic.

> E.g. if write() fails, then you know that write() failed. You don't
> know that it was due to insufficient disk space unless errno is set to
> ENOSPC. write() can also fail with EDQUOT (quota exceeded), EFBIG
> (maximum size of a single file exceeded), EIO (low-level I/O error,
> e.g. media fault, failed NFS server), and others.

Sure but in this case there are ENOSPC, EDQUOT etc. (so indications
could be trapped).

Anyway, I have reverted it.

Markus


More information about the grass-dev mailing list