ฉันจะสร้าง gcc รุ่นเก่า (โดยเฉพาะ 4.5.2) บน Ubuntu 11.10 ได้อย่างไรและหลีกเลี่ยงข้อผิดพลาดเกี่ยวกับ "/ usr / bin / ld: ไม่พบ crti.o: ไม่มีไฟล์หรือไดเรกทอรี"
ฉันขุดนิดหน่อยและพบสิ่งที่คล้ายกันหลายอย่าง แต่ไม่มีใครแก้ปัญหาได้จริง:
- ฉันได้ตรวจสอบแพคเกจทั้งหมดของฉัน (libc6-dev และอื่น ๆ ) ติดตั้งใหม่ตามคำถามนี้
- ฉันได้ตรวจสอบ crti.o แล้วใน / usr / lib32 และ / usr / lib / x86_64-linux-gnu และ ld.so.conf ของฉันถูกกำหนดค่าให้ค้นหาในไดเรกทอรีเหล่านั้น
- ฉันได้ตรวจสอบแล้วว่าการทำคำขอร้องให้ทำด้วย LIBRARY_PATH = / usr / lib / x86_64-linux-gnu ทำงานได้ แต่ต้องการหลีกเลี่ยงปัญหานี้ (มันจะกลายเป็นจุดแยกใน makefiles)
- ฉันได้ลองทำสิ่งต่าง ๆ ด้วย - กับ-build-sysroot แต่ไม่ประสบความสำเร็จ (อ่าน: บางทีฉันอาจไม่รู้ธงที่เหมาะสมที่จะตั้ง)
เมื่อทำงานกับ strace (ตามคำตอบนี้ ) ฉันสามารถดูการอ้างอิงเปลือยกับ crti.o:
13240 open ("crti.o", O_RDONLY) = -1 ENOENT (ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว)
ขอบคุณ!