kesalahan saat memuat pustaka bersama libSDL-1.2.so.0

18

Saya mencoba menginstal ioquake di server ubuntu saya.

Ketika saya mencoba menjalankannya, saya menerima pesan ini:

# ./ioquake3
./ioquake3.x86_64: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory

Saya pikir saya memiliki semuanya berfungsi dengan baik, di sinilah libSDL adalah:

# cd /usr/lib64
# /usr/lib64# ls -l
total 2308
lrwxrwxrwx 1 root root      15 Oct 15 00:25 libSDL-1.1.so.0 -> libSDL-1.2.so.0
lrwxrwxrwx 1 root root      20 Oct 15 00:25 libSDL-1.2.so.0 -> libSDL-1.2.so.0.11.4
-rwxr-xr-x 1 root root 2358903 Jan 19  2012 libSDL-1.2.so.0.11.4

Dan jalanku:

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib64

Apa yang saya lakukan salah?

ErocM
sumber
3
Saya pikir ini adalah pesan dari libSDL daripada tentang libSDL. Lari strace ./ioquake.x86_64. Ini akan menampilkan semua panggilan sistem (membutuhkan waktu lebih banyak untuk dieksekusi). Ini akan menunjukkan upaya untuk membuka file mana yang akan gagal.
Januari
Saya menginstal jejak. Ketika saya menjalankannya dengan lurus, saya mendapatkan bantuan. Ketika saya menjalankan strace ./ioquake.x86_64 seperti yang Anda sarankan saya mendapatkan perintah tidak ditemukan. Saya sakit kepala :(
ErocM
Saya memasang strace *
ErocM
Dari OpenArena FAQ , pesan ini muncul ketika libSDL tidak terpasang, jadi saya tidak berpikir itu datang dari itu. Bukan ide terbaik, tetapi hanya untuk memastikan, apakah Anda sudah mencoba untuk mengubah nama libSDL-1.2.so.0.11.4 menjadi libSDL-1.2.so.0?
NorTicUs
bahkan jika yang pertama berhasil untuk Anda: tandai yang kedua (23 upvotes) sebagai jawaban karena itu benar untuk 99% orang.
tatsu

Jawaban:

10

Coba yang berikut di terminal:

sudo apt-get update

diikuti oleh

sudo apt-get install --reinstall libsdl1.2debian

Posting pesan kesalahan yang mungkin Anda lihat

Anonim
sumber
27

Ini bekerja untuk saya:

sudo apt-get install libsdl1.2debian:i386

Joril
sumber
1
ini adalah jawaban yang lebih baik ini harus ditandai sebagai jawaban.
tatsu
2

Saya tahu ini terlambat satu tahun. Tetapi ini harus memperbaikinya:

dpkg --add-architecture i386
sudo apt-get install libsdl1.2debian

Masalahnya adalah bahwa Anda menjalankan program yang dikompilasi untuk arsitektur 32 bit dengan pustaka 64 bit.

Douther
sumber
4
Atausudo apt-get install libsdl1.2debian:i386
Joril
1
@Joril Saya pikir komentar Anda harus menjadi jawaban seperti itu sendiri
Alter Lagos
1
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev
Jagadeesh
sumber
3
Bisakah Anda memasukkan beberapa penjelasan tentang apa masalahnya dan bagaimana menjalankan perintah di atas akan menyelesaikannya?
Mostafa Ahangarha
sebenarnya aplikasi pengguna menggunakan pustaka inorder di atas untuk membuang teks atau gambar ke jendela SDL
jagadeesh
Maksud saya sertakan penjelasan dalam jawabannya. Namun, saya pikir penjelasan ini tidak cukup.
Mostafa Ahangarha