lỗi trong khi tải thư viện chia sẻ libSDL-1.2.so.0


18

Tôi đang cố gắng cài đặt ioquake trên máy chủ Ubuntu của tôi.

Khi tôi cố chạy nó, tôi nhận được thông báo này:

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

Tôi nghĩ rằng tôi đã làm mọi thứ đúng, đây là nơi libSDL:

# 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

Và con đường của tôi:

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

Tôi đang làm gì sai?


3
Tôi nghĩ rằng đây là một thông điệp từ libSDL chứ không phải về libSDL. Chạy đi strace ./ioquake.x86_64. Điều này sẽ hiển thị tất cả các cuộc gọi hệ thống (mất nhiều thời gian hơn để thực hiện). Nó sẽ hiển thị những nỗ lực để mở tập tin nào sẽ thất bại.
tháng 1

Tôi cài đặt dấu vết. Khi tôi chạy thẳng lên, tôi nhận được sự giúp đỡ. Khi tôi chạy strace ./ioquake.x86_64 như bạn đề xuất, tôi không nhận được lệnh. Tôi đang đau đầu :(
ErocM

Tôi đã cài đặt strace *
ErocM

Từ Câu hỏi thường gặp về OpenArena , thông báo này xuất hiện khi libSDL chưa được cài đặt, vì vậy tôi không nghĩ rằng nó đến từ nó. Không phải là ý tưởng tốt nhất, nhưng để chắc chắn, bạn đã thử đổi tên libSDL-1.2.so.0.11.4 thành libSDL-1.2.so.0 chưa?
NorTicUs

ngay cả khi lần đầu tiên làm việc cho bạn: vui lòng đánh dấu câu trả lời thứ hai (23 upvote) vì nó thực sự phù hợp với 99% mọi người.
tatsu

Câu trả lời:


10

Hãy thử các cách sau trong thiết bị đầu cuối:

sudo apt-get update

theo dõi bởi

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

Đăng bất kỳ thông báo lỗi bạn có thể thấy


27

Điều này làm việc cho tôi:

sudo apt-get install libsdl1.2debian:i386


1
Đây là câu trả lời tốt hơn nên được đánh dấu là câu trả lời.
tatsu

2

Tôi biết đây là một năm muộn. Nhưng điều này sẽ khắc phục nó:

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

Vấn đề là bạn đang chạy một chương trình được biên dịch cho kiến ​​trúc 32 bit với các thư viện 64 bit.


4
Ngoài rasudo apt-get install libsdl1.2debian:i386
Joril

1
@Joril Tôi nghĩ rằng nhận xét của bạn nên là một câu trả lời như chính nó
Alter Lagos

1
sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev

3
Bạn có thể bao gồm một số lời giải thích về vấn đề là gì và cách chạy lệnh trên sẽ giải quyết nó?
Mostafa Ahangarha

trên thực tế, các ứng dụng người dùng sử dụng thư viện ở trên để sắp xếp văn bản hoặc hình ảnh vào cửa sổ SDL
jagadeesh 22/03/2017

Tôi có nghĩa là bao gồm giải thích trong câu trả lời. Tuy nhiên, tôi nghĩ rằng lời giải thích này là không đủ.
Mostafa Ahangarha 22/03/2017

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.