ฉันจะติดตั้งไลบรารี libSDL_image-1.2.so.0 ที่จำเป็นในการเรียกใช้ Dwarf Fortress ได้อย่างไร


16

ฉันดาวน์โหลด Dwarf Fortress แล้วและฉันเชื่อว่ารวบรวมไฟล์ที่จำเป็นทั้งหมดแล้ว อย่างไรก็ตามเมื่อฉันคลิกที่ไฟล์ df มันจะถามฉันบางอย่างฉันคลิกที่ "Run" และไม่มีอะไรเกิดขึ้น เกมเพิ่งเปิดไม่ได้เลย

ฉันใช้ Ubuntu 12.04 กับ Gnome 3 บน 64-bit หากฉันสามารถเปิดเกมได้ฉันมั่นใจว่าฉันสามารถจัดการกับปัญหาอื่น ๆ ที่อาจเกิดขึ้นได้

ฉันค่อนข้างใหม่สำหรับ Ubuntu และฉันไม่ได้ใช้ Linux มาตั้งแต่ปี 2009

ส่วนใหญ่มีไฟล์บางไฟล์ที่ฉันไม่รู้จัก

ทำงานใน terminal:

$ ./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 

วิธีที่ดีที่สุดในการวิเคราะห์ปัญหาคือเรียกใช้บนเทอร์มินัล แทนการเลือก "Run" เลือก "Run ใน terminal" หรือเปิด terminal ใช้cdการเปลี่ยนแปลงไปยังไดเรกทอรีที่เป็นและเรียกใช้df ./dfจากนั้นอัปเดตคำถามของคุณด้วยผลลัพธ์ที่คุณได้รับ
เซเลม

nex @ ExistentialAndroid: ~ / Downloads / df_linux $ ./df ./libs/Dwarf_Fortress: ข้อผิดพลาดขณะโหลดไลบรารีที่แชร์: libSDL_image-1.2.so.0: ไม่สามารถเปิดไฟล์วัตถุที่ใช้ร่วมกันได้: ไม่มี / nex @ ExistentialAndroid: ~ / ดาวน์โหลด / df_linux $ ปัญหาเดียวก็คือฉันติดตั้ง libSDL_image-1.2.so.0 แล้วอย่างน้อยสิ่งที่ศูนย์ซอฟต์แวร์อูบุนตูก็บอกฉันว่าติดตั้งแล้ว
Android ที่มีอยู่

คำตอบ:


16

ดูเหมือนว่าเกมจะไม่พบห้องสมุด SDL บางส่วน ใช้apt-fileแพ็คเกจที่ฉันได้รับ (วันที่ 12.10) ที่ให้ห้องสมุดนั่นคือ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

ดังนั้นคุณควรตรวจสอบแพ็คเกจที่ติดตั้งไว้ก่อน หากเป็นเช่นนั้นโปรแกรมต้องการเวอร์ชั่น 32 บิตหรือต้องการเวอร์ชั่น 64 บิต แต่ไม่สามารถหาได้

ในการติดตั้งเวอร์ชั่น 32 บิต:

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

LD_DEBUG=libs ./dfหากยังคงนี้ไม่ได้แก้ปัญหาที่คุณสามารถลองรันเกมโดยใช้ สิ่งนี้จะส่งข้อมูลจำนวนมากที่สามารถช่วยตรวจสอบสาเหตุที่ไม่สามารถหา lib นั้นได้ นอกจากนี้ยังใช้เวลาดูที่README.linuxไฟล์ในโฟลเดอร์ป้อมแคระและตรวจสอบว่าทุกความต้องการมีความพึงพอใจ


1
ฉันทำตามที่คุณแนะนำมีข้อผิดพลาดอื่นดังนั้นฉันจึงทำสิ่งเดียวกัน แต่พบวิธีติดตั้งสิ่งที่ขอและฉันพบสิ่งนี้: libglu1-mesa แต่นั่นไม่ได้ผลฉันจึงลอง ia32-libs นั่นติดตั้งสิ่งต่าง ๆ มากมาย แต่ตอนนี้ DF ใช้งานได้แล้ว ขอบคุณ
Android ที่มีอยู่

คำตอบนี้ใช้ได้กับเกม Onlink (ซึ่งต้องการเวอร์ชั่น 32 บิต)
Kyborek

15

ใน Ubuntu ของฉันฉันมี 3 แพ็คเกจให้ติดตั้งใน 32 บิตสำหรับ 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

นอกจากสามด้านบนอย่างน้อยใน Ubuntu 14.04 คุณต้องมีสิ่งนี้:

sudo apt-get install libglu1-mesa:i386

ใช้ DF บน Ubuntu 16.04 ยังต้องติดตั้งสี่เหล่านี้
7yl4r

6

ไม่มีการทำงานที่มีอยู่สำหรับฉันใน Ubuntu 16.04 แต่สิ่งนี้ทำได้:

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

แหล่ง


ผมยังจำเป็นนี้ 16.04, แก้ไขข้อผิดพลาดเดิม แต่ฉันมีข้อผิดพลาดใหม่สำหรับlibGLU.so.1lib
Kenny Evitt

ทั้งหมดนี้คือสิ่งที่ฉันต้องการเพื่อใช้งาน DF บน Ubuntu 17.10
shmup

สามารถยืนยันได้ว่าสิ่งนี้พร้อมกับคำตอบของ Tonioooo ที่นำไปสู่การติดตั้ง DF ที่ใช้งานได้ในวันที่ 18.04
JDL

พยายามตอบอีกหลายคำ แต่นี่เป็นคำตอบเดียวที่เหมาะกับฉัน
เกลียด

1

ผมยังจำเป็นนี้ใน 16.04 กล่อง:

sudo apt-get install libglu1-mesa

ดังนั้นทั้งหมดเข้าด้วยกัน:

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.