glibc、crtbegin.o問題 問題:受系統安裝的gcc編譯器版本的影響,安裝pgi有時候會遇 到,例如我在安裝pgi7.0-5時出現 ERROR: unknown glibc version (2.4),或者還有朋友遇到安裝完畢後用pgf90編譯fortran程序提示找不到crtbegin.o文件,這屬於同一問題。 具體原因: 由於安裝文件中的makelocalrc不能正確生成localrc,所以pgi不能正常工作,這與使用哪個發行版無關. 解決方案: 以我的系統為例,我用ubuntu edgy,安裝pgi 7.0 1.手動編寫一個文本文件localrc,放在/usr/pgi/linux86-64/7.0/bin目錄下 set LFC=-lgfortran; set LDSO=/lib64/ld-linux-x86-64.so.2; set GCCDIR=/usr/lib/gcc/x86_64-redhat-linux/4.1.2; set GCCINC=/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include; set G77DIR=""; set OEM_INFO=64-bit target on x86-64 Linux; set LOCALRC=YES; set THROW=__THROW=; set EXTENSION=__extension__=; set LC=$if(-Bstatic,-lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc, -lgcc -lc -lgcc); # GLIBC version 2.7 # GCC version 4.1.2 export PGI=/usr/local/pgi; # makelocalrc executed by root 2008年 08月 17日 星期日 這一方案簡單有效 2.用如下文件替換安裝目錄中的makelocalrc文件,然後重新安裝(該文件需要設置為可執行) 修改 /usr/pgi/linux86-64/7.0/bin/makelocalrc: .............................................. ################################evision GLIBC_VERSION=2.7 #$x else GLIBC_VERSION=2.7 ## 原來空的 ################### ............................. }####################adding the module 2.7 ) glibc=27 LIB=lib-linux86-g232 LIBLF=$LIB-lf INC=include-g23 ;; ############################ 2.* ) echo "Unknown glibc version ($GLIBC_VERSION); treating like 2.4" glibc=232 LIB=lib-linux86-g232 LIBLF=$LIB-lf INC=include-g23 ;; * ) echo "ERROR: unknown glibc version ($GLIBC_VERSION)." quit 1 ;; .......................... #####################revsion #gccbase=`"$gcc" -print-search-dirs | sed -e 's/^install: //' -e 's/\/$//' -e 1q` #if test -d "$gccbase"$subdir ; then # GCCDIR="$gccbase$subdir" #fi #gccversion=`"$gcc" -dumpversion` ##############################revsion libgcc=`$gcc -print-libgcc-file-name` gccbase=`dirname $libgcc` GCCDIR="$gccbase$subdir" ##自己加的 gccversion=`basename $gccbase` ################################### ............................... quit 0 修改完后保存 (1)把/usr/local/pgi/linux86/7.0/include-g* 拷貝到/usr/local/pgi/linux86-64/7.0/下 (2)把/usr/local/pgi/linux86/7.0/lib/libpgbind_real.a 拷貝/usr/local/pgi/linux86-64/7.0/libso/ (3)把/usr/local/pgi/linux86/7.0/lib/libpgbind_real.so 拷貝到/usr/local/pgi/linux86-64/7.0/libso/ (4) ./makelocalrc -x /usr/local/pgi/linux86-64/7.0/bin ok,大功告成,期待的locarc終於生成了,pgf90也能順利運行了。
[火星人
]
FC8 64bit pgi 安裝問題 已經有301 次圍觀
本文地址: http://coctec.com/docs/linux/show-post-164655.html