2010-03-23 19 views
0

J'ai construit la librairie spatialite puis la librairie gdal avec support spatialite. Aussi construit mapserver qui dépend de gdal avec succès. Il n'y avait pas de problème avec la liaison.Erreur de chargement de la bibliothèque Cygwin gdal

Lorsque je tente d'exécuter un utilitaire gdal je reçois:

$ ogrinfo.exe 
/usr/local/bin/ogrinfo.exe: error while loading shared libraries: cyggdal-1.dll: cannot open shared object file: No such file or directory 

Mais tout semble bien:

$ ldd /usr/local/bin/ogrinfo.exe 
     ntdll.dll => /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c900000) 
     kernel32.dll => /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000) 
     cyggdal-1.dll => /usr/local/bin/cyggdal-1.dll (0x710c0000) 
     cygcurl-4.dll => /usr/bin/cygcurl-4.dll (0x63d80000) 
     cyggcc_s-1.dll => /usr/bin/cyggcc_s-1.dll (0x67f00000) 
     cygwin1.dll => /usr/bin/cygwin1.dll (0x61000000) 
     ADVAPI32.DLL => /cygdrive/c/WINDOWS/system32/ADVAPI32.DLL (0x77dd0000) 
     RPCRT4.dll => /cygdrive/c/WINDOWS/system32/RPCRT4.dll (0x77e70000) 
     Secur32.dll => /cygdrive/c/WINDOWS/system32/Secur32.dll (0x77fe0000) 
     cygcrypto-0.9.8.dll => /usr/bin/cygcrypto-0.9.8.dll (0x6ba40000) 
     cygidn-11.dll => /usr/bin/cygidn-11.dll (0x6c200000) 
     cygiconv-2.dll => /usr/bin/cygiconv-2.dll (0x674c0000) 
     cygintl-8.dll => /usr/bin/cygintl-8.dll (0x6f5c0000) 
     cygssh2-1.dll => /usr/bin/cygssh2-1.dll (0x69ec0000) 
     cygz.dll => /usr/bin/cygz.dll (0x692c0000) 
     cygssl-0.9.8.dll => /usr/bin/cygssl-0.9.8.dll (0x63400000) 
     cygexpat-1.dll => /usr/bin/cygexpat-1.dll (0x66ec0000) 
     cyggeos_c-1.dll => /usr/bin/cyggeos_c-1.dll (0x70180000) 
     cyggeos-3-1-1.dll => /usr/bin/cyggeos-3-1-1.dll (0x4e0000) 
     cygjpeg-7.dll => /usr/bin/cygjpeg-7.dll (0x66e00000) 
     cygpng12.dll => /usr/bin/cygpng12.dll (0x6f200000) 

Si je copie le cyggdal-1.dll dans le dossier en cours:

$ ogrinfo.exe 
/usr/local/bin/ogrinfo.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory 

Alors qu'est-ce qu'un '?' bibliothèque?

$ ldd cyggdal-1.dll 
     ntdll.dll => /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c900000) 
     kernel32.dll => /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000) 
     ??? => ??? (0x710c0000) 
     ??? => ??? (0x63d80000) 
     ??? => ??? (0x67f00000) 
     ??? => ??? (0x61000000) 
     ??? => ??? (0x77dd0000) 
     ??? => ??? (0x77e70000) 
     ??? => ??? (0x77fe0000) 
     ??? => ??? (0x6ba40000) 
     ??? => ??? (0x6c200000) 
     ??? => ??? (0x674c0000) 
     ??? => ??? (0x6f5c0000) 
     ??? => ??? (0x69ec0000) 
     ??? => ??? (0x692c0000) 
     ??? => ??? (0x63400000) 
     ??? => ??? (0x66ec0000) 
     ??? => ??? (0x70180000) 
     ??? => ??? (0x4b0000) 
     ??? => ??? (0x66e00000) 
     ??? => ??? (0x6f200000) 

Que sont ces "???" ? Comment résoudre ce problème?

+0

Avez-vous créé ce programme à partir de la source? Si oui, dites-nous comment vous l'avez construit. Si ce n'est pas le cas, la question devrait être déplacée vers Superuser, car elle ne serait pas liée au développement. –

+0

Je l'ai construit. Bien qu'il n'y ait pas eu d'erreurs, cela peut être lié à la compilation. – Erdem

Répondre

0

J'ai utilisé cmd pour exécuter l'utilitaire et il a montré un popup avec le nom de DLL manquante.