Sunday, March 12, 2006

upgrade glibc บน Gentoo

มีปัญหากับการลง SBCL(Steel Bank Common Lisp) ซึ่งต้องการใช้ NPTL
ก็เลย emerge glibc ใหม่
ซึ่งก็ไปเจอ message ว่าต้องใช้ USE="nptl nptlonly"
ก็เออออไปตามมัน
ซึ่งก็ไปตายขณะ build โดยฟ้องว่า gcc version เก่าไป
ด้วยความมักง่าย ไม่รู้จักอ่าน (จริงๆแล้วคือค้นใน google)
ก็เลยดุ่มๆไปเรื่อยๆ
upgrade gcc เสร็จ
ใช้ gcc-config switch ไปตัวใหม่ (3.4.5)
ทดสอบโปรแกรมดู พบว่า
โปรแกรม python เกิดปัญหากับ libstdc++.so.5 , run ไม่ได้
ก็เลยพยายาม switch gcc-config กลับ
ปรากฎว่าไม่สำเร็จ
ก็เลยมั่ว set /etc/env.d/xxgcc เอง
set ให้ ld path มันชี้ไปที่ libstdc++ ตัวเก่า
เพื่อให้มัน run python ให้ได้ก่อน (emerge ใช้ python)

จากนั้นก็เลยค้น google เจอ Gentoo Linux GCC Upgrade Guide
พยายามทำไปตามที่เขาว่า แต่ไปตายตรง revdep-rebuild
มันฟ้องว่า บาง ebuild มันหายไป

เมื่อไม่รู้ว่าจะทำอะไรต่อแล้ว
ก็เลยมั่วต่อ สั่ง emerge glibc ตัวใหม่จนสำเร็จ
ทดลอง run SBCL
สำเร็จแฮะ run ได้

แต่เมื่อทดลอง startx
ก็พบ error

x relocation error: X symbol --guard, version GLIBC.2.3.2 not defined in file libc.so.6
with link time reference]

ค้น google ดูพบ forum ที่อุทิศเพื่อเรื่องนี้ (5 หน้า)
x relocation error

หลังจากนั่่งอ่านอยู่พักใหญ่ พยายามทำความเข้าใจ
(ระหว่างนั้นก็สั่ง download Gentoo livecd-2006.0 ไว้ก่อนเลย)
สุดท้ายก็เลือกลงใหม่ดีกว่า
เพราะ คิดว่าถ้ามั่วไปเรื่อยๆ อาจจะเสียเวลามากกว่า ลงใหม่ทีเดียว

Related link from Roti

2 comments:

Isriya said...

Gentoo แรกๆ จะสนุกดี แต่หลังๆ พอเจอปัญหาเยอะๆ ก็จะขี้เกียจ+เหนื่อย

PPhetra said...

:)
เริ่มดูลู่ทางแล้ว
ว่าจะขยับขยาย(หนี)ไปไหนดี