PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

Putty Ekranında Kalan "Shared Object Lib Not Found" Hatası Çözümü

Yazdır

Putty Ekranında Kalan "Shared Object Lib Not Found" Hatası Çözümü

Metin2 PVP sunucularına Putty (SSH) üzerinden start verirken sıkça karşılaşılan hatalardan biri de "Shared object 'lib...' not found, required by 'game'" uyarısıdır. Bu hata, oyunun çalıştırılabilir ana dosyalarının (game ve db binary), FreeBSD işletim sisteminde ihtiyaç duyduğu 32-bit uyumluluk kütüphanelerini veya özel kaynak kod kütüphanelerini bulamaması durumunda ortaya çıkar ve sunucunun açılmasını tamamen engeller. Sorunu çözmek için aşağıdaki adımları sırasıyla uygulayabilirsiniz.

1. Yöntem: Eksik Kütüphaneyi Manuel Olarak Sunucuya Yükleme

Hata mesajında genellikle eksik olan dosyanın adı açıkça belirtilir (Örn:libmd.so.5,libssl.so.10,libstdc++.so.6vb.). Bu dosyayı manuel olarak sisteme tanıtmak en kesin çözümdür:

  1. Öncelikle hata mesajında adı geçen `.so` dosyasını internetten güvenli bir kaynaktan veya çalışan başka bir Metin2 sunucusundan temin edin.
  2. Filezilla veya WinSCP ile sunucunuza bağlanın.
  3. Eksik dosyayı, FreeBSD sürümünüze ve altyapınıza bağlı olarak şu dizine yükleyin:
    /usr/lib32/
    *(Eğer filesınız daha eski bir işletim sistemi yapısındaysa/usr/lib/dizinini de kontrol edebilirsiniz).*
  4. Yüklediğiniz dosyanın üzerine sağ tıklayın, Dosya İzinleri (Chmod) kısmına girerek değeri 777 olarak güncelleyin.

2. Yöntem: Sembolik Bağlantı (Symlink) Oluşturma

Bazen aranan kütüphane sunucunuzda aslında mevcuttur ancak sadece sürüm numarası farklıdır (Örneğin sunucudalibmd.so.6vardır ama oyunlibmd.so.5arıyordur). Bu durumda sistemi yanıltarak sembolik bağ oluşturabiliriz:

  • Putty terminaline bağlanın ve kütüphane dizinine girin:
    cd /usr/lib32
  • Mevcut olan güncel dosyayı, aranan eski dosya adına köprülemek için şu komutu kendinize göre düzenleyerek çalıştırın:
    ln -s libmd.so.6 libmd.so.5
  • Bu komut sayesinde oyunlibmd.so.5dosyasını çağırdığında sistem otomatik olarak arka plandalibmd.so.6dosyasını çalıştıracaktır.

3. Yöntem: FreeBSD 32-Bit Uyumluluk Paketlerini Kurma

Eğer sunucunuza sıfırdan kurulum yaptıysanız ve neredeyse hiçbir temel kütüphane bulunmuyorsa, FreeBSD'nin resmi paket yöneticisini kullanarak 32-bit kütüphane kütüphanelerini toplu olarak indirebilirsiniz. Putty üzerinden şu komutları sırasıyla çalıştırın:

pkg update
pkg install compat9x-i386
pkg install compat10x-i386
pkg install compat11x-i386

*(Not: Sunucunuzun FreeBSD sürümüne uygun olan compat paketini tercih etmelisiniz. Örneğin FreeBSD 13 kullanıyorsanız `compat13x` paketlerini kurmalısınız).*

4. Yöntem: Source Derleme (Build) Aşamasında Statik Linkleme Yapmak

Eğer oyunun source (kaynak kodları) elinizde mevcutsa, derleme aşamasında kütüphaneleri dışarıdan bağımsız olarak doğrudan game dosyasının içerisine gömebilirsiniz (Static link). Böylece sunucuda hangi kütüphanenin olup olmadığının bir önemi kalmaz:

  • Game source klasörünüzdekiMakefiledosyasını açın.
  • Derleme seçeneklerinin (Flags) yer aldığı satırlara-staticparametresini ekleyerek source'u yeniden derleyin (Build alın).

Bu makale PvPSunucusu için özel olarak hazırlanmıştır.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner