[GRASS5] RE: [winGRASS] the " libgrass_gis.dll was not found !" problem

Please check your library dependency of whatever command you run:

cygcheck /usr/local/grass.../bin/ps.map

Then it should print libraries that it requires. Try this in and

outside

grass.

Done that and here are the results (all not found files exist! -see
lib_list attached):

1. Outside grass on the cygwin prompt: -------------------------------

$ cygcheck /usr/local/grass5.7.cvs-i686-pc-cygwin-11_12_2004/bin/ps.map
P:/cygwin/usr/local/grass5.7.cvs-i686-pc-cygwin-11_12_2004/bin/ps.map
  P:\cygwin\bin\cygwin1.dll
    C:\WINDOWS\system32\ADVAPI32.DLL
      C:\WINDOWS\system32\ntdll.dll
      C:\WINDOWS\system32\KERNEL32.dll
      C:\WINDOWS\system32\RPCRT4.dll
Error: could not find libgrass_I.5.7.cvs.dll
Error: could not find libgrass_gis.5.7.cvs.dll
Error: could not find libgrass_symb.5.7.cvs.dll
Error: could not find libgrass_gproj.5.7.cvs.dll
Error: could not find libgrass_vect.5.7.cvs.dll

2. From grass5.7 prompt: -----------------------------------

GRASS 5.7.cvs:~ > cygcheck /usr/local/grass5.7.cvs-i686-pc-cygwin
11_12_2004/bin/ps.map
P:/cygwin/usr/local/grass5.7.cvs-i686-pc-cygwin-11_12_2004/bin/ps.map
  P:\cygwin\bin\cygwin1.dll
    C:\WINDOWS\system32\ADVAPI32.DLL
      C:\WINDOWS\system32\ntdll.dll
      C:\WINDOWS\system32\KERNEL32.dll
      C:\WINDOWS\system32\RPCRT4.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
I.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
vask.5.7.cvs.dll
      P:\cygwin\bin\cygncurses-8.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
gis.5.7.cvs.dll
      P:\cygwin\bin\cygz.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
datetime.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
gmath.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
symb.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
gproj.5.7.cvs.dll
    P:\cygwin\bin\cygproj-0.dll
    P:\cygwin\usr\local\bin\cyggdal-1.dll
      P:\cygwin\bin\cygjasper-1-701-1.dll
        P:\cygwin\bin\cygjpeg-62.dll
      P:\cygwin\bin\cygpng12.dll
      P:\cygwin\bin\pq.dll
        P:\cygwin\bin\cygcrypt-0.dll
        P:\cygwin\bin\cygcrypto-0.9.7.dll
        P:\cygwin\bin\cygssl-0.9.7.dll
      P:\cygwin\bin\cygtiff4.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
gis.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
I.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
vect.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
dbmibase.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
dbmiclient.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
linkm.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
rtree.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
dgl.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
dig2.5.7.cvs.dll
GRASS 5.7.cvs:~ >
************************************************************************
***

(attachments)

lib_list (9.3 KB)

OK, ps.map seems to be able to find all libraries.

But libgrass_gis.dll and libgrass_I.dll shouldn't be there. You know,
linked libraries cannot be loaded at run-time because M$-Windows doesn't
support UNIX link. Instead, these linked libraries are used at
compile-time. I don't know why your binary (should be the same as mine)
is linked against libgrass_gis.dll and libgrass_I.dll. Did you compile
it yourself?

Try the following:

1. Delete non 5.7.cvs.dll files and relink them:
   cd /usr/local/grass5.7.cvs-i686-pc-cygwin-11_12_2004/lib
   for i in `/usr/bin/ls | grep -v 5.7.cvs | sed 's/\.dll$//'`
   do
      rm -f $i.dll
      ln -s $i.5.7.cvs.dll $i.dll
   done

2. cygcheck /usr/local/grass5.7.cvs-i686-pc-cygwin-11_12_2004/bin/ps.map

Now, ps.map shouldn't be able to find libgrass_gis.dll. Right?

Huidae Cho

On Sun, Dec 12, 2004 at 03:40:26AM +0200, Koukoulas Sotiris wrote:

>Please check your library dependency of whatever command you run:

>cygcheck /usr/local/grass.../bin/ps.map

>Then it should print libraries that it requires. Try this in and
outside
>grass.

Done that and here are the results (all not found files exist! -see
lib_list attached):

1. Outside grass on the cygwin prompt: -------------------------------

$ cygcheck /usr/local/grass5.7.cvs-i686-pc-cygwin-11_12_2004/bin/ps.map
P:/cygwin/usr/local/grass5.7.cvs-i686-pc-cygwin-11_12_2004/bin/ps.map
  P:\cygwin\bin\cygwin1.dll
    C:\WINDOWS\system32\ADVAPI32.DLL
      C:\WINDOWS\system32\ntdll.dll
      C:\WINDOWS\system32\KERNEL32.dll
      C:\WINDOWS\system32\RPCRT4.dll
Error: could not find libgrass_I.5.7.cvs.dll
Error: could not find libgrass_gis.5.7.cvs.dll
Error: could not find libgrass_symb.5.7.cvs.dll
Error: could not find libgrass_gproj.5.7.cvs.dll
Error: could not find libgrass_vect.5.7.cvs.dll

2. From grass5.7 prompt: -----------------------------------

GRASS 5.7.cvs:~ > cygcheck /usr/local/grass5.7.cvs-i686-pc-cygwin
11_12_2004/bin/ps.map
P:/cygwin/usr/local/grass5.7.cvs-i686-pc-cygwin-11_12_2004/bin/ps.map
  P:\cygwin\bin\cygwin1.dll
    C:\WINDOWS\system32\ADVAPI32.DLL
      C:\WINDOWS\system32\ntdll.dll
      C:\WINDOWS\system32\KERNEL32.dll
      C:\WINDOWS\system32\RPCRT4.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
I.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
vask.5.7.cvs.dll
      P:\cygwin\bin\cygncurses-8.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
gis.5.7.cvs.dll
      P:\cygwin\bin\cygz.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
datetime.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
gmath.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
symb.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
gproj.5.7.cvs.dll
    P:\cygwin\bin\cygproj-0.dll
    P:\cygwin\usr\local\bin\cyggdal-1.dll
      P:\cygwin\bin\cygjasper-1-701-1.dll
        P:\cygwin\bin\cygjpeg-62.dll
      P:\cygwin\bin\cygpng12.dll
      P:\cygwin\bin\pq.dll
        P:\cygwin\bin\cygcrypt-0.dll
        P:\cygwin\bin\cygcrypto-0.9.7.dll
        P:\cygwin\bin\cygssl-0.9.7.dll
      P:\cygwin\bin\cygtiff4.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
gis.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
I.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
vect.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
dbmibase.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
dbmiclient.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
linkm.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
rtree.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
dgl.5.7.cvs.dll

P:\cygwin\usr\local\grass5.7.cvs-i686-pc-cygwin-11_12_2004\lib\libgrass_
dig2.5.7.cvs.dll
GRASS 5.7.cvs:~ >
************************************************************************
***