04 ตุลาคม 2548

Opera 8.50 บน OpenSUSE 10.0

หลังจาก Opera 8.50 ประกาศปลดแอ(ก)ดหรือปลอดโฆษณาไปอย่างครึกโครมแล้ว ผมเองก็เป็นคนหนึ่งที่ไม่รีรอที่จะต้องไปทำการดาวน์โหลดมาใช้มั่ง โดยไปดาวน์โหลดที่เวบไซต์ของ Operaโดยตรง โดยเลือกเป็นแบบ RPM ของ SuSE 9.3 กับ Fedora Core 4 เพื่อนำมาติดตั้งบน OpenSUSE 10.0RC1 ตัวโปรด (โดยกะว่าถ้า RPM ของ SuSE 9.3 ใช้ไม่ได้ ก็คงจะใช้ของ Fedora Core 4 ได้ เนื่องจากใช้ gcc เวอร์ชัน 4 เหมือน ๆ กัน)



ดาวน์โหลดเสร็จ ก็จัดแจงติดตั้งโดยแปลงร่างเป็น root กันซะก่อน ตามด้วยคำสั่ง rpm ที่แสนคุ้นเคย


# rpm -Uvh opera-8.50-20050916.5-shared-qt.i386-en.rpm

ได้เมนู Opera มา ก็จัดแจงเรียกโปรแกรม ......

.... เงียบบบบ และ เงียบบบ ..... วะ

ชักสงสัย เปิดคอนโซลขึ้นมาเรียกดูว่ามันแจ้งข้อผิดพลาดอะไร


donga@linux:~> opera
Segmentation fault

-_-" งงเป็นไก่ตาแตก ไรกันเนี่ย ...

เลยจัดการถอดถอนแพ็กเกจ Opera ของ SuSE 9.3 ออก เอาตัวของ Fedora Core 4 มาลงแทน แล้วทดสอบ

... Segmentation fault เหมือนเดิมเด๊ะ ....

โห ฉุน ๆ ๆ พักไว้ก่อนก็ได้ฟ่ะ ใช้ Konqueror ต่อก็ได้ ไม่เห็นง้อ

...

หลังจากทิ้งช่วงไปหลายวัน ก็พบว่าทาง openSUSE ได้จัดทำแพ็กเกจ Opera ของ OpenSUSE 10.0 มาให้แล้ว เลยดาวน์โหลดมาลองของอีกที


donga@linux:~# wget -c http://suse.inode.at/pub/i386/update/10.0/rpm/i586/opera-8.50-2.1.i586.rpm

เรียบร้อย จัดแจงติดตั้งตามกระบวนการเดิม แล้วทดลองโดยมีลุ้นอยู่ในใจ .....

... Segmentation fault .... แป่ววววววว -_-"

ลอง ldd ดู ก็ไม่เห็นว่า opera จะต้องการไลบรารีตัวไหนที่ไม่มีในระบบเพิ่ม

ลอง strace ดู ก็ไม่เห็นว่าจะผิดพลาดอะไร นอกจากคำว่า Segmentation fault ก่อนจบ strace -_-!

...

ชะรอยฟ้ายังต้องเข้าข้างคนดี ;-)

ขณะที่กำลังทดลอง eclipse ที่ติดมากับ openSUSE 10.0 แล้วลองเรียก Help ของ eclipse ขึ้นมา จังหวะหนึ่ง เผอิญเผลอไปคลิ้กที่ลิ้งค์ที่เชื่อมโยงอยู่บนอินเตอร์เน็ตเข้า ...

ปรากฏว่ามันเรียก Opera ขึ้นมาให้อย่างน่าอัศจรรย์ ... โอ คุณแม่ช่วย กล้วยปิ้ง ...

.. ผมไม่รอช้า รีบเรียกส่วนแสดง environment ของ eclipse ขึ้นมาดู (ผ่านกล่องโต้ตอบ About -> ปุ่ม Configuration Details) พบว่า มีส่วนหนึ่งของ java.library.path เป็นส่วนสุดท้ายที่แปลกตา นั่นคือมันชี้ไปยัง /opt/mozilla/lib ด้วย

โอ ไม่รอช้าครับ ปิด eclipse, เปิดคอนโซล ลองเรียก opera จากคอนโซลดูมั่ง


donga@linux:~> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mozilla/lib opera

ปรากฏว่า มันรันได้จริง ๆ ด้วย :D

จากนั้นเข้าไปบ่นใน irc ห้อง #tlwg ซะหน่อย

ก็ได้รับคำแนะนำจากคุณเด่นสินว่า ถ้าอยากรู้ว่ามันต้องการไลบรารีไหนกันแน่ ในเมื่อใช้ทั้ง ldd ก็แล้ว strace ก็แล้ว ก็ยังไม่รู้อยู่ดี ถ้ายังงั้นก็ให้ลองลบไลบรารีในไดเรกทอรี /opt/mozilla/lib ออกทีละตัว ๆ ดูดิ

...เออ.. เข้าท่าแฮะ

ลองไล่ลบไปเรื่อย ๆ จนพบว่ามันต้องการไลบรารี libxpcom.so โอ้ คุณแม่ช่วย.. พับผ่าเหอะ ...



โอเค ก็รู้ปัญหา รู้วิธีแก้ คลายความข้องใจไปได้ :D



สุดท้ายผมใช้การเพิ่มพาธ /opt/mozilla/lib ให้กับ ld.so.conf แล้วสั่ง ldconfig อีกรอบ ก็ใช้การได้ตลอดแล้ว

เย้ ๆ ๆ ๆ อิอิ

ไม่มีความคิดเห็น: