ลิงค์ของฉันอยู่ใน
/lib{32,64}/ld-2.20.soมีลิงก์สัญลักษณ์ที่
/lib32/ld-linux.so.2 และ
/lib64/ld-linux-x86-64.so.2 (ตามความเหมาะสม ld-2.20.so s)
เมื่อฉันพยายามรันไบนารี 32 บิตทุกอย่างดี พวกเขารวบรวมปรับ (ฉันใช้ gcc แก้ไขเล็กน้อย specs ไฟล์) และดูเหมือนว่าการเชื่อมโยงที่ดีและทำงานได้ดี
เมื่อฉันลอง ldd /path/to/example/32bit/binaryฉันบอกแล้ว not a dynamic executable. ความเข้าใจของฉันคือว่านี่เป็นเพราะไม่สามารถหา linker เพื่อเปิดปฏิบัติการ
readelf -l example_binary | grep interpreter จะช่วยให้ [Requesting program interpreter: /lib32/ld-linux.so.2], อย่างที่คาดไว้.
ความคิดใดที่ทำให้เกิดเหตุการณ์นี้ / ฉันจะแก้ไขได้อย่างไร
ป.ล. - "ติดตั้งไลบรารีความเข้ากันได้แบบ 32 บิตโดยใช้ sudo apt get ... " ไม่มีประโยชน์เนื่องจากไม่มี apt / pacman / etcetera ถ้าฉันต้องการติดตั้งไลบรารีเฉพาะ (32 บิต) ใหม่การรู้ว่ามันจะมีประโยชน์!
P.p.s - ไฟล์สคริปต์ที่ติดตั้งโดย gcc ที่ /usr/lib{32,64}/libc.so จัดกลุ่มที่เหมาะสม (จริง) libc.so.6 และ libc_nonshared.a ไฟล์ด้วย AS_NEEDED ( /lib32/ld-linux.so.2 ) ) ที่ส่วนท้ายของ lib32