.So dosyasi nedir?


45

Ubuntu altında Flash ile ilgili sorunlar yaşıyorum ve Flash 10.1'in Alpha sürümüne geçmeye çalışacağım.

Sorun şu ki .so dosyası olarak geldi ve bunun ne olduğu konusunda hiçbir bilgi bulamıyorum.


1
Başka bir poster sorunuzu zaten cevaplamış, bu yüzden başka bir esas olarak özdeş metin eklemem için hiçbir anlamı yok. Bu hataya dikkatinizi çekiyorum ( bugs.launchpad.net/ubuntu/+source/flashplugin-nonfree/+bug/… ) belki de semptomlarınız benzer ve oraya bir göz atmak istersiniz.
mac

1
Neredeyse unutuldu: Yukarıda bağlanan hata açıklamasında, sorunu çözen bir geçici çözüm de vardır (yorum # 16). İyi şanslar!
mac

Yanıtlar:


60

Bir .so dosyası derlenmiş bir kütüphane dosyasıdır. "Paylaşılan Nesne" anlamına gelir ve bir Windows DLL dosyasına benzer.

Genellikle, paket dosyaları / lib veya / usr / lib altına ya da yüklendiklerinde benzer bir yere yerleştirir. Bir .so dosyasını $ LD_LIBRARY_PATH'nizdeki bir konuma çıkartırsanız, kütüphaneyi gerektiren bir programın kullanabilmesi gerekir.

İdeal olarak, doğru yerde olduğundan emin olmak için beraberindeki belgeleri okuyun.

locate adobe-flashpluginTerminal'den benzer bir komut çalıştırırsanız, benzer şekilde adlandırılmış bazı kütüphaneleri görebilirsiniz.


2
Ubuntu işleri diğer Linux dinamik bağlayıcılardan tamamen farklı bir şekilde yapmazsa, dinamik bağlayıcı yolu aramaz ($ PATH), ancak $ LD_LIBRARY_PATH içinde belirtilen dizinlerin yanı sıra sabit bir yol kümesi arar. Daha fazla ayrıntı için ld.so ve ldconfig man sayfalarına bakın.
Chris Cleeland

Bu doğru geliyor - teşekkürler ... $ LD_LIBRARY_PATH $ PATH değil. :-)
Andrew Flanagan

1
/ usr / lib ve / lib, / var / lib öğesinden çok daha yaygındır. Aslında, / var / lib içine bir kütüphane koymak oldukça nadirdir.
qedi

Üzgünüm - acelesi vardı. :-)
Düzelteceğim

Tamam. Bir .so dosyam olduğunu hayal edelim ... Onu kullanmak için neye ihtiyacım var?
Pitto

10

Oluşturulabilen iki Linux C / C ++ kütüphane tipi vardır. Bunlar Statik kütüphaneler (.a) ve Dinamik olarak bağlanmış shard nesne kütüphaneleridir (.so)

(.So) 'ya gelince , bu kütüphanenin sadece bir şekli var ama iki şekilde kullanılabilir.

1) Çalışma zamanında dinamik olarak bağlanmış ancak statik olarak farkında. Derleme / bağlantı aşamasında kütüphaneler mevcut olmalıdır. Paylaşılan nesneler çalıştırılabilir bileşene dahil edilmez ancak yürütmeye bağlanır.

2) Dinamik bağlantı yükleyici sistemi işlevlerini kullanarak, yürütme sırasında dinamik olarak yüklenmiş / kaldırılmış ve bağlanmış (örn. Tarayıcı eklentisi).

Normalde paket dosyalar kurulurken / lib veya / usr / lib içine ".so" dosyaları yerleştirir.


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.