ข้อผิดพลาดขณะโหลดไลบรารีที่แบ่งใช้ libSDL-1.2.so.0


18

ฉันพยายามติดตั้ง ioquake บนเซิร์ฟเวอร์ ubuntu ของฉัน

เมื่อฉันพยายามเรียกใช้ฉันได้รับข้อความนี้:

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

ฉันคิดว่าฉันมีทุกอย่างทำงานถูกต้องนี่คือที่ 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

และเส้นทางของฉัน:

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

ผมทำอะไรผิดหรือเปล่า?


3
ฉันคิดว่านี่เป็นข้อความจาก libSDL ไม่ใช่เกี่ยวกับ libSDL strace ./ioquake.x86_64วิ่ง สิ่งนี้จะแสดงการเรียกของระบบทั้งหมด (ใช้เวลาในการดำเนินการมากขึ้น) มันจะแสดงความพยายามที่จะเปิดไฟล์ที่จะล้มเหลว
มกราคม

ฉันติดตั้งการติดตาม เมื่อฉันวิ่งตรงขึ้นฉันจะได้รับความช่วยเหลือ เมื่อฉันเรียกใช้ strace ./ioquake.x86_64 ตามที่คุณแนะนำฉันไม่พบคำสั่ง ฉันปวดหัว :(
ErocM

ฉันติดตั้ง strace *
ErocM

จากคำถามที่พบบ่อยเกี่ยวกับOpenArenaข้อความนี้จะปรากฏขึ้นเมื่อไม่ได้ติดตั้ง libSDL ดังนั้นฉันไม่คิดว่ามาจากมัน ไม่ใช่ความคิดที่ดีที่สุด แต่เพื่อให้แน่ใจว่าคุณได้ลองเปลี่ยนชื่อ libSDL-1.2.so.0.11.4 เป็น libSDL-1.2.so.0 หรือยัง?
NorTicUs

แม้ว่าคนแรกที่ทำงานให้กับคุณ: โปรดทำเครื่องหมายคำตอบที่สอง (23 upvotes) เป็นคำตอบที่ถูกต้องสำหรับ 99% ของผู้คน
tatsu

คำตอบ:


10

ลองต่อไปนี้ใน terminal:

sudo apt-get update

ติดตามโดย

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

โพสต์ข้อความผิดพลาดใด ๆ ที่คุณอาจเห็น


27

สิ่งนี้ใช้ได้กับฉัน:

sudo apt-get install libsdl1.2debian:i386


1
นี่คือคำตอบที่ดีกว่านี้ควรทำเครื่องหมายเป็นคำตอบ
tatsu

2

ฉันรู้ว่านี่เป็นช่วงปลายปี แต่สิ่งนี้ควรแก้ไข:

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

ปัญหาคือคุณกำลังเรียกใช้โปรแกรมที่คอมไพล์สำหรับสถาปัตยกรรม 32 บิตที่มีไลบรารี 64 บิต


4
หรือsudo apt-get install libsdl1.2debian:i386
Joril

1
@Joril ฉันคิดว่าความคิดเห็นของคุณควรเป็นคำตอบเหมือนตัวเอง
Alter Lagos

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

3
คุณขอคำอธิบายบางอย่างเกี่ยวกับปัญหาและวิธีการเรียกใช้คำสั่งด้านบนจะแก้ปัญหาได้อย่างไร?
Mostafa Ahangarha

ที่จริงแล้วแอพพลิเคชั่นของผู้ใช้นั้นใช้ไลบรารีด้านบนเพื่อ
คัดลอก

ฉันหมายถึงรวมคำอธิบายในคำตอบด้วย แต่ฉันคิดว่าคำอธิบายนี้ไม่เพียงพอ
Mostafa Ahangarha

0

คำถามนี้ยังคงเกี่ยวข้องกับ Ubuntu 14.04 สำหรับรุ่นเก่า แต่ยังคงใช้งานอยู่เช่น GCCG (เกมการ์ดสะสมทั่วไป)

มีคำตอบที่ใหญ่มากสองข้อในหัวเรื่อง:

  1. วิธีเรียกใช้แอพ 32 บิตใน Ubuntu 64- บิต
  2. วิธีการติดตั้ง ia32-libs ใน Ubuntu 14.04 LTS (Trusty Tahr)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.