ดังนั้นฉันติดตั้ง newlib อย่างโง่เขลาและอาจเขียนทับการอ้างอิงถึง glibc ฉันจะกู้คืน glibc ได้อย่างไร


1

ฉันลืมตั้งmake --prefixและฉันคิดว่ามันเขียนถึง / usr / local / โดยค่าเริ่มต้นและตอนนี้ฉันมีข้อผิดพลาดทุกชนิด ฉันใช้อูบุนตู natty เป็นวิธีที่ง่ายที่สุดในการชุบชีวิต glibc อีกครั้ง ฉันพยายามถอนการติดตั้ง / ติดตั้งใหม่โดยใช้apt-getและdkpg-reconfigureใน libglibc2.0-dev แต่ใช้งานไม่ได้ ฉันพยายามดาวน์โหลด glibc จากแหล่งที่มาและให้ข้อผิดพลาด "ขออภัยไม่ได้ใช้งาน: การฝังอินไลน์ล้มเหลวในการโทรไปยัง 'syslog': ไม่สามารถใช้ฟังก์ชั่นร่างกายได้" เห็นได้ชัดว่าฉันต้องสร้าง gcc ใหม่ผ่านส่วนหัวของเคอร์เนลและทำปีศาจทุกประเภทอย่างน้อยที่สุดที่ฉันเข้าใจ

ฉันไม่ต้องการติดตั้งทุกอย่างใหม่หากเป็นไปได้ถ้ามีความช่วยเหลือใด ๆ

แก้ไข : ดูเหมือนว่ามันเขียนทับระหว่างการติดตั้ง /usr/local//lib/libm.a /usr/local//lib/libc.a

$ ldd /bin/ls
linux-vdso.so.1 =>  (0x00007fff453ff000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fdcd202f000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fdcd1e27000)
libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007fdcd1c1e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdcd188a000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdcd1686000)
/lib64/ld-linux-x86-64.so.2 (0x00007fdcd2271000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdcd1467000)
libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007fdcd1262000)

ตามเว็บไซต์นี้เพื่อให้ใช้งานได้ฉันต้องทำการแก้ไขบางอย่างสำหรับสิ่งที่จะไม่ทำลายเมื่อฉันรวบรวม แต่มันจะดีถ้าฉันสามารถยกเลิกความยุ่งเหยิงที่ฉันทำ ฉันขาดความเข้าใจพื้นฐานเกี่ยวกับวิธีการทำงานนี้มากมาย


1
ลองldd /bin/lsก่อนเพื่อดูว่าโปรแกรมนั้นใช้ libc ที่ถูกต้องหรือไม่
Fred Foo

2
คุณสามารถลองบูทโดยใช้แผ่นซีดีติดตั้งในโหมดการกู้คืน แต่ฉันทำได้ใน RHEL เท่านั้น
คอเรย์เฮนเดอร์สัน

1
lsดูเหมือนว่าจะใช้ห้องสมุดจากสถานที่ที่เหมาะสมไม่ใช่จาก/usr/local/libที่ห้องสมุดเหล่านี้ไม่ควรทำอันตรายใด ๆ
Fred Foo

ฉันได้ลองแล้วหลายแหล่งที่ฉันได้รวบรวมมาแล้วก่อนหน้านี้ทำงานได้ดีพวกเขาให้ข้อผิดพลาดเช่น "การอ้างอิงที่ไม่ได้ระบุถึง X" และ "Yh: ปัจจุบัน แต่ไม่สามารถรวบรวมการตรวจสอบสำหรับส่วนหัวที่ขาดหายไปได้?" ฉันจะลอง dpkg-reconfigure - ทั้งหมดและหากล้มเหลวฉันจะลองใช้โหมดการกู้คืน ขอขอบคุณพวกคุณ
ForeverConfused
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.