Hikayeler

Reklam vermek için turkmmo@gmail.com

Lib Sorunu

acarfx

Level 1
TC Kimlik Numarası Doğrulanmış Üye
Üye
Katılım
2 Tem 2025
Konular
1
Mesajlar
4
Online süresi
47606s
Reaksiyon Skoru
0
Altın Konu
0
Başarım Puanı
8
TM Yaşı
9 Ay 21 Gün
MmoLira
100
DevLira
0

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Merhabalar
FreeBSD Olarak;
FreeBSD dehost 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64
bunu kullanmaktayım.


openssl 3.0 kurulu olmasına rağmen

2 - 2 Kanal

3 - 3 Kanal

4 - 4 Kanal
1
Database Ac�l�yor ..
ld-elf32.so.1: Shared object "libssl.so.30" not found, required by "db"

Giris Aciliyor ..
ld-elf32.so.1: Shared object "libssl.so.12" not found, required by "game"


şöyle bir sorun yaşamaktayız manuel olarak kurmayı denedim herşeyi fakat libssl.so.12 dosyası ve so.30 dosyası yok piyasada yardımcı olabilecek var mı?
 
Merhaba dostum, yaşadığın sorun oldukça teknik ve can sıkıcı, ama çözümü var. Diğer arkadaşların önerilerini okudum ve başlamadan önce en kritik uyarıyı yapmak istiyorum:

SAKIN MEVCUT .so KÜTÜPHANE DOSYALARINI YENİDEN ADLANDIRMAYIN! (libssl.so.8 dosyasının adını libssl.so.12 yapmak gibi). Bu, bir araba motoruna traktör parçası takmaya benzer. İsim aynı olsa da içindeki fonksiyonlar ve yapılar tamamen farklıdır. Bunu yapmak, sunucunun anında Segmentation fault (core dumped) hatasıyla çökmesine veya daha sinsi, öngörülemez hatalara yol açar. Bu, yapılacak en tehlikeli ve en yanlış işlemdir.

Şimdi gelelim sorununun asıl kaynağına ve doğru çözümüne kardeşim.


Sorunun Teşhisi: Neden Bu Hatayı Alıyorsun?


Bu hatanın sebebi çok net: Oyun sunucusu dosyaların (db ve game), senin şu an kullandığın FreeBSD 13.1 sisteminden farklı bir ortamda derlenmiş. Daha da önemlisi, hata mesajındaki ld-elf32.so.1 ifadesi, bu programların 32-bit olduğunu gösteriyor.

Kısaca Özeti:

* db dosyası, libssl.so.30 isminde bir kütüphane arıyor. Bu, OpenSSL 3.0'ın özel bir derlemesine işaret ediyor.
* game dosyası ise libssl.so.12 isminde bir kütüphane arıyor. Bu da OpenSSL 1.1.1'in özel bir derlemesine işaret ediyor.
* Senin 64-bit sisteminde, bu programları çalıştırmak için OpenSSL'in 32-bit kütüphanelerine ihtiyacın var.


Doğru Çözüm: Sembolik Linkler (Symbolic Links)


Yapmamız gereken şey, sistemi "güvenli bir şekilde kandırmak". Yani, programların aradığı libssl.so.12 ve libssl.so.30 isimlerinde sahte dosyalar oluşturacağız, ama bu dosyaların içi boş olmayacak; bunlar, sistemde zaten var olan doğru kütüphaneleri işaret eden birer "yönlendirme tabelası" (sembolik link) olacak.

Benim sana sunabileceğim çözümler bunlardır kardeşim:

* Gerekli OpenSSL Sürümlerini Kuralım

FreeBSD 13.1, temel sistemde OpenSSL 3.0 ile gelir. Bize ek olarak OpenSSL 1.1.1 lazım. Eğer kurulu değilse, pkg ile kuralım:

Bash:
pkg install security/openssl111

* Kütüphanelerin Gerçek Yerini Bulalım

Şimdi bize lazım olan 32-bit kütüphanelerin sistemde nerede olduğuna bakalım. Şu komutları çalıştır:

Bash:
find /usr/lib32 /usr/local/lib32 -name "libssl.so.*"

Bu komutun çıktısı şuna benzer olmalı:

/usr/lib32/libssl.so.3 (Bu OpenSSL 3.0'dan gelir)
/usr/local/lib32/libssl.so.111 (Bu da openssl111 paketinden gelir, sonundaki rakamlar farklı olabilir)


* Sihirli Dokunuş - Sembolik Linkleri Oluşturalım

Şimdi db ve game dosyalarının aradığı sahte dosyaları, gerçek dosyaları işaret edecek şekilde oluşturalım.


game için libssl.so.12 oluşturalım:

Bash:
ln -s /usr/local/lib32/libssl.so.111 /usr/lib32/libssl.so.12

* Bu komut diyor ki: "/usr/lib32 klasörüne libssl.so.12 adında bir link oluştur ve bu link /usr/local/lib32/libssl.so.111 dosyasını göstersin."

* db için libssl.so.30 oluşturalım:

Bash:
ln -s /usr/lib32/libssl.so.3 /usr/lib32/libssl.so.30

* Bu komut da diyor ki: "/usr/lib32 klasörüne libssl.so.30 adında bir link oluştur ve bu link /usr/lib32/libssl.so.3 dosyasını göstersin."

* Sistemi Güncelleyelim

İşletim sisteminin yeni oluşturduğumuz bu linkleri tanıması için kütüphane önbelleğini güncelleyelim:

Bash:
ldconfig -v /usr/lib32

Bu kadar! Şimdi sunucunu yeniden başlatmayı dene. Sorununun çözülmüş olması gerekiyor.

Eğer 2. Adım'daki dosya isimleri veya yolları sende farklıysa, 3. Adım'daki komutları kendine göre düzenlemeyi unutma. Önemli olan, linkin kaynağının (ln -s komutunun ilk parametresi) gerçek dosya olmasıdır.

Bu yöntem, en temiz, en güvenli ve en profesyonel yöntemdir.Zor gelsin değil,kolay gelsin.
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst