Làm cách nào để tôi cài đặt thư viện libSDL_image-1.2.so.0 cần thiết để chạy Pháo đài lùn?


16

Tôi đã tải xuống Pháo đài Lùn và tôi tin rằng tôi đã thu thập tất cả các tệp cần thiết. Tuy nhiên, khi tôi nhấp vào tệp df, nó hỏi tôi một số điều, tôi nhấp vào "Chạy" và không có gì xảy ra. Trò chơi hoàn toàn không mở.

Tôi đang chạy Ubuntu 12.04 với Gnome 3 trên 64 bit. Nếu tôi có thể mở trò chơi, tôi chắc chắn mình có thể giải quyết các vấn đề khác có thể xảy ra.

Tôi còn khá mới với Ubuntu và tôi chưa sử dụng Linux từ năm 2009.

Nhiều khả năng có một số tệp tôi không biết.

Chạy nó trong thiết bị đầu cuối:

$ ./df
./libs/Dwarf_Fortress: error while loading shared libraries: libSDL_image-1.2.so.0:
    cannot open shared object file: No such file or directory 

Cách tốt nhất để chẩn đoán vấn đề là chạy nó trên thiết bị đầu cuối. Thay vì chọn "Chạy", chọn "Chạy trong thiết bị đầu cuối" hoặc mở một thiết bị đầu cuối, sử dụng cdđể thay đổi thư mục nơi dfđang và chạy ./df. Sau đó cập nhật câu hỏi của bạn với đầu ra bạn nhận được.
Salem

nex @ ExistentialAndroid: ~ / Tải xuống / df_linux $ ./df ./libs/Dwarf_Fortress: lỗi trong khi tải các thư viện chia sẻ: libSDL_image-1.2.so.0: không thể mở tệp đối tượng được chia sẻ: Không có tệp hoặc thư mục nex @ ExistentialAnd Tải xuống / df_linux $ Vấn đề duy nhất là tôi dường như đã cài đặt libSDL_image-1.2.so.0, ít nhất là điều Trung tâm phần mềm Ubuntu cho tôi biết nó đã được cài đặt.
Android hiện tại

Câu trả lời:


16

Có vẻ như trò chơi không thể tìm thấy một số thư viện SDL. Sử dụng apt-filegói tôi nhận được (vào ngày 12.10) cung cấp các thư viện đó là libsdl-image1.2:

➜  apt-file search  libSDL_image-1.2.so.0
libsdl-image1.2: /usr/lib/x86_64-linux-gnu/libSDL_image-1.2.so.0
libsdl-image1.2: /usr/lib/x86_64-linux-gnu/libSDL_image-1.2.so.0.8.4

Vì vậy, trước tiên bạn nên xác minh rằng gói đã thực sự được cài đặt. Nếu đó là chương trình cần phiên bản 32 bit hoặc thực sự cần phiên bản 64 bit nhưng không thể tìm thấy.

Để cài đặt phiên bản 32 bit:

sudo apt-get install libsdl-image1.2:i386

Nếu điều này vẫn không giải quyết được vấn đề, bạn có thể thử chạy trò chơi bằng cách sử dụng LD_DEBUG=libs ./df. Điều này sẽ xuất ra rất nhiều thông tin có thể giúp phát hiện lý do tại sao nó không thể tìm thấy lib đó. Ngoài ra, hãy xem README.linuxtệp trong thư mục Pháo đài lùn và kiểm tra xem tất cả các yêu cầu có được thỏa mãn hay không.


1
Tôi đã làm như bạn đề xuất, gặp một lỗi khác, vì vậy tôi đã làm khá nhiều điều tương tự nhưng tìm ra cách cài đặt những gì nó yêu cầu và tôi thấy điều này: libglu1-mesa, nhưng nó không hoạt động nên tôi đã thử ia32-libs. Điều đó đã cài đặt rất nhiều thứ, nhưng bây giờ DF hoạt động. Cảm ơn.
Android hiện tại

Câu trả lời này cũng hoạt động cho trò chơi Onlink (cần phiên bản 32 bit)
Kyborek

15

Trên các bit Ubuntu của tôi, tôi đã có 3 gói để cài đặt trong 32 bit cho DwarfFortress:

sudo apt-get install libsdl-image1.2:i386
sudo apt-get install libgtk2.0-0:i386
sudo apt-get install libsdl-ttf2.0-0:i386

Ngoài ba phần trên, ít nhất là trên Ubuntu 14.04, bạn cần cái này:

sudo apt-get install libglu1-mesa:i386

chạy DF trên Ubuntu 16.04 cũng yêu cầu cài đặt bốn cái này.
7yl4r

6

Không có cái nào trong số này hoạt động với tôi trên Ubuntu 16.04, nhưng điều này đã làm:

sudo apt-get install libsdl1.2debian libsdl-image1.2 libsdl-ttf2.0-0

Nguồn


Tôi cũng cần điều này vào ngày 16.04, để sửa lỗi ban đầu. Nhưng tôi đã có một lỗi mới cho một libGLU.so.1lib.
Kenny Evitt

Đây là tất cả những gì tôi cần để chạy DF trên Ubuntu 17.10
shmup

Có thể xác nhận rằng điều này cùng với câu trả lời của Tonioooo dẫn đến cài đặt DF hoạt động vào ngày 18.04
JDL

Đã thử nhiều câu trả lời khác, nhưng đây là câu trả lời duy nhất phù hợp với tôi.
Ghét bạn bè

1

Tôi cũng cần cái này trên hộp 16.04:

sudo apt-get install libglu1-mesa

Vì vậy, tất cả cùng nhau:

sudo dpkg --add-architecture i386
sudo apt-get update

sudo apt-get install libsdl-image1.2:i386 \
                     libsdl-ttf2.0-0:i386 \
                     libgtk2.0-0:i386 \
                     libglu1-mesa:i386 \
                     openssl:i386

sudo apt-get install libsdl1.2debian

sudo apt-get install libsdl1.2debian \
                     libsdl-image1.2 \
                     libsdl-ttf2.0-0

sudo apt-get install libglu1-mesa
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.