[GRASS-user] qgis + grass-plugin = gdal-problem

Hallo,

starting qgis(1.0.1) with grass64 I can open a grass location, but when
I open a rastermap, qgis terminates with following error:

qgis: symbol lookup error: /usr/lib/gdalplugins/gdal_GRASS.so: undefined
symbol: G_no_gisinit

When I start qgis with grass63 installed, qgis terminates immediately
with the same error.

Any idea why?

achim

Correction:

achim schrieb:

Hallo,

starting qgis(1.0.1) with grass64 I can open a grass location, but when
I open a rastermap, qgis terminates with following error:

qgis: symbol lookup error: /usr/lib/gdalplugins/gdal_GRASS.so: undefined
symbol: G_no_gisinit

When I start qgis with grass63 installed, qgis terminates immediately
with the same error.

sorry: not the same error:

qgis: symbol lookup error: /usr/lib64/libqgisgrass.so.1.0: undefined
symbol: G__no_gisinit

Any idea why?

achim
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

On Fri, 2009-02-27 at 11:47 +0100, achim wrote:

Correction:

achim schrieb:
> Hallo,
>
> starting qgis(1.0.1) with grass64 I can open a grass location, but when
> I open a rastermap, qgis terminates with following error:
>
> qgis: symbol lookup error: /usr/lib/gdalplugins/gdal_GRASS.so: undefined
> symbol: G_no_gisinit
>
> When I start qgis with grass63 installed, qgis terminates immediately
> with the same error.

sorry: not the same error:

qgis: symbol lookup error: /usr/lib64/libqgisgrass.so.1.0: undefined
symbol: G__no_gisinit

>
> Any idea why?
>
> achim

If you compiled grass64 then have a look in the mail-archive for
"G__no_gisinit". I had the problem myself and it has been discussed some
times. It's probably a bad linking issue. I would recommend to clean
your system from old libraries. Then, proper compilation and
installation should give you the solution.

Kind regards, Nikos

Hi,

I used the goe-repository files for installing grass (6.4) and grass63.
Do I have to compile myself? Cant I clean old libraries by myself and
reinstall grass from the repository?

Thanks,
achim

Nikos Alexandris schrieb:

On Fri, 2009-02-27 at 11:47 +0100, achim wrote:

Correction:

achim schrieb:

Hallo,

starting qgis(1.0.1) with grass64 I can open a grass location, but when
I open a rastermap, qgis terminates with following error:

qgis: symbol lookup error: /usr/lib/gdalplugins/gdal_GRASS.so: undefined
symbol: G_no_gisinit

When I start qgis with grass63 installed, qgis terminates immediately
with the same error.

sorry: not the same error:

qgis: symbol lookup error: /usr/lib64/libqgisgrass.so.1.0: undefined
symbol: G__no_gisinit

Any idea why?

achim

If you compiled grass64 then have a look in the mail-archive for
"G__no_gisinit". I had the problem myself and it has been discussed some
times. It's probably a bad linking issue. I would recommend to clean
your system from old libraries. Then, proper compilation and
installation should give you the solution.

Kind regards, Nikos

On Fri, 2009-02-27 at 13:39 +0100, achim wrote:

Hi,

I used the goe-repository files for installing grass (6.4) and grass63.
Do I have to compile myself? Cant I clean old libraries by myself and
reinstall grass from the repository?

Thanks,
achim

Hi Achim!

It's not clear to me which geo-repository you mean. Could you please be
more specific?

First:

* Which operating system do you use?
* Which exact commands did you use to install grass 6.4 and which to
install grass 6.3?
* Why do you need both, version 6.3 and 6.4?

Now partially answering:

* You are not "forced" to compile grass by yourself. There are binaries
ready-to-(install)use.
* Of course you can clean old libraries. If you installed grass from
ubuntu's repository for example, it should be easy to clean everything
by just removing it (preferably with "sudo apt-get purge grass").

BTW, Jachym Cepicky's repository [1] is AFAIK always more up-to-date
than ubuntu's repositories.

Kind regards, Nikos

---
[1] http://les-ejk.cz/ubuntu/

On Sat, Feb 28, 2009 at 9:09 AM, Nikos Alexandris <nikos.alexandris@felis.uni-freiburg.de> wrote:

On Fri, 2009-02-27 at 13:39 +0100, achim wrote:

Hi,

I used the goe-repository files for installing grass (6.4) and grass63.
Do I have to compile myself? Cant I clean old libraries by myself and
reinstall grass from the repository?

Thanks,
achim

Hi Achim!

It’s not clear to me which geo-repository you mean. Could you please be
more specific?

First:

  • Which operating system do you use?
  • Which exact commands did you use to install grass 6.4 and which to
    install grass 6.3?
  • Why do you need both, version 6.3 and 6.4?

Now partially answering:

  • You are not “forced” to compile grass by yourself. There are binaries
    ready-to-(install)use.
  • Of course you can clean old libraries. If you installed grass from
    ubuntu’s repository for example, it should be easy to clean everything
    by just removing it (preferably with “sudo apt-get purge grass”).

BTW, Jachym Cepicky’s repository [1] is AFAIK always more up-to-date
than ubuntu’s repositories.

Kind regards, Nikos


[1] http://les-ejk.cz/ubuntu/


grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

if you use windows xp sp2 this may help. i got this from internet

best

zahid

(attachments)

setup_GRASS.log (4.26 KB)

On Fri, Feb 27, 2009 at 11:47 AM, achim <ak7@jupiter.uni-freiburg.de> wrote:
...

qgis: symbol lookup error: /usr/lib64/libqgisgrass.so.1.0: undefined
symbol: G__no_gisinit

Here the full explanations from Glynn to an older mail
with a similar question:

On Thu, Aug 14, 2008 at 5:37 AM, Glynn Clements
<glynn@gclements.plus.com> wrote:

G. Allegri wrote:

Even switching to develbrunch I receive the same error:
usr/local/lib/libgdal.so: undefined reference to `G_no_gisinit'

This indicates that your GDAL library was indeed built --with-grass. I
suggest building it without that option, and using the GDAL-GRASS
plugin instead.

If you build GDAL -with-grass, you will need to re-compile GDAL every
time that GRASS is updated from now on. The problem arises from
r32695, which makes G_gisinit() check that libgis was built with the
same version of gis.h as the caller.

The change adds G_gisinit() and G_no_gisinit() macros:

       #define GIS_H_VERSION "$Revision: 32726 $"

       #define G_gisinit(pgm) G__gisinit(GIS_H_VERSION, (pgm))
       #define G_no_gisinit() G__no_gisinit(GIS_H_VERSION)

The value of GIS_H_VERSION is automatically updated to the SVN
revision whenever gis.h is updated.

The change also renames the functions to G__gisinit() and
G__no_gisinit() (which is why you get the "undefined reference" error
when using an old GDAL with a new libgis), and adds version checks:

       int G__gisinit(const char *version, const char *pgm)
       {
           ...
           if (strcmp(version, GIS_H_VERSION) != 0)
               G_fatal_error(_("Incompatible library version for module"));

Any code which uses G_gisinit() or G_no_gisinit() passes the version
of gis.h with which it was compiled to the library functions, which
check that the same version of gis.h was used to compile the library.

The rationale is to avoid having to track down subtle errors caused by
version incompatibilities between libgis and any code which uses it.
Now, if there is an incompatibility, you get a very unsubtle error
telling you that there's an incompatibility.

--
Glynn Clements <glynn@gclements.plus.com>

Hope this helps,
Markus