Cygwin kitaplığı yükleme hatası


13

Mekansal kütüphane, sonra mekansal destekli gdal kütüphane yaptım. Ayrıca başarıyla gdal bağlı mapserver inşa. Bağlamada sorun olmadı.

Bir gdal yardımcı programını yürütmeye çalıştığımda:

$ 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

Ama her şey yolunda görünüyor:

$ 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)

Cyggdal-1.dll dosyasını geçerli klasöre kopyalarsam:

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

Peki 'nedir?' kütüphane?

$ 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)

Bunlar nedir "???" ? Bu problem nasıl çözülür?

Yanıtlar:


28

Kullanım cygcheck /usr/bin/[yourbinary](örnek /usr/bin/curl)

Size bulamadığı bir şey söyleyecektir. ('[Some.dll] bulunamadı' diyecektir.)

Sadece dll adındaki paketi yükleyin.

Örneğin - Koştuğumda:

$ curl

Geri döndü:

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

Bu yüzden koştum:

$ cygcheck /usr/bin/curl

Geri döndü:

cygcheck: track_down: could not find cygsasl2-2.dll

Bu yüzden 'libsasl2' paketini kurdum.

Bu, setup.exe (cygwin yükleyici) aracılığıyla kurulan bir çalışma zamanı kütüphanesidir ve curl iyi çalışmaya başladı.


Bu aracı şimdiye kadar hiç bilmiyordum ve bu da benim sorunumun nedenini gösterdi: "cygcheck: track_down: cygsasl2-2.dll bulunamadı." Çok teşekkürler.
Matt Setter

1

Yardımcı programı yürütmek için cmd kullandım ve eksik dll adı ile bir pop-up gösterdi.


0

Benim durumumda SSH kurmak istedim . Bu eksik "cyggssapi-3.dll" şikayet Cygwin yeniden yükledim ve ekstra bir şey yüklemek ve SSH + SSL doğru sürümlerini yüklemek için emin yaptı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.