Re: [心得] 裝EDA tools (GLIBC_2.0 not defined問題)
※ [本文轉錄自 Electronics 看板]
作者: zxvc (修行) 看板: Electronics
標題: Re: [心得] 裝EDA tools (GLIBC_2.0 not defined問題)
時間: Fri Aug 21 09:54:30 2009
最近我管理的EDA Linux工作站(Ubuntu 9.04 amd64)將要製作image,
還原到別的工作站。
為了避免有些EDA tools沒設定好、後來才發現的話,
我就必需一台一台改設定,很麻煩。
所以我就開始對每套安裝過的tool作測試,看能不能正常啟動。
不幸的有一套tool - SynTest DFT-PRO Plus 2009.03 (64-bit)有點問題。
DFT-PRO Plus大部分的程式都可以執行,也都是64-bit的版本!?
為什麼我要強調一個64-bit的軟體(組)大多是64-bit?
這是因為,沒想到DFT-PRO Plus 2009.03 64-bit
就是有一個舊軟體是32-bit - TurboCheck-RTL(vlog123) XD
32-bit也沒有關係,反正64-bit OS + 32-bit Libraries應該就可以執行
32-bit application!?
但不幸的一執行vlog123就掛了:
$ vlog123
vlog123: relocation error: vlog123: symbol errno, version GLIBC_2.0
not defined in file libc.so.6 with link time reference
但我用這個指令一看:
$ strings /lib32/libc.so.6|grep GLIBC
的確有GLIBC_2.0啊!
這是我處理過的EDA tools問題中目前最棘手的,
坦白來講我大約在2006-2007年就遇到過這個問題,
當時無解、搜google許多解法也無效,
只好乖乖的灌EDA tools指定的Linux distribution就沒事。
但如今又遇上這個問題,偏偏在我每套tools都搞定、
Linux的環境也設定完畢,才叫我砍掉重練!? T.T
後來不死心,昨天又花了一天的時間,
跟這個問題從早上戰鬥到晚上,不知在google上搜了多少篇有用沒用的文章,
終於在睡覺前搞定了。
要想出解這個問題的方法要有一定的Linux知識、經驗背景,
否則我想我也不太可能會想得出來。
簡單來說的解法如下:
首先要知道Linux上thread libraries主要有兩個,Linuxthread、
Native POSIX Thread Library(NPTL)。Linuxthread是比較舊的。
Ubuntu 6.06(2006年06月)之前支援Linuxthread,
Ubuntu 6.10(2006年10月)之後不支援Linuxthread、只支援NPTL。
---------------------這段有點假設的成分--------------------
許多舊的EDA tools當初在compiled時是去呼叫Linuxthread,
所以拿到一些新的Linux distributions不支援Linuxthread libs就會出問題,
即使有NPTL的libs,ld(dynamic linker)也會當作沒有(用) XD
這也就是上面仍會有GLIBC_2.0 not defined的原因。
-----------------------------------------------------------
解決的方法是,我們裝上支援Linuxthread的舊libraries。
Ubuntu可以去這個地方找到2006年的舊lib:
ftp://free.nchc.org.tw/ubuntu/pool/main/
例如vlog123需要這些packages:
libc6_2.3.6-0ubuntu20_i386.deb
libx11-6_1.0.0-0ubuntu9_i386.deb
libxau6_1.0.0-0ubuntu4_i386.deb
用GNOME的壓縮管理程式解壓這些package後,
只要把lib收集起來丟到同一個目錄(方便管理,如:/lib32old)。
然後設定舊程式(如vlog123)啟動時優先讀這些舊libs的環境變數
(LD_LIBRARY_PATH),再用舊版的ld-linux.so.2去執行vlog123.exe就可以了。
我為了方便,把原先的vlog123改名成vlog123.exe,
然後寫一個script (vlog123)去執行原本的vlog123。如下:
$ cat /usr/cad/syntest/syntest/cur/tc_rtl/bin/vlog123
#!/bin/sh
# Startup script for real vlog123. Written by myh@live.com, 08/21/2009.
LIB32_OLD_PATH=/lib32old
LD_LIBRARY_PATH=${LIB32_OLD_PATH}
${LIB32_OLD_PATH}/ld-linux.so.2 ${VLOG123_HOME}/bin/vlog123.exe $1
真像在這裡:
http://0u28vw.blu.livefilestore.com/y1pqZwa9thyUB8MqrjlCrmuHem-uEzKqM76Y9flM2HBoQNDdmSrsA1TId2u3VNnQ8PsLnxG7ndF-SYyPDmrUbVDWJiDuXu9YNI-/vlog123.png

或
http://tinyurl.com/mn63o5
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.71.31
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.71.31
→
08/21 10:35, , 1F
08/21 10:35, 1F
→
08/21 10:35, , 2F
08/21 10:35, 2F
推
08/21 10:59, , 3F
08/21 10:59, 3F
→
08/21 10:59, , 4F
08/21 10:59, 4F
→
08/21 13:05, , 5F
08/21 13:05, 5F
→
08/21 13:06, , 6F
08/21 13:06, 6F
→
08/21 13:09, , 7F
08/21 13:09, 7F
→
08/21 13:17, , 8F
08/21 13:17, 8F
→
08/21 13:17, , 9F
08/21 13:17, 9F
→
08/21 13:20, , 10F
08/21 13:20, 10F
→
08/21 13:21, , 11F
08/21 13:21, 11F
推
08/21 15:50, , 12F
08/21 15:50, 12F
推
08/22 01:05, , 13F
08/22 01:05, 13F
推
08/23 22:45, , 14F
08/23 22:45, 14F
→
08/24 11:08, , 15F
08/24 11:08, 15F
→
08/24 11:08, , 16F
08/24 11:08, 16F
→
08/24 11:09, , 17F
08/24 11:09, 17F
推
08/24 20:55, , 18F
08/24 20:55, 18F
→
08/24 20:56, , 19F
08/24 20:56, 19F
推
08/24 20:59, , 20F
08/24 20:59, 20F
→
08/24 20:59, , 21F
08/24 20:59, 21F
→
08/24 21:00, , 22F
08/24 21:00, 22F
→
08/24 21:00, , 23F
08/24 21:00, 23F
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章